..
This file is part of IDUtils
Copyright (C) 2015 CERN.
IDUtils is free software; you can redistribute it and/or modify
it under the terms of the Revised BSD License; see LICENSE file for
more details.
In applying this license, CERN does not waive the privileges and immunities
granted to it by virtue of its status as an Intergovernmental Organization
or submit itself to any jurisdiction.
=======
IDUtils
.. image:: https://github.com/inveniosoftware/idutils/workflows/CI/badge.svg
:target: https://github.com/inveniosoftware/idutils/actions?query=workflow%3ACI
.. image:: https://img.shields.io/coveralls/inveniosoftware/idutils.svg
:target: https://coveralls.io/r/inveniosoftware/idutils
.. image:: https://img.shields.io/github/tag/inveniosoftware/idutils.svg
:target: https://github.com/inveniosoftware/idutils/releases
.. image:: https://img.shields.io/pypi/dm/idutils.svg
:target: https://pypi.python.org/pypi/idutils
.. image:: https://img.shields.io/github/license/inveniosoftware/idutils.svg
:target: https://github.com/inveniosoftware/idutils/blob/master/LICENSE
Small library for validating and normalising persistent identifiers used in
scholarly communication.
Features
- Validation and normalization of persistent identifiers.
- Detection of persistent identifier scheme.
- Generation of resolving links for persistent identifiers.
- Supported schemes: ISBN10, ISBN13, ISSN, ISTC, DOI, Handle, EAN8, EAN13, ISNI
ORCID, ARK, PURL, LSID, URN, Bibcode, arXiv, PubMed ID, PubMed Central ID,
GND, SRA, BioProject, BioSample, Ensembl, UniProt, RefSeq, GenBank/RefSeq.
Installation
The IDUtils package is on PyPI so all you need is:
.. code-block:: console
$ pip install idutils
..
This file is part of IDUtils
Copyright (C) 2015-2023 CERN.
Copyright (C) 2022 Northwestern University.
IDUtils is free software; you can redistribute it and/or modify
it under the terms of the Revised BSD License; see LICENSE file for
more details.
In applying this license, CERN does not waive the privileges and immunities
granted to it by virtue of its status as an Intergovernmental Organization
or submit itself to any jurisdiction.
Changes
Version 1.4.2 (2024-11-01)
- setup: remove pytest-invenio to make imports cleaner
- setup: install importlib_metadata for compatibility
- bibcode/ads: normalize unicode
Version 1.4.1 (2024-10-18)
- install: add importlib_metadata
Version 1.4.0 (2024-10-17)
- Restructure module to be configurable and readable.
- Adds a new entrypoint to register new custom schemes
- Adds deprecations for direct imports of schemes
Version 1.3.0 (2024-10-15) (yanked due to undesired flask dependency)
- Restructure module to be configurable and readable.
- Adds a new entrypoint to register new custom schemes
- Adds deprecations for direct imports of schemes
Version 1.2.1 (2023-03-02)
- Fixes ORCiD validation, by adding the new ISNI block range.
Version 1.2.0 (2023-01-30)
- schemes: add support for viaf and urn
Version 1.1.12 (2022-02-28)
- Replaces
isbnid_fork
with isbnlib
Version 1.1.11 (2022-01-28)
- Normalize pmid + their URL identifiers
Version 1.1.10 (2022-01-11)
- Add purl.fdlp.gov as a valid PURL netloc
- Normalize ror identifiers
Version 1.1.9 (2021-08-30)
Version 1.1.8 (2020-08-13)
- Adds support for GEO and ArrayExpress identifiers.
Version 1.1.7 (2020-06-22)
- Updates Software Heritage identifiers
- Adds Research Organization Registry identifiers
- Fixes DeprctationWarnings by using raw strings for regular expressions
Version 1.1.6 (2020-05-07)
- Deprecates Python versions lower than 3.6.0. Now supporting 3.6.0 and 3.7.0.
Version 1.1.5 (2020-02-26)
- Adds support for Software Heritage identifiers.
- Fixes handling of non-digit characters in DOI detection.
Version 1.1.4 (2019-09-27)
- Adds support for ASCL identifiers.
- Fixes the ADS identifier regex to also detect lower-case author initials.
Version 1.1.3 (2019-09-17)
- Adds support for HTTPS ORCiD identifiers.
Version 1.1.2 (2019-02-12)
- Adds support for HAL identifiers.
Version 1.1.1 (2018-11-18)
Version 1.1.0 (2018-08-17)
- Adds support for genomic identifiers: SRA, BioProject, BioSample, Ensembl,
UniProt, RefSeq, GenBank/RefSeq.
- Fixes bug in bibcode detection for non-capitalized journals.
Version 1.0.1 (2018-05-02)
- Fixes bug causing invalid DOIs to be accepted.
Version 1.0.0 (2017-12-07)
- Fixes handling of unicode characters in DOIs.
- Adds support for APS style arXiv identifiers.
Version 0.2.4 (2017-01-30)
- Removes
Python 3.3
from a list of supported Python versions and
adds Python 3.6
- Moves from
isbnid (v0.3.4)
to isbnid_fork (v0.4.4)
library.
Version 0.2.3 (2016-09-21)
- Adds an optional parameter in
idutils.to_url
to use HTTPS scheme
for PID providers that support it. - Detects and parses Handles and DOIs without the "http(s)://", and
ignores whitespace after scheme tags (eg. "doi: 10.123/456").
Version 0.2.2 (2016-09-16)
- Fixes issue where a valid ISBN with dashes and spaces could not be
normalized.
Version 0.2.1 (2016-06-17)
- Changes ISBN normalization to use
isbnid
instead of isbnlib
. Now,
importing this library will not change the default socket timeout, resulting
in unwanted side effects.
Version 0.2.0 (2016-04-07)
Version 0.1.1 (2015-07-22)
- Fixes GND validation and normalization.
- Replaces invalid package name in
run-tests.sh
and makes run-tests.sh
file
executable. One can now use docker-compose run --rm web /code/run-tests.sh
to run all the CI tests (pep257, sphinx, test suite). - Initial release of Docker configuration suitable for local developments.
docker-compose build
rebuilds the image,
docker-compose run --rm web /code/run-tests.sh
runs the test suite.
Version 0.1.0 (2015-07-02)