TechnoteToml#
- pydantic model technote.config.TechnoteToml#
A model of a
technote.toml
configuration file.- Parameters:
data (
Any
) –
Show JSON schema
{ "title": "TechnoteToml", "description": "A model of a ``technote.toml`` configuration file.", "type": "object", "properties": { "technote": { "$ref": "#/definitions/TechnoteTable" } }, "required": [ "technote" ], "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" } ] } } }, "TechnoteTable": { "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" } } } } }
-
field technote:
TechnoteTable
[Required]#