TechnoteTable

pydantic model technote.sources.tomlsettings.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": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An internal identifier for the technote.",
         "examples": [
            "SQR-000"
         ],
         "title": "Id"
      },
      "series_id": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "An internal identifier for a series this technote belongs to.",
         "examples": [
            "SQR"
         ],
         "title": "Series Id"
      },
      "organization": {
         "anyOf": [
            {
               "$ref": "#/$defs/Organization"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The organization that publishes the technote series."
      },
      "date_created": {
         "anyOf": [
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "format": "date",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Date and time when the technote was created.",
         "title": "Date Created"
      },
      "date_updated": {
         "anyOf": [
            {
               "format": "date-time",
               "type": "string"
            },
            {
               "format": "date",
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Date when the technote was updated.",
         "title": "Date Updated"
      },
      "version": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The current version of the technote.",
         "title": "Version"
      },
      "doi": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "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.",
         "title": "Doi"
      },
      "title": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The technote's title. Normally the title is derived from the document's source.",
         "title": "Title"
      },
      "canonical_url": {
         "anyOf": [
            {
               "format": "uri",
               "maxLength": 2083,
               "minLength": 1,
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The URL where this technote is published.",
         "examples": [
            "https://sqr-000.lsst.io/"
         ],
         "title": "Canonical Url"
      },
      "github_url": {
         "anyOf": [
            {
               "format": "uri",
               "maxLength": 2083,
               "minLength": 1,
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The URL of the GitHub repository hosting this technote.",
         "title": "Github Url"
      },
      "github_default_branch": {
         "default": "main",
         "description": "The default branch of the GitHub repository.",
         "title": "Github Default Branch",
         "type": "string"
      },
      "status": {
         "anyOf": [
            {
               "$ref": "#/$defs/TechnoteStatus"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The status of the technote."
      },
      "license": {
         "anyOf": [
            {
               "$ref": "#/$defs/LicenseTable"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The specification of a content license."
      },
      "authors": {
         "description": "The authors of the technote.",
         "items": {
            "$ref": "#/$defs/Person"
         },
         "title": "Authors",
         "type": "array"
      },
      "contributors": {
         "description": "Additional persons involved.",
         "items": {
            "$ref": "#/$defs/Contributor"
         },
         "title": "Contributors",
         "type": "array"
      },
      "sphinx": {
         "$ref": "#/$defs/SphinxTable"
      }
   },
   "$defs": {
      "Contributor": {
         "description": "Data about a contributor.\n\nA ``Contributor`` is the same as a ``Person``, with the addition of the\n`role` attribute.",
         "properties": {
            "name": {
               "$ref": "#/$defs/PersonName"
            },
            "internal_id": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An internal identifier for the person.",
               "title": "Internal Id"
            },
            "orcid": {
               "anyOf": [
                  {
                     "format": "uri",
                     "maxLength": 2083,
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The ORCiD of the person (https://orcid.org).",
               "title": "Orcid"
            },
            "affiliations": {
               "description": "The person's affiliations.",
               "items": {
                  "$ref": "#/$defs/Organization"
               },
               "title": "Affiliations",
               "type": "array"
            },
            "email": {
               "anyOf": [
                  {
                     "format": "email",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Contact email associated with the person.",
               "title": "Email"
            },
            "role": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ZenodoRole"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "the contributor's role."
            },
            "note": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Note describing the contribution.",
               "title": "Note"
            }
         },
         "required": [
            "name"
         ],
         "title": "Contributor",
         "type": "object"
      },
      "IntersphinxTable": {
         "description": "Intersphinx configuration in the ``[technote.sphinx]`` table.",
         "properties": {
            "projects": {
               "additionalProperties": {
                  "format": "uri",
                  "maxLength": 2083,
                  "minLength": 1,
                  "type": "string"
               },
               "description": "Mapping of projects and their URLs.",
               "title": "Projects",
               "type": "object"
            }
         },
         "title": "IntersphinxTable",
         "type": "object"
      },
      "LicenseTable": {
         "description": "A model for ``[technote.license]`` in ``technote.toml``, which\ndescribes the content's license.",
         "properties": {
            "id": {
               "description": "The SPDX license ID. See https://spdx.org/licenses/.",
               "examples": [
                  "CC-BY-SA-4.0"
               ],
               "title": "Id",
               "type": "string"
            }
         },
         "required": [
            "id"
         ],
         "title": "LicenseTable",
         "type": "object"
      },
      "Link": {
         "description": "A model for a web link.",
         "properties": {
            "url": {
               "description": "The URL of the link.",
               "format": "uri",
               "maxLength": 2083,
               "minLength": 1,
               "title": "Url",
               "type": "string"
            },
            "title": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The title of the link, if available.",
               "title": "Title"
            }
         },
         "required": [
            "url"
         ],
         "title": "Link",
         "type": "object"
      },
      "LinkcheckTable": {
         "description": "Linkcheck builder configurations in the ``[technote.sphinx]`` table.",
         "properties": {
            "ignore": {
               "description": "Regular expressions of URLs to skip checking links",
               "items": {
                  "type": "string"
               },
               "title": "Ignore",
               "type": "array"
            }
         },
         "title": "LinkcheckTable",
         "type": "object"
      },
      "Organization": {
         "description": "Model for describing an organization (often as an affiliation).",
         "properties": {
            "internal_id": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "A user-specific identifier for an organization.",
               "title": "Internal Id"
            },
            "ror": {
               "anyOf": [
                  {
                     "format": "uri",
                     "maxLength": 2083,
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The ROR (ror.org) identifier of the institution.",
               "title": "Ror"
            },
            "name": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The display name of the institution.",
               "title": "Name"
            },
            "address": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The address of the institution.",
               "title": "Address"
            },
            "url": {
               "anyOf": [
                  {
                     "format": "uri",
                     "maxLength": 2083,
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The homepage of the institution.",
               "title": "Url"
            }
         },
         "title": "Organization",
         "type": "object"
      },
      "Person": {
         "description": "Model for describing a person related to the technote.",
         "properties": {
            "name": {
               "$ref": "#/$defs/PersonName"
            },
            "internal_id": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An internal identifier for the person.",
               "title": "Internal Id"
            },
            "orcid": {
               "anyOf": [
                  {
                     "format": "uri",
                     "maxLength": 2083,
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The ORCiD of the person (https://orcid.org).",
               "title": "Orcid"
            },
            "affiliations": {
               "description": "The person's affiliations.",
               "items": {
                  "$ref": "#/$defs/Organization"
               },
               "title": "Affiliations",
               "type": "array"
            },
            "email": {
               "anyOf": [
                  {
                     "format": "email",
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Contact email associated with the person.",
               "title": "Email"
            }
         },
         "required": [
            "name"
         ],
         "title": "Person",
         "type": "object"
      },
      "PersonName": {
         "description": "A person's name.",
         "properties": {
            "family": {
               "description": "The person's family name (last name in western culture).",
               "title": "Family",
               "type": "string"
            },
            "given": {
               "description": "The person's given name (first name in western culture).",
               "title": "Given",
               "type": "string"
            }
         },
         "required": [
            "family",
            "given"
         ],
         "title": "PersonName",
         "type": "object"
      },
      "SphinxTable": {
         "description": "The ``[technote.sphinx]`` table permits Sphinx project configuration.",
         "properties": {
            "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"
            },
            "extensions": {
               "description": "Additional Sphinx extensions to use in the build.",
               "items": {
                  "type": "string"
               },
               "title": "Extensions",
               "type": "array"
            },
            "intersphinx": {
               "allOf": [
                  {
                     "$ref": "#/$defs/IntersphinxTable"
                  }
               ],
               "description": "Intersphinx configurations."
            },
            "linkcheck": {
               "allOf": [
                  {
                     "$ref": "#/$defs/LinkcheckTable"
                  }
               ],
               "description": "Link check builder settings."
            }
         },
         "title": "SphinxTable",
         "type": "object"
      },
      "TechnoteState": {
         "description": "Standardized states for a technote.\n\n.. mermaid::\n\n   flowchart LR\n     draft --> stable\n     stable --> draft\n     stable --> deprecated\n     draft --> deprecated",
         "enum": [
            "draft",
            "stable",
            "deprecated",
            "other"
         ],
         "title": "TechnoteState",
         "type": "string"
      },
      "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.",
         "properties": {
            "state": {
               "allOf": [
                  {
                     "$ref": "#/$defs/TechnoteState"
                  }
               ],
               "description": "The state of a document, from a controlled vocabulary."
            },
            "note": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "An explanation of the state.",
               "title": "Note"
            },
            "supersceding_urls": {
               "description": "URLs to documents/webpages that superscede this technote.",
               "items": {
                  "$ref": "#/$defs/Link"
               },
               "title": "Supersceding Urls",
               "type": "array"
            }
         },
         "required": [
            "state"
         ],
         "title": "TechnoteStatus",
         "type": "object"
      },
      "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"
         ],
         "title": "ZenodoRole",
         "type": "string"
      }
   }
}

Fields:
Validators:
field authors: list[Person] [Optional]

The authors of the technote.

field canonical_url: HttpUrl | None = None

The URL where this technote is published.

field contributors: list[Contributor] [Optional]

Additional persons involved.

field date_created: datetime | date | None = None

Date and time when the technote was created.

Validated by:
  • normalize_datetime

field date_updated: datetime | date | None = None

Date when the technote was updated.

Validated by:
  • normalize_datetime

field doi: str | None = 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: HttpUrl | None = None

The URL of the GitHub repository hosting this technote.

field id: str | None = None

An internal identifier for the technote.

field license: LicenseTable | None = None

The specification of a content license.

field organization: Organization | None = None

The organization that publishes the technote series.

field series_id: str | None = None

An internal identifier for a series this technote belongs to.

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

The status of the technote.

field title: str | None = None

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

field version: str | None = None

The current version of the technote.

property date_created_datetime: datetime | None

The date_created as a datetime.

property date_updated_datetime: datetime | None

The date_updatd as a datetime.