mex.extractors.open_data.models package

Submodules

mex.extractors.open_data.models.source module

Bases: BaseModel

Model subclass for Zenodo links.

model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'self': FieldInfo(annotation=Union[str, NoneType], required=False, default=None)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

self: str | None
class mex.extractors.open_data.models.source.OpenDataCreatorsOrContributors(*, name: str, affiliation: str | None = None, orcid: str | None = None)

Bases: BaseModel

Model subclass for Zenodo metadata Creators or Contributors.

affiliation: str | None
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'affiliation': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'name': FieldInfo(annotation=str, required=True), 'orcid': FieldInfo(annotation=Union[str, NoneType], required=False, default=None)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

name: str
orcid: str | None
class mex.extractors.open_data.models.source.OpenDataLicenseOrFile(*, id: str | None = None)

Bases: BaseModel

Model subclass for Zenodo metadata license.

id: str | None
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

class mex.extractors.open_data.models.source.OpenDataMetadata(*, description: str | None = None, creators: list[OpenDataCreatorsOrContributors] = [], contributors: list[OpenDataCreatorsOrContributors] = [], keywords: list[str] = [], related_identifiers: list[OpenDataRelatedIdentifiers] = [], language: str | None = None, license: OpenDataLicenseOrFile, publication_date: str | None = None)

Bases: BaseModel

Model subclass for Zenodo metadata dict.

contributors: list[OpenDataCreatorsOrContributors]
creators: list[OpenDataCreatorsOrContributors]
description: str | None
keywords: list[str]
language: str | None
license: OpenDataLicenseOrFile
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'contributors': FieldInfo(annotation=list[OpenDataCreatorsOrContributors], required=False, default=[]), 'creators': FieldInfo(annotation=list[OpenDataCreatorsOrContributors], required=False, default=[]), 'description': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'keywords': FieldInfo(annotation=list[str], required=False, default=[]), 'language': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'license': FieldInfo(annotation=OpenDataLicenseOrFile, required=True), 'publication_date': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'related_identifiers': FieldInfo(annotation=list[OpenDataRelatedIdentifiers], required=False, default=[])}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

publication_date: str | None
related_identifiers: list[OpenDataRelatedIdentifiers]
class mex.extractors.open_data.models.source.OpenDataParentResource(*, modified: str | None = None, id: int, conceptrecid: str, conceptdoi: str | None = None, metadata: OpenDataMetadata, title: str | None = None, files: list[OpenDataLicenseOrFile])

Bases: BaseModel

Model class for a Zenodo record as resource parent.

conceptdoi: str | None
conceptrecid: str
files: list[OpenDataLicenseOrFile]
id: int
metadata: OpenDataMetadata
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'conceptdoi': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'conceptrecid': FieldInfo(annotation=str, required=True), 'files': FieldInfo(annotation=list[OpenDataLicenseOrFile], required=True), 'id': FieldInfo(annotation=int, required=True), 'metadata': FieldInfo(annotation=OpenDataMetadata, required=True), 'modified': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'title': FieldInfo(annotation=Union[str, NoneType], required=False, default=None)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

modified: str | None
title: str | None
class mex.extractors.open_data.models.source.OpenDataRelatedIdentifiers(*, identifier: str | None = None, relation: str | None = None)

Bases: BaseModel

Model subclass for Zenodo metadata related identifiers.

identifier: str | None
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'identifier': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'relation': FieldInfo(annotation=Union[str, NoneType], required=False, default=None)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

relation: str | None
class mex.extractors.open_data.models.source.OpenDataResourceVersion(*, created: str | None = None, id: int, metadata: OpenDataMetadata)

Bases: BaseModel

Model class for Versions of a record.

created: str | None
id: int
metadata: OpenDataMetadata
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'created': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'id': FieldInfo(annotation=int, required=True), 'metadata': FieldInfo(annotation=OpenDataMetadata, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

class mex.extractors.open_data.models.source.OpenDataVersionFiles(*, key: str | None = None, file_id: str, mimetype: str | None = None, links: Links, created: str | None = None, updated: str | None = None)

Bases: BaseModel

Model subclass for Zenodo files.

created: str | None
file_id: str
key: str | None
mimetype: str | None
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'created': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'file_id': FieldInfo(annotation=str, required=True), 'key': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'links': FieldInfo(annotation=Links, required=True), 'mimetype': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'updated': FieldInfo(annotation=Union[str, NoneType], required=False, default=None)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

updated: str | None

Module contents