mex.extractors.open_data.models package

Submodules

mex.extractors.open_data.models.source module

Bases: BaseModel

Model subclass for Zenodo links.

model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'populate_by_name': True, 'str_max_length': 100000, 'str_min_length': 1, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True, 'validate_by_alias': True, 'validate_by_name': True, 'validate_default': True}

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

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_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'populate_by_name': True, 'str_max_length': 100000, 'str_min_length': 1, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True, 'validate_by_alias': True, 'validate_by_name': True, 'validate_default': True}

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

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_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'populate_by_name': True, 'str_max_length': 100000, 'str_min_length': 1, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True, 'validate_by_alias': True, 'validate_by_name': True, 'validate_default': True}

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

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, resource_type: OpenDataResourceType, 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_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'populate_by_name': True, 'str_max_length': 100000, 'str_min_length': 1, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True, 'validate_by_alias': True, 'validate_by_name': True, 'validate_default': True}

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

publication_date: str | None
related_identifiers: list[OpenDataRelatedIdentifiers]
resource_type: OpenDataResourceType
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_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'populate_by_name': True, 'str_max_length': 100000, 'str_min_length': 1, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True, 'validate_by_alias': True, 'validate_by_name': True, 'validate_default': True}

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

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_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'populate_by_name': True, 'str_max_length': 100000, 'str_min_length': 1, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True, 'validate_by_alias': True, 'validate_by_name': True, 'validate_default': True}

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

relation: str | None
class mex.extractors.open_data.models.source.OpenDataResourceType(*, type: str)

Bases: BaseModel

Model subclass for Zenodo metadata resource type.

model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'populate_by_name': True, 'str_max_length': 100000, 'str_min_length': 1, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True, 'validate_by_alias': True, 'validate_by_name': True, 'validate_default': True}

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

type: str
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_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'populate_by_name': True, 'str_max_length': 100000, 'str_min_length': 1, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True, 'validate_by_alias': True, 'validate_by_name': True, 'validate_default': True}

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

class mex.extractors.open_data.models.source.OpenDataTableSchema(*, name: str, type: str, description: str, constraints: OpenDataTableSchemaConstraints | None = None, categories: list[OpenDataTableSchemaCategories] | None = None)

Bases: BaseModel

Model subclass for single table schemas in a json.

categories: list[OpenDataTableSchemaCategories] | None
constraints: OpenDataTableSchemaConstraints | None
description: str
model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'populate_by_name': True, 'str_max_length': 100000, 'str_min_length': 1, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True, 'validate_by_alias': True, 'validate_by_name': True, 'validate_default': True}

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

name: str
type: str
class mex.extractors.open_data.models.source.OpenDataTableSchemaCategories(*, value: str, label: str)

Bases: BaseModel

Model subclass for Zenodo table schema property ‘categories’.

label: str
model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'populate_by_name': True, 'str_max_length': 100000, 'str_min_length': 1, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True, 'validate_by_alias': True, 'validate_by_name': True, 'validate_default': True}

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

value: str
class mex.extractors.open_data.models.source.OpenDataTableSchemaConstraints(*, enum: list[str | int] | None = None)

Bases: BaseModel

Model subclass for Zenodo table schema property ‘constraints’.

enum: list[str | int] | None
model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'populate_by_name': True, 'str_max_length': 100000, 'str_min_length': 1, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True, 'validate_by_alias': True, 'validate_by_name': True, 'validate_default': True}

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

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_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'populate_by_name': True, 'str_max_length': 100000, 'str_min_length': 1, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_assignment': True, 'validate_by_alias': True, 'validate_by_name': True, 'validate_default': True}

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

updated: str | None

Module contents