mex.common.orcid package¶
Submodules¶
mex.common.orcid.connector module¶
- class mex.common.orcid.connector.OrcidConnector¶
Bases:
HTTPConnectorConnector class for querying Orcid records.
- _check_availability() None¶
Send a GET request to verify the host is available.
- _set_url() None¶
Set url of the host.
- build_query(filters: dict[str, Any]) str¶
Construct the ORCID API query string.
- get_record_by_id(orcid_id: str) OrcidRecord¶
Get a single orcid record by id.
- Parameters:
orcid_id – Unique identifier in ORCID system.
- Returns:
Orcid record of the single matching id.
- search_records_by_name(given_names: str | None = None, family_name: str | None = None, given_and_family_names: str | None = None, filters: dict[str, Any] | None = None, skip: int = 0, limit: int = 10) OrcidSearchResponse¶
Search for orcid results for the given filters.
- Parameters:
given_names – Optional given name of a person.
family_name – Optional surname of a person.
given_and_family_names – Optional full name of a person.
filters – Key-value pairs representing ORCID search filters.
skip – How many items to skip for pagination.
limit – How many items to return in one page.
- Returns:
Paginated list of orcid results.
mex.common.orcid.extract module¶
- mex.common.orcid.extract.get_orcid_record_by_id(orcid_id: str) OrcidRecord¶
Get a single orcid record by id.
- Parameters:
orcid_id – Unique identifier in ORCID system.
- Returns:
Orcid record of the single matching id.
- mex.common.orcid.extract.get_orcid_record_by_name(given_names: str | None = None, family_name: str | None = None, given_and_family_names: str | None = None, filters: dict[str, Any] | None = None) OrcidRecord¶
Get OrcidRecord of a single person for the given filters.
- Parameters:
given_names – Optional given name of a person.
family_name – Optional surname of a person.
given_and_family_names – Optional full name of a person.
filters – Key-value pairs representing ORCID search filters.
- Raises:
- Returns:
OrcidRecord of the matching person by name.
- mex.common.orcid.extract.search_records_by_name(given_names: str | None = None, family_name: str | None = None, given_and_family_names: str | None = None, filters: dict[str, Any] | None = None, skip: int = 0, limit: int = 10) PaginatedItemsContainer[OrcidRecord]¶
Get all Orcid records for the given filters.
- Parameters:
given_names – Optional given name of a person.
family_name – Optional surname of a person.
given_and_family_names – Optional full name of a person.
filters – Key-value pairs representing ORCID search filters.
skip – How many items to skip for pagination.
limit – How many items to return in one page.
- Returns:
Paginated container of orcid records.
mex.common.orcid.models module¶
- class mex.common.orcid.models.OrcidEmail(*, email: list[str])¶
Bases:
BaseModelModel class for Orcid email.
- email: list[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].
- class mex.common.orcid.models.OrcidEmails(*, email: list[OrcidEmail])¶
Bases:
BaseModelModel class for Orcid emails.
- email: list[OrcidEmail]¶
- 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.common.orcid.models.OrcidFamilyName(*, value: str)¶
Bases:
BaseModelModel class for orcid family names.
- 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.common.orcid.models.OrcidGivenNames(*, value: str)¶
Bases:
BaseModelModel class for Orcid given names.
- 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.common.orcid.models.OrcidIdentifier(*, path: str, uri: str)¶
Bases:
BaseModelModel class for OrcidID.
- 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].
- path: str¶
- uri: str¶
- class mex.common.orcid.models.OrcidName(*, family_name: OrcidFamilyName | None, given_names: OrcidGivenNames | None, visibility: str)¶
Bases:
BaseModelModel class for Orcid name.
- family_name: OrcidFamilyName | None¶
- given_names: OrcidGivenNames | 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].
- visibility: str¶
- class mex.common.orcid.models.OrcidPerson(*, emails: OrcidEmails, name: OrcidName)¶
Bases:
BaseModelModel class for Orcid person.
- emails: OrcidEmails¶
- 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.common.orcid.models.OrcidRecord(*, orcid_identifier: OrcidIdentifier, person: OrcidPerson)¶
Bases:
BaseModelModel class for Orcid record.
- 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].
- orcid_identifier: OrcidIdentifier¶
- person: OrcidPerson¶
- class mex.common.orcid.models.OrcidSearchItem(*, orcid_identifier: OrcidIdentifier)¶
Bases:
BaseModelModel class for a single search result item.
- 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].
- orcid_identifier: OrcidIdentifier¶
- class mex.common.orcid.models.OrcidSearchResponse(*, num_found: int, result: list[OrcidSearchItem])¶
Bases:
BaseModelModel class for a search response.
- 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].
- num_found: int¶
- result: list[OrcidSearchItem]¶
mex.common.orcid.transform module¶
- mex.common.orcid.transform.transform_orcid_person_to_mex_person(orcid_record: OrcidRecord, primary_source_id: MergedPrimarySourceIdentifier) ExtractedPerson¶
Transforms a single ORCID person to an ExtractedPerson.
- Parameters:
orcid_record – OrcidRecord object of a person.
primary_source_id – Primary source identifier for Orcid.
- Returns:
ExtractedPerson.