ConfigRoot

pydantic model documenteer.conf._toml.ConfigRoot

The root model for a documenteer.toml configuration file.

Parameters:

data (Any)

Show JSON schema
{
   "title": "ConfigRoot",
   "description": "The root model for a documenteer.toml configuration file.",
   "type": "object",
   "properties": {
      "project": {
         "$ref": "#/$defs/ProjectModel"
      },
      "sphinx": {
         "anyOf": [
            {
               "$ref": "#/$defs/SphinxModel"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "IntersphinxModel": {
         "description": "Model for Intersphinx configurations in documenteer.toml.",
         "properties": {
            "projects": {
               "additionalProperties": {
                  "format": "uri",
                  "maxLength": 2083,
                  "minLength": 1,
                  "type": "string"
               },
               "description": "Mapping of projects and their URLs.",
               "title": "Projects",
               "type": "object"
            }
         },
         "title": "IntersphinxModel",
         "type": "object"
      },
      "LinkCheckModel": {
         "description": "Model for linkcheck builder configurations in documenteer.toml.",
         "properties": {
            "ignore": {
               "description": "Regular expressions of URLs to skip checking links",
               "items": {
                  "type": "string"
               },
               "title": "Ignore",
               "type": "array"
            }
         },
         "title": "LinkCheckModel",
         "type": "object"
      },
      "OpenApiDocsModel": {
         "description": "Model for OpenAPI documentation configurations in documenteer.toml.",
         "properties": {
            "generator": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/OpenApiGeneratorModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The function that generates the OpenAPI spec file from theapplication source code. If not specified, the OpenAPI spec file assumed to be generated by an external process and provided at the path specified by ``openapi_path``."
            },
            "openapi_path": {
               "default": "_static/openapi.json",
               "description": "This is the path, relative to the Sphinx conf.py file, where the OpenAPI spec file is written. Default is ``_static/openapi.json``.",
               "title": "Openapi Path",
               "type": "string"
            },
            "doc_path": {
               "default": "api",
               "title": "Doc Path",
               "type": "string"
            }
         },
         "title": "OpenApiDocsModel",
         "type": "object"
      },
      "OpenApiGeneratorModel": {
         "description": "Specification for the OpenAPI generator function used by the\n``documenteer.ext.openapi`` Sphinx extension.",
         "properties": {
            "function": {
               "description": "The Python function that generates the OpenAPI spec file. It must have the form ``module:func``. The function must return a JSON-serialized string.",
               "title": "Function",
               "type": "string"
            },
            "positional_args": {
               "description": "Positional arguments to pass to the generator function.",
               "items": {},
               "title": "Positional Args",
               "type": "array"
            },
            "keyword_args": {
               "description": "Keyword arguments to pass to the generator function.",
               "title": "Keyword Args",
               "type": "object"
            }
         },
         "required": [
            "function"
         ],
         "title": "OpenApiGeneratorModel",
         "type": "object"
      },
      "ProjectModel": {
         "description": "Model for the project table in the documenteer.toml file.",
         "properties": {
            "title": {
               "description": "Name of the project, used as titles throughout the documentation site.",
               "title": "Title",
               "type": "string"
            },
            "base_url": {
               "anyOf": [
                  {
                     "format": "uri",
                     "maxLength": 2083,
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Canonical URL of the site's root page.",
               "title": "Base Url"
            },
            "copyright": {
               "default": "",
               "description": "Copyright statement, without a 'copyright' prefix word.",
               "title": "Copyright",
               "type": "string"
            },
            "github_url": {
               "anyOf": [
                  {
                     "format": "uri",
                     "maxLength": 2083,
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The URL of the project's GitHub repository.",
               "title": "Github Url"
            },
            "github_default_branch": {
               "default": "main",
               "description": "The project's default development branch on GitHub.",
               "title": "Github Default Branch",
               "type": "string"
            },
            "version": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Version string.",
               "title": "Version"
            },
            "python": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/PythonPackageModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "openapi": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/OpenApiDocsModel"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "title"
         ],
         "title": "ProjectModel",
         "type": "object"
      },
      "PythonPackageModel": {
         "description": "Model for a Python package (i.e. built with pyproject.toml-compatible\nbuild system.",
         "properties": {
            "package": {
               "description": "Package name",
               "title": "Package",
               "type": "string"
            },
            "documentation_url_key": {
               "default": "Homepage",
               "description": "Key for the documentation URL in the pyproject.toml [project.urls] table. The corresponding URL is used for the Sphinx html_baseurl configuration, which in turns sets the canonical URL link relation on the web pages.",
               "title": "Documentation Url Key",
               "type": "string"
            },
            "github_url_key": {
               "default": "Source",
               "description": "Key for the documentation URL in the pyproject.toml [project.urls] table. The corresponding URL is used for as an alternative to setting [project.github_url].",
               "title": "Github Url Key",
               "type": "string"
            }
         },
         "required": [
            "package"
         ],
         "title": "PythonPackageModel",
         "type": "object"
      },
      "SphinxModel": {
         "description": "Model for Sphinx configurations in documenteer.toml.",
         "properties": {
            "rst_epilog_file": {
               "anyOf": [
                  {
                     "format": "file-path",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Path to a reStructuredText file that is added to every source file. Use this file to define common links and substitutions.",
               "title": "Rst Epilog File"
            },
            "extensions": {
               "description": "Additional Sphinx extension.",
               "items": {
                  "type": "string"
               },
               "title": "Extensions",
               "type": "array"
            },
            "nitpicky": {
               "default": false,
               "description": "Escalate warnings to build errors.",
               "title": "Nitpicky",
               "type": "boolean"
            },
            "nitpick_ignore": {
               "description": "Errors to ignore. First item is the type (like a role or directive) and the second is the target (like the argument to the role).",
               "items": {
                  "maxItems": 2,
                  "minItems": 2,
                  "prefixItems": [
                     {
                        "type": "string"
                     },
                     {
                        "type": "string"
                     }
                  ],
                  "type": "array"
               },
               "title": "Nitpick Ignore",
               "type": "array"
            },
            "nitpick_ignore_regex": {
               "description": "Same as ``nitpick_ignore``, but both type and target are interpreted as regular expressions.",
               "items": {
                  "maxItems": 2,
                  "minItems": 2,
                  "prefixItems": [
                     {
                        "type": "string"
                     },
                     {
                        "type": "string"
                     }
                  ],
                  "type": "array"
               },
               "title": "Nitpick Ignore Regex",
               "type": "array"
            },
            "disable_primary_sidebars": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Pages that should not have a primary sidebar. Can be the page's path (without extension) or a glob of pages. By default the homepage and change logs do not have a primary sidebar.",
               "title": "Disable Primary Sidebars"
            },
            "python_api_dir": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Directory path where the Python API reference documentation is created.",
               "title": "Python Api Dir"
            },
            "exclude": {
               "description": "List of paths to exclude from being considered as Sphinx content sources.",
               "items": {
                  "type": "string"
               },
               "title": "Exclude",
               "type": "array"
            },
            "theme": {
               "$ref": "#/$defs/ThemeModel"
            },
            "intersphinx": {
               "$ref": "#/$defs/IntersphinxModel"
            },
            "linkcheck": {
               "$ref": "#/$defs/LinkCheckModel"
            },
            "redirects": {
               "additionalProperties": {
                  "type": "string"
               },
               "description": "Mapping of paths to redirect to other paths. These redirects are implemented with sphinx-rediraffe.",
               "title": "Redirects",
               "type": "object"
            }
         },
         "title": "SphinxModel",
         "type": "object"
      },
      "ThemeModel": {
         "description": "Model for theme configurations in documenteer.toml.",
         "properties": {
            "show_github_edit_link": {
               "default": true,
               "description": "Show a link to edit on GitHub if True",
               "title": "Show Github Edit Link",
               "type": "boolean"
            },
            "header_links_before_dropdown": {
               "default": 5,
               "description": "Number of links in the header nav before showing a 'More' dropdown.",
               "title": "Header Links Before Dropdown",
               "type": "integer"
            }
         },
         "title": "ThemeModel",
         "type": "object"
      }
   },
   "required": [
      "project"
   ]
}

Fields:
field project: ProjectModel [Required]
field sphinx: SphinxModel | None = None