TechnoteTable#

pydantic model technote.config.TechnoteTable#

The root table for technote configuration, [technote] in technote.toml (TechnoteToml).

Parameters:

data (Any) –

Show JSON schema
{
   "title": "TechnoteTable",
   "description": "The root table for technote configuration, ``[technote]`` in\n``technote.toml`` (`TechnoteToml`).",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "description": "An internal identifier for the technote.",
         "examples": "SQR-000",
         "type": "string"
      },
      "series_id": {
         "title": "Series Id",
         "description": "An internal identifier for a series this technote belongs to.",
         "examples": "SQR",
         "type": "string"
      },
      "date_created": {
         "title": "Date Created",
         "description": "Date when the technote was created.",
         "type": "string",
         "format": "date"
      },
      "date_updated": {
         "title": "Date Updated",
         "description": "Date when the technote was updated.",
         "type": "string",
         "format": "date"
      },
      "version": {
         "title": "Version",
         "description": "The current version of the technote.",
         "type": "string"
      },
      "doi": {
         "title": "Doi",
         "description": "The most-relevant DOI that identifies this technote. This can be a pre-registerered DOI (i.e. for Zenodo) so that the DOI can be present in the released technote source.",
         "type": "string"
      },
      "title": {
         "title": "Title",
         "description": "The technote's title. Normally the title is derived from the document's source.",
         "type": "string"
      },
      "canonical_url": {
         "title": "Canonical Url",
         "description": "The URL where this technote is published.",
         "examples": "https://sqr-000.lsst.io",
         "minLength": 1,
         "maxLength": 2083,
         "format": "uri",
         "type": "string"
      },
      "github_url": {
         "title": "Github Url",
         "description": "The URL of the GitHub repository hosting this technote.",
         "minLength": 1,
         "maxLength": 2083,
         "format": "uri",
         "type": "string"
      },
      "github_default_branch": {
         "title": "Github Default Branch",
         "description": "The default branch of the GitHub repository.",
         "default": "main",
         "type": "string"
      },
      "status": {
         "title": "Status",
         "description": "The status of the technote.",
         "allOf": [
            {
               "$ref": "#/definitions/TechnoteStatus"
            }
         ]
      },
      "license": {
         "title": "License",
         "description": "The specification of a content license.",
         "allOf": [
            {
               "$ref": "#/definitions/LicenseTable"
            }
         ]
      },
      "authors": {
         "title": "Authors",
         "description": "The authors of the technote.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/Person"
         }
      },
      "contributors": {
         "title": "Contributors",
         "description": "Additional persons involved.",
         "type": "array",
         "items": {
            "$ref": "#/definitions/Contributor"
         }
      },
      "sphinx": {
         "$ref": "#/definitions/SphinxTable"
      }
   },
   "definitions": {
      "TechnoteState": {
         "title": "TechnoteState",
         "description": "Standardized states for a technote.\n\n.. mermaid::\n\n   flowchart LR\n     planning --> active\n     active --> stable\n     stable --> active\n     stable --> deprecated\n     active --> deprecated",
         "enum": [
            "planning",
            "active",
            "stable",
            "deprecated",
            "other"
         ],
         "type": "string"
      },
      "TechnoteStatus": {
         "title": "TechnoteStatus",
         "description": "A model for the technote's status.\n\nStatus is intended to describe whether a document is in planning,\nactive writing, stable, or deprecated/supersceded stages of its lifecycle.\nIt's not intended for fine-grained status, such as describing a work ticket\nthat's in progress or in review.",
         "type": "object",
         "properties": {
            "state": {
               "description": "The state of a document, from a controlled vocabulary.",
               "allOf": [
                  {
                     "$ref": "#/definitions/TechnoteState"
                  }
               ]
            },
            "note": {
               "title": "Note",
               "description": "An explanation of the state.",
               "type": "string"
            },
            "supersceding_urls": {
               "title": "Supersceding Urls",
               "description": "URLs to documents/webpages that superscede this technote.",
               "type": "array",
               "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2083,
                  "format": "uri"
               }
            }
         },
         "required": [
            "state"
         ]
      },
      "LicenseTable": {
         "title": "LicenseTable",
         "description": "A model for ``[technote.license]`` in ``technote.toml``, which\ndescribes the content's license.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "The SPDX license ID. See https://spdx.org/licenses/.",
               "examples": "CC-BY-SA-4.0",
               "type": "string"
            }
         },
         "required": [
            "id"
         ]
      },
      "PersonName": {
         "title": "PersonName",
         "description": "A person's name.",
         "type": "object",
         "properties": {
            "family_names": {
               "title": "Family Names",
               "description": "The person's family name (last name in western culture).",
               "type": "string"
            },
            "given_names": {
               "title": "Given Names",
               "description": "The person's given name (first name in western culture).",
               "type": "string"
            },
            "name": {
               "title": "Name",
               "description": "The person's name, an alternative to specifying surname and given names.",
               "type": "string"
            }
         }
      },
      "Organization": {
         "title": "Organization",
         "description": "Model for describing an organization (often as an affiliation).",
         "type": "object",
         "properties": {
            "internal_id": {
               "title": "Internal Id",
               "description": "A user-specific identifier for an organization.",
               "type": "string"
            },
            "ror": {
               "title": "Ror",
               "description": "The ROR (ror.org) identifier of the institution.",
               "minLength": 1,
               "maxLength": 2083,
               "format": "uri",
               "type": "string"
            },
            "name": {
               "title": "Name",
               "description": "The display name of the institution.",
               "type": "string"
            },
            "address": {
               "title": "Address",
               "description": "The address of the institution.",
               "type": "string"
            },
            "url": {
               "title": "Url",
               "description": "The homepage of the institution.",
               "minLength": 1,
               "maxLength": 2083,
               "format": "uri",
               "type": "string"
            }
         }
      },
      "Person": {
         "title": "Person",
         "description": "Model for describing a person related to the technote.",
         "type": "object",
         "properties": {
            "name": {
               "$ref": "#/definitions/PersonName"
            },
            "internal_id": {
               "title": "Internal Id",
               "description": "An internal identifier for the person.",
               "type": "string"
            },
            "orcid": {
               "title": "Orcid",
               "description": "The ORCiD of the person (https://orcid.org).",
               "minLength": 1,
               "maxLength": 2083,
               "format": "uri",
               "type": "string"
            },
            "affiliations": {
               "title": "Affiliations",
               "description": "The person's affiliations.",
               "type": "array",
               "items": {
                  "$ref": "#/definitions/Organization"
               }
            },
            "email": {
               "title": "Email",
               "description": "Contact email associated with the person.",
               "type": "string",
               "format": "email"
            }
         },
         "required": [
            "name"
         ]
      },
      "ZenodoRole": {
         "title": "ZenodoRole",
         "description": "The role of a contributor in a Zenodo record.",
         "enum": [
            "ContactPerson",
            "DataCollector",
            "DataCurator",
            "DataManager",
            "Distributor",
            "Editor",
            "Funder",
            "HostingInstitution",
            "Producer",
            "ProjectLeader",
            "ProjectManager",
            "ProjectMember",
            "RegistrationAgency",
            "RegistrationAuthority",
            "RelatedPerson",
            "Researcher",
            "ResearchGroup",
            "RightsHolder",
            "Supervisor",
            "Sponsor",
            "WorkPackageLeader",
            "Other"
         ],
         "type": "string"
      },
      "Contributor": {
         "title": "Contributor",
         "description": "Data about a contributor.\n\nA ``Contributor`` is the same as a ``Person``, with the addition of the\n`role` attribute.",
         "type": "object",
         "properties": {
            "name": {
               "$ref": "#/definitions/PersonName"
            },
            "internal_id": {
               "title": "Internal Id",
               "description": "An internal identifier for the person.",
               "type": "string"
            },
            "orcid": {
               "title": "Orcid",
               "description": "The ORCiD of the person (https://orcid.org).",
               "minLength": 1,
               "maxLength": 2083,
               "format": "uri",
               "type": "string"
            },
            "affiliations": {
               "title": "Affiliations",
               "description": "The person's affiliations.",
               "type": "array",
               "items": {
                  "$ref": "#/definitions/Organization"
               }
            },
            "email": {
               "title": "Email",
               "description": "Contact email associated with the person.",
               "type": "string",
               "format": "email"
            },
            "role": {
               "description": "the contributor's role.",
               "allOf": [
                  {
                     "$ref": "#/definitions/ZenodoRole"
                  }
               ]
            },
            "note": {
               "title": "Note",
               "description": "Note describing the contribution.",
               "type": "string"
            }
         },
         "required": [
            "name"
         ]
      },
      "IntersphinxTable": {
         "title": "IntersphinxTable",
         "description": "Intersphinx configuration in the ``[technote.sphinx]`` table.",
         "type": "object",
         "properties": {
            "projects": {
               "title": "Projects",
               "description": "Mapping of projects and their URLs.",
               "type": "object",
               "additionalProperties": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2083,
                  "format": "uri"
               }
            }
         }
      },
      "LinkcheckTable": {
         "title": "LinkcheckTable",
         "description": "Linkcheck builder configurations in the ``[technote.sphinx]`` table.",
         "type": "object",
         "properties": {
            "ignore": {
               "title": "Ignore",
               "description": "Regular expressions of URLs to skip checking links",
               "type": "array",
               "items": {
                  "type": "string"
               }
            }
         }
      },
      "SphinxTable": {
         "title": "SphinxTable",
         "description": "The ``[technote.sphinx]`` table permits Sphinx project configuration.",
         "type": "object",
         "properties": {
            "nitpicky": {
               "title": "Nitpicky",
               "description": "Escalate warnings to build errors.",
               "default": false,
               "type": "boolean"
            },
            "nitpick_ignore": {
               "title": "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).",
               "type": "array",
               "items": {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "items": [
                     {
                        "type": "string"
                     },
                     {
                        "type": "string"
                     }
                  ]
               }
            },
            "nitpick_ignore_regex": {
               "title": "Nitpick Ignore Regex",
               "description": "Same as ``nitpick_ignore``, but both type and target are interpreted as regular expressions.",
               "type": "array",
               "items": {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "items": [
                     {
                        "type": "string"
                     },
                     {
                        "type": "string"
                     }
                  ]
               }
            },
            "extensions": {
               "title": "Extensions",
               "description": "Additional Sphinx extensions to use in the build.",
               "type": "array",
               "items": {
                  "type": "string"
               }
            },
            "intersphinx": {
               "title": "Intersphinx",
               "description": "Intersphinx configurations.",
               "allOf": [
                  {
                     "$ref": "#/definitions/IntersphinxTable"
                  }
               ]
            },
            "linkcheck": {
               "title": "Linkcheck",
               "description": "Link check builder settings.",
               "allOf": [
                  {
                     "$ref": "#/definitions/LinkcheckTable"
                  }
               ]
            }
         }
      }
   }
}

