Skip to main content

Small library for persistent identifiers used in scholarly communication.

Project description

Small library for validating and normalising persistent identifiers used in scholarly communication.


  • 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.


The IDUtils package is on PyPI so all you need is:

$ pip install idutils


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 and makes file executable. One can now use docker-compose run –rm web /code/ 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/ runs the test suite.

Version 0.1.0 (2015-07-02)

  • First public release.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
IDUtils-1.1.0-py2.py3-none-any.whl (11.0 kB) Copy SHA256 hash SHA256 Wheel py2.py3
IDUtils-1.1.0.tar.gz (22.9 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page