Skip to main content

crossref-lmdb

A command-line application and Python library for accessing DOI metadata from a CrossRef public data export via a Lightning key:value (DOI:metadata) database.

The public data export from CrossRef is a very useful way to access large amounts of DOI metadata because it avoids the need to acquire data over the web API. However, the metadata is represented in the public data export as a large number of compressed JSON files - which makes it difficult and time-consuming to access the metadata for a given DOI. This project imports the metadata into a Lighting Memory-Mapped Database (LMDB), in which the DOIs are the database keys and the associated metadata are the database values.

[!WARNING] This database is mostly only useful for projects requiring a relatively small portion of the total metadata - creating and updating the database is likely to be prohibitively slow otherwise.

Features

  • Create a Lightning database from the CrossRef public data export, with optional filtering of DOI items based on custom Python code.
  • Update the database with items from the CrossRef web API that have been added or modified since a given date.
  • Read from the database in Python via a dict-like data structure.

Limitations

  • The Lightning database format is not very efficient with disk space for this data (see the LMDB documentation for more details).
  • The creation of the database is very slow, with database creation from the full 2024 public data export taking multiple days.
  • Updating the database is even slower.

[!NOTE] This project is not affiliated with, supported by, or endorsed by CrossRef.

Installation

The package can be installed using pip:

pip install crossref-lmdb 

Using the package requires the CrossRef public data export files (2024 release) to have been downloaded. See the instructions from CrossRef for obtaining these files.

Documentation

See https://unimelbmdap.github.io/crossref-lmdb/ for documentation.

Contact

Issues can be raised via the issue tracker.

Authors

Please feel free to email if you find this package to be useful or have any suggestions or feedback.

Metadata

Release files for crossref-lmdb 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for crossref-lmdb 0.1.2
File Size Uploaded Provenance Actions
crossref_lmdb-0.1.2.tar.gz 117.8 kB Without provenance Details for crossref_lmdb-0.1.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for crossref-lmdb 0.1.2
File Interpreter ABI Platform Actions
crossref_lmdb-0.1.2-py3-none-any.whl Python 3 none any Details for crossref_lmdb-0.1.2-py3-none-any.whl

Total release size: 134.9 kB

Release files / crossref_lmdb-0.1.2.tar.gz

Download URL crossref_lmdb-0.1.2.tar.gz
Size 117.8 kB
Tags Source
SHA-256 checksum
How to use checksums
cbced50497b1d63727ca048193796e171d65a49994e6b19c9e46826978377fd5
BLAKE2b-256 checksum
How to use checksums
54f5409aba7f32e8d1ee2715aeec1f32831f342b633910d15d428afbf4c7e3a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.5.10

Release files / crossref_lmdb-0.1.2-py3-none-any.whl

Download URL crossref_lmdb-0.1.2-py3-none-any.whl
Size 17.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7902e96368b75762e0f638c7c23921cc8bf126318cb54c77c8ad53188db0476e
BLAKE2b-256 checksum
How to use checksums
f9a79d3633641d13ded9f6a36234afc0b1d61443c3212ef41ecf8b137197fad5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.5.10

Security for crossref-lmdb 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page