mex.extractors.open_data.models package¶
Submodules¶
mex.extractors.open_data.models.source module¶
- class mex.extractors.open_data.models.source.Links(*, self: str | None = None)¶
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¶
- 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¶