Person

pydantic model technote.sources.tomlsettings.Person

Model for describing a person related to the technote.

Parameters:

data (Any)

Show JSON schema
{
   "title": "Person",
   "description": "Model for describing a person related to the technote.",
   "type": "object",
   "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"
      }
   },
   "$defs": {
      "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"
      },
      "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"
      }
   },
   "required": [
      "name"
   ]
}

Fields:
Validators:
field affiliations: list[Organization] [Optional]

The person’s affiliations.

field email: EmailStr | None = None

Contact email associated with the person.

field internal_id: str | None = None

An internal identifier for the person.

field name: PersonName [Required]
field orcid: HttpUrl | None = None

The ORCiD of the person (https://orcid.org).

Validated by:
validator format_orcid_url  »  orcid

Format a bare ORCiD identifier as a URL.

Parameters:

value (str)

Return type:

str

validator validate_orcid  »  orcid

Ensure that orcid is a valid ORCiD identifier, or None.

Parameters:

v (Optional[Url])

Return type:

Optional[Url]