Python API reference#

technote Package#

Rubin Observatory’s framework for Sphinx-based technote documents.

Functions#

setup(app)

Sphinx entrypoint for technote.

Variables#

__version__

The version string of technote (PEP 440 compatible).

technote.config Module#

Technote configuration models (for technote.toml).

technote.toml is used both for setting document metadata and also configuring the Sphinx build. Users of Technote can also add tables to technote.toml to support their technote plugins and build infrastructure.

Classes#

TechnoteToml

A model of a technote.toml configuration file.

TechnoteTable

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

LicenseTable

A model for [technote.license] in technote.toml, which describes the content's license.

TechnoteStatus

A model for the technote's status.

TechnoteState(value)

Standardized states for a technote.

Organization

Model for describing an organization (often as an affiliation).

PersonName

A person's name.

Person

Model for describing a person related to the technote.

Contributor

Data about a contributor.

SphinxTable

The [technote.sphinx] table permits Sphinx project configuration.

IntersphinxTable

Intersphinx configuration in the [technote.sphinx] table.

LinkcheckTable

Linkcheck builder configurations in the [technote.sphinx] table.

TechnoteSphinxConfig(toml)

A wrapper around TechnoteToml that assists in setting Sphinx configurations in a conf.py file (via technote.sphinxconf).

TechnoteJinjaContext(toml)

A class available to the Jinja context in HTML templates and provides access to technote.toml-based metadata.

Class Inheritance Diagram#

Inheritance diagram of technote.config.TechnoteToml, technote.config.TechnoteTable, technote.config.LicenseTable, technote.config.TechnoteStatus, technote.config.TechnoteState, technote.config.Organization, technote.config.PersonName, technote.config.Person, technote.config.Contributor, technote.config.SphinxTable, technote.config.IntersphinxTable, technote.config.LinkcheckTable, technote.config.TechnoteSphinxConfig, technote.config.TechnoteJinjaContext

technote.metadata.orcid Module#

The ORCiD identifier.

Classes#

Orcid(url, *, scheme[, user, password, ...])

An ORCiD type for Pydantic validation.

OrcidError(**ctx)

An error validating an ORCiD identifier, raised by Pydantic.

Class Inheritance Diagram#

Inheritance diagram of technote.metadata.orcid.Orcid, technote.metadata.orcid.OrcidError

technote.metadata.ror Module#

Support for ROR (Research Organization Registry) identifiers.

Classes#

Ror(url, *, scheme[, user, password, host, ...])

A ROR (Research Organization Registry) type for Pydantic validation.

RorError(**ctx)

An error validating a ROR identifier, raised by Pydantic.

Class Inheritance Diagram#

Inheritance diagram of technote.metadata.ror.Ror, technote.metadata.ror.RorError

technote.metadata.spdx Module#

Interface to SPDX license metadata.

Classes#

SpdxLicense

A license item as contained in a SpdxFile.

SpdxFile

Representation of a SPDX license database file as a Pydantic model.

Licenses(licenses)

License database, with access by license ID.

Class Inheritance Diagram#

Inheritance diagram of technote.metadata.spdx.SpdxLicense, technote.metadata.spdx.SpdxFile, technote.metadata.spdx.Licenses

technote.metadata.zenodo Module#

Zenodo API support and controlled vocabularies.

Classes#

ZenodoRole(value)

The role of a contributor in a Zenodo record.

Class Inheritance Diagram#

Inheritance diagram of technote.metadata.zenodo.ZenodoRole