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": "#/$defs/TechnoteTable" } }, "$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_names": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "The person's family name (last name in western culture).", "title": "Family Names" }, "given_names": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "The person's given name (first name in western culture).", "title": "Given Names" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "The person's name, an alternative to specifying surname and given names.", "title": "Name" } }, "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" }, "TechnoteTable": { "description": "The root table for technote configuration, ``[technote]`` in\n``technote.toml`` (`TechnoteToml`).", "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" }, "date_created": { "anyOf": [ { "format": "date-time", "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" }, { "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" } }, "title": "TechnoteTable", "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" } }, "required": [ "technote" ] }
- field technote: TechnoteTable [Required]#