Contributor#
- pydantic model technote.sources.tomlsettings.Contributor#
Data about a contributor.
A
Contributor
is the same as aPerson
, with the addition of therole
attribute.- Parameters:
data (
Any
) –
Show JSON schema
{ "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": "#/$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" } }, "$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" }, "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": [ "name" ] }
- Fields:
- Validators:
format_orcid_url
»orcid
validate_orcid
»orcid
- field note: str | None = None#
Note describing the contribution.
- field role: ZenodoRole | None = None#
the contributor’s role.
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding
ComputedFieldInfo
objects.