Registry / serialization / idutils

idutils

JSON →
library1.6.1pypypiunverified

A small library for detecting, validating, normalizing, and converting persistent identifiers used in scholarly communication, such as DOI, ORCID, ISBN, arXiv, and more. Current version 1.6.0 supports Python >=3.7. Release cadence is irregular, with maintenance updates as needed.

pip install idutils
INSTALL
IMPORT
SIG · IDUTILS
I
idutils
serializationpythonv1.6.1
Install
1.6s avg
Import
Disk
17MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.6.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 18.5MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 1.6s · import 0.000s · 19MB
17MB installed
● package 17MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

is_id
from idutils import is_id
from idutils import is_id

Simple check and normalization of a DOI.

from idutils import is_doi, normalize_doi doi = '10.1234/example' print(is_doi(doi)) # True print(normalize_doi(doi)) # 'doi:10.1234/example'
Debug
Known issues
gotchaFunction names are not intuitive; some are prefixed with 'is_' (e.g., is_doi) and some with 'check_' (e.g., check_doi). Always check the documentation for the correct function name.
fix
Refer to official API docs to avoid using non-existent functions like 'validate_doi'.
affects: all
gotchaNormalization functions may return different formats (e.g., 'doi:10....' vs 'https://doi.org/10...'). Always test output before use.
fix
Read function docstrings to understand the output format.
affects: all
gotchaISBN validation is not fully robust: it may accept invalid ISBNs due to checksum bypass in older versions. Upgrade to latest version (1.6.0) for improved validation.
fix
pip install --upgrade idutils
affects: <1.6.0
Upgrade
Version history
1.6.1latest on PyPI · released May 28, 2026
Audit
Dependencies
requestsrequiredUsed for HTTP-based identifier validation (e.g., DOI resolution)
sixrequiredPython 2/3 compatibility (legacy, still required)
isbnlibrequiredFor ISBN handling
Agent activity
18 hits · last 30 days
node
18
Resources
idutils — pip install idutils · libregistry