Fields:
field authors: List[Person] [Optional]#

The authors of the technote.

field canonical_url: Optional[HttpUrl] = None#

The URL where this technote is published.

Constraints:
  • minLength = 1

  • maxLength = 2083

  • format = uri

field contributors: List[Contributor] [Optional]#

Additional persons involved.

field date_created: Optional[date] = None#

Date when the technote was created.

field date_updated: Optional[date] = None#

Date when the technote was updated.

field doi: Optional[str] = None#

The most-relevant DOI that identifies this technote. This can be a pre-registerered DOI (i.e. for Zenodo) so that the DOI can be present in the released technote source.

field github_default_branch: str = 'main'#

The default branch of the GitHub repository.

field github_url: Optional[HttpUrl] = None#

The URL of the GitHub repository hosting this technote.

Constraints:
  • minLength = 1

  • maxLength = 2083

  • format = uri

field id: Optional[str] = None#

An internal identifier for the technote.

field license: Optional[LicenseTable] = None#

The specification of a content license.

field series_id: Optional[str] = None#

An internal identifier for a series this technote belongs to.

field sphinx: SphinxTable [Optional]#
field status: Optional[TechnoteStatus] = None#

The status of the technote.

field title: Optional[str] = None#

The technote’s title. Normally the title is derived from the document’s source.

field version: Optional[str] = None#

The current version of the technote.