CitationAuthorModel#

pydantic model documenteer.conf._toml.CitationAuthorModel#

Model for an author of a [[project.citations]] entry.

An author is either a person, named with family_name (and usually given_name), or an organization, named with name. The split matters to a rendered citation: a person’s name is set family-name-first and may be abbreviated by a BibTeX style, where an organization’s is protected from both.

Parameters:

data (Any)

Show JSON schema
{
   "title": "CitationAuthorModel",
   "description": "Model for an author of a ``[[project.citations]]`` entry.\n\nAn author is either a person, named with ``family_name`` (and usually\n``given_name``), or an organization, named with ``name``. The split\nmatters to a rendered citation: a person's name is set family-name-first\nand may be abbreviated by a BibTeX style, where an organization's is\nprotected from both.",
   "type": "object",
   "properties": {
      "name": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The organization's name, for an author that is an institution rather than a person.",
         "title": "Name"
      },
      "ror": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The organization's ROR (ror.org) identifier. Only meaningful alongside ``name``.",
         "title": "Ror"
      },
      "family_name": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The person's family name (last name in western culture).",
         "title": "Family Name"
      },
      "given_name": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The person's given name (first name in western culture).",
         "title": "Given Name"
      },
      "orcid": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The person's ORCID, as a URL or a bare identifier. Only meaningful alongside ``family_name``.",
         "title": "Orcid"
      },
      "affiliation": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The person's affiliation, as a single display name. Only meaningful alongside ``family_name``.",
         "title": "Affiliation"
      }
   }
}

Fields:
Validators:
field affiliation: str | None = None#

The person’s affiliation, as a single display name. Only meaningful alongside family_name.

Validated by:
field family_name: str | None = None#

The person’s family name (last name in western culture).

Validated by:
field given_name: str | None = None#

The person’s given name (first name in western culture).

Validated by:
field name: str | None = None#

The organization’s name, for an author that is an institution rather than a person.

Validated by:
field orcid: str | None = None#

The person’s ORCID, as a URL or a bare identifier. Only meaningful alongside family_name.

Validated by:
field ror: str | None = None#

The organization’s ROR (ror.org) identifier. Only meaningful alongside name.

Validated by:
to_citation_author()#

Express the author as a documenteer.citations.CitationAuthor.

Return type:

PersonAuthor | OrganizationAuthor

validator validate_name  »  all fields#

Require exactly one of the organization and person spellings.

Return type:

Self