Python bindings for PubMed and PMC APIs for retrieving biomedical research articles
Project description
PubMed Client - Python Bindings
Python bindings for the PubMed and PMC (PubMed Central) API client library.
Overview
This package provides Python bindings to the Rust-based PubMed client library, enabling high-performance access to PubMed and PMC APIs from Python.
Features
- PubMed API: Search and retrieve article metadata
- PMC API: Access full-text articles from PubMed Central
- High Performance: Built with Rust for speed and reliability
- Async Support: Asynchronous API calls for efficient data retrieval
- Type-Safe: Full type hints for better IDE support
Installation
From PyPI (when published)
pip install pubmed-client
From Source with uv
# Clone the repository
git clone https://github.com/illumination-k/pubmed-client-rs.git
cd pubmed-client-rs/pubmed-client-py
# Create virtual environment and install
uv venv
uv pip install -e .
Development
Prerequisites
- Python >= 3.12
- Rust toolchain (installed via rustup)
- uv (for Python package management)
- maturin (for building Python bindings)
Setup Development Environment
# Install uv if not already installed
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install maturin via uv
uv tool install maturin
# Create virtual environment
cd pubmed-client-py
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install in development mode
uv pip install -e .
# Or use maturin develop for faster iteration
uv run maturin develop
Running Tests
# Install dev dependencies
uv sync --group dev
# Run tests
uv run pytest
# Run tests with coverage
uv run pytest --cov=pubmed_client
Code Quality
# Format code
uv run ruff format
# Lint code
uv run ruff check
# Type checking
uv run mypy
Usage
Coming soon! The bindings are currently in development.
Building
# Build wheel
uv run maturin build --release
# Build and install in development mode
uv run maturin develop
# Build for distribution
uv run maturin build --release --sdist
Publishing
# Publish to PyPI (requires credentials)
uv run maturin publish
License
MIT
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pubmed_client_py-0.0.2.tar.gz.
File metadata
- Download URL: pubmed_client_py-0.0.2.tar.gz
- Upload date:
- Size: 1.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95687c5abf6890a2625325c69537e8c82f0ee179575045a5fd19f1bc3f7f5886
|
|
| MD5 |
404199e594bee89da2d1729dfa321a50
|
|
| BLAKE2b-256 |
520dc131aa8a88c9e6c9fe96165aafdc27f49744dd2c6f88f80eb8164b0c7a29
|
Provenance
The following attestation bundles were made for pubmed_client_py-0.0.2.tar.gz:
Publisher:
python-publish.yml on illumination-k/pubmed-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pubmed_client_py-0.0.2.tar.gz -
Subject digest:
95687c5abf6890a2625325c69537e8c82f0ee179575045a5fd19f1bc3f7f5886 - Sigstore transparency entry: 702325402
- Sigstore integration time:
-
Permalink:
illumination-k/pubmed-client@d9676d7a1af359f989194cccd3979b5015abcc58 -
Branch / Tag:
refs/tags/py-v0.0.2 - Owner: https://github.com/illumination-k
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@d9676d7a1af359f989194cccd3979b5015abcc58 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pubmed_client_py-0.0.2-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: pubmed_client_py-0.0.2-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c53f3d2d0e60ee7c30ee03724efb3d336ff6a06efd6eb0d8f1da76b519c02d8
|
|
| MD5 |
db9825ece2f956ca7c6c610becf2a24e
|
|
| BLAKE2b-256 |
574e21dcb5fdd87b57fb3268946387541a80448e9210a55079dd39da20d28479
|
Provenance
The following attestation bundles were made for pubmed_client_py-0.0.2-cp314-cp314-win_amd64.whl:
Publisher:
python-publish.yml on illumination-k/pubmed-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pubmed_client_py-0.0.2-cp314-cp314-win_amd64.whl -
Subject digest:
8c53f3d2d0e60ee7c30ee03724efb3d336ff6a06efd6eb0d8f1da76b519c02d8 - Sigstore transparency entry: 702325412
- Sigstore integration time:
-
Permalink:
illumination-k/pubmed-client@d9676d7a1af359f989194cccd3979b5015abcc58 -
Branch / Tag:
refs/tags/py-v0.0.2 - Owner: https://github.com/illumination-k
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@d9676d7a1af359f989194cccd3979b5015abcc58 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pubmed_client_py-0.0.2-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: pubmed_client_py-0.0.2-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9c6c06d726a8e93ef896451821e8ebe598253dbd1c2246204690a3010cdb15f
|
|
| MD5 |
c8118940a2b836b465e198da45f69689
|
|
| BLAKE2b-256 |
8ab36561545cf1fcd280b8015946402cbaa313308486e1a7940b786e76bf85f4
|
Provenance
The following attestation bundles were made for pubmed_client_py-0.0.2-cp314-cp314-macosx_11_0_arm64.whl:
Publisher:
python-publish.yml on illumination-k/pubmed-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pubmed_client_py-0.0.2-cp314-cp314-macosx_11_0_arm64.whl -
Subject digest:
c9c6c06d726a8e93ef896451821e8ebe598253dbd1c2246204690a3010cdb15f - Sigstore transparency entry: 702325405
- Sigstore integration time:
-
Permalink:
illumination-k/pubmed-client@d9676d7a1af359f989194cccd3979b5015abcc58 -
Branch / Tag:
refs/tags/py-v0.0.2 - Owner: https://github.com/illumination-k
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@d9676d7a1af359f989194cccd3979b5015abcc58 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pubmed_client_py-0.0.2-cp314-cp314-macosx_10_12_x86_64.whl.
File metadata
- Download URL: pubmed_client_py-0.0.2-cp314-cp314-macosx_10_12_x86_64.whl
- Upload date:
- Size: 4.0 MB
- Tags: CPython 3.14, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6061f44373c9f30eb41f0add064ed34e0ca0b8c6b42558a059f014050a091201
|
|
| MD5 |
9704376df42a3902a680ba3eece288a3
|
|
| BLAKE2b-256 |
51b62b07d75e27766021ffe8dcd78a03ab8512043982ae005cab59d1f15dea47
|
Provenance
The following attestation bundles were made for pubmed_client_py-0.0.2-cp314-cp314-macosx_10_12_x86_64.whl:
Publisher:
python-publish.yml on illumination-k/pubmed-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pubmed_client_py-0.0.2-cp314-cp314-macosx_10_12_x86_64.whl -
Subject digest:
6061f44373c9f30eb41f0add064ed34e0ca0b8c6b42558a059f014050a091201 - Sigstore transparency entry: 702325414
- Sigstore integration time:
-
Permalink:
illumination-k/pubmed-client@d9676d7a1af359f989194cccd3979b5015abcc58 -
Branch / Tag:
refs/tags/py-v0.0.2 - Owner: https://github.com/illumination-k
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@d9676d7a1af359f989194cccd3979b5015abcc58 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pubmed_client_py-0.0.2-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: pubmed_client_py-0.0.2-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73ebc194df8d2650f7d9022a4cdd414d98219c5cf2d0a881d96423e74dd427aa
|
|
| MD5 |
c5ad8e42b5dd1ddaa8e9e699a5cc8c79
|
|
| BLAKE2b-256 |
5a1287d76aecde95bc8ceb641ed16e4001d65bc07be287a8f5b1ad0ff7985aa8
|
Provenance
The following attestation bundles were made for pubmed_client_py-0.0.2-cp313-cp313-win_amd64.whl:
Publisher:
python-publish.yml on illumination-k/pubmed-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pubmed_client_py-0.0.2-cp313-cp313-win_amd64.whl -
Subject digest:
73ebc194df8d2650f7d9022a4cdd414d98219c5cf2d0a881d96423e74dd427aa - Sigstore transparency entry: 702325408
- Sigstore integration time:
-
Permalink:
illumination-k/pubmed-client@d9676d7a1af359f989194cccd3979b5015abcc58 -
Branch / Tag:
refs/tags/py-v0.0.2 - Owner: https://github.com/illumination-k
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@d9676d7a1af359f989194cccd3979b5015abcc58 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pubmed_client_py-0.0.2-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: pubmed_client_py-0.0.2-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
045e39fcdd923a808c3de5b4a207249262a597b3c3131a884e41c48d0f6de1f0
|
|
| MD5 |
662b21affc74a23aea3c9a776c86dd7d
|
|
| BLAKE2b-256 |
c6e400834d1ecfae79a84112acec757782dd174894626ba486e21221cdd8797e
|
Provenance
The following attestation bundles were made for pubmed_client_py-0.0.2-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
python-publish.yml on illumination-k/pubmed-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pubmed_client_py-0.0.2-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
045e39fcdd923a808c3de5b4a207249262a597b3c3131a884e41c48d0f6de1f0 - Sigstore transparency entry: 702325413
- Sigstore integration time:
-
Permalink:
illumination-k/pubmed-client@d9676d7a1af359f989194cccd3979b5015abcc58 -
Branch / Tag:
refs/tags/py-v0.0.2 - Owner: https://github.com/illumination-k
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@d9676d7a1af359f989194cccd3979b5015abcc58 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pubmed_client_py-0.0.2-cp313-cp313-macosx_10_12_x86_64.whl.
File metadata
- Download URL: pubmed_client_py-0.0.2-cp313-cp313-macosx_10_12_x86_64.whl
- Upload date:
- Size: 4.0 MB
- Tags: CPython 3.13, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57aae8df29582ec72b447dff78aca91e2503578a6df2b2f37085cc66ed9acc4b
|
|
| MD5 |
8800d13027a75254bd690cb8894e8224
|
|
| BLAKE2b-256 |
f0fd669690bc26b915171bb09fe863b17ed0f150f0d2da593b62186b25da030a
|
Provenance
The following attestation bundles were made for pubmed_client_py-0.0.2-cp313-cp313-macosx_10_12_x86_64.whl:
Publisher:
python-publish.yml on illumination-k/pubmed-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pubmed_client_py-0.0.2-cp313-cp313-macosx_10_12_x86_64.whl -
Subject digest:
57aae8df29582ec72b447dff78aca91e2503578a6df2b2f37085cc66ed9acc4b - Sigstore transparency entry: 702325404
- Sigstore integration time:
-
Permalink:
illumination-k/pubmed-client@d9676d7a1af359f989194cccd3979b5015abcc58 -
Branch / Tag:
refs/tags/py-v0.0.2 - Owner: https://github.com/illumination-k
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@d9676d7a1af359f989194cccd3979b5015abcc58 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pubmed_client_py-0.0.2-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: pubmed_client_py-0.0.2-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
44160613cb9de1745fcb269d056dc71bc925f247094601759b9de1a64b311727
|
|
| MD5 |
82cee4866e6652945fe9c6773720e7fc
|
|
| BLAKE2b-256 |
a8a5acbe574698f1452c4cd7f77374a223d6c5b45276cffd5542e964b9b173d6
|
Provenance
The following attestation bundles were made for pubmed_client_py-0.0.2-cp312-cp312-win_amd64.whl:
Publisher:
python-publish.yml on illumination-k/pubmed-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pubmed_client_py-0.0.2-cp312-cp312-win_amd64.whl -
Subject digest:
44160613cb9de1745fcb269d056dc71bc925f247094601759b9de1a64b311727 - Sigstore transparency entry: 702325406
- Sigstore integration time:
-
Permalink:
illumination-k/pubmed-client@d9676d7a1af359f989194cccd3979b5015abcc58 -
Branch / Tag:
refs/tags/py-v0.0.2 - Owner: https://github.com/illumination-k
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@d9676d7a1af359f989194cccd3979b5015abcc58 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pubmed_client_py-0.0.2-cp312-cp312-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: pubmed_client_py-0.0.2-cp312-cp312-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 6.6 MB
- Tags: CPython 3.12, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6933ed22cf7fc815dffd005359f8c915a4521dda83093e5fd03746563a1ae11
|
|
| MD5 |
36ebda82bf160863f9d41824aeb967c6
|
|
| BLAKE2b-256 |
bc42b55ff0ba951a9497e7dde0cfcc678d7185b91bcd70cc907e9cb8cbe3806e
|
Provenance
The following attestation bundles were made for pubmed_client_py-0.0.2-cp312-cp312-manylinux_2_34_x86_64.whl:
Publisher:
python-publish.yml on illumination-k/pubmed-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pubmed_client_py-0.0.2-cp312-cp312-manylinux_2_34_x86_64.whl -
Subject digest:
a6933ed22cf7fc815dffd005359f8c915a4521dda83093e5fd03746563a1ae11 - Sigstore transparency entry: 702325409
- Sigstore integration time:
-
Permalink:
illumination-k/pubmed-client@d9676d7a1af359f989194cccd3979b5015abcc58 -
Branch / Tag:
refs/tags/py-v0.0.2 - Owner: https://github.com/illumination-k
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@d9676d7a1af359f989194cccd3979b5015abcc58 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pubmed_client_py-0.0.2-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: pubmed_client_py-0.0.2-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
affd87fa529c2ff34dbd551677e808abafac6bf1a104ad4e2e7f9f0fdc10d811
|
|
| MD5 |
8cf96793e6c1d2ffa48de55bb82af530
|
|
| BLAKE2b-256 |
fd2d4c80bc23a47eb90f6fed781c78d0054088c2f01ba44079e3cd77dc2cca5b
|
Provenance
The following attestation bundles were made for pubmed_client_py-0.0.2-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
python-publish.yml on illumination-k/pubmed-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pubmed_client_py-0.0.2-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
affd87fa529c2ff34dbd551677e808abafac6bf1a104ad4e2e7f9f0fdc10d811 - Sigstore transparency entry: 702325410
- Sigstore integration time:
-
Permalink:
illumination-k/pubmed-client@d9676d7a1af359f989194cccd3979b5015abcc58 -
Branch / Tag:
refs/tags/py-v0.0.2 - Owner: https://github.com/illumination-k
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@d9676d7a1af359f989194cccd3979b5015abcc58 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pubmed_client_py-0.0.2-cp312-cp312-macosx_10_12_x86_64.whl.
File metadata
- Download URL: pubmed_client_py-0.0.2-cp312-cp312-macosx_10_12_x86_64.whl
- Upload date:
- Size: 4.0 MB
- Tags: CPython 3.12, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
60a4e8a2004905ff4da64110c1d62e181674a794024cee4e0cb59665ac004291
|
|
| MD5 |
a7729cc5d25e23e2a693e035335ec13b
|
|
| BLAKE2b-256 |
d4fe93575184d3b2cc3e1abf9319e5e39eb8bb3d6e513f511de88d9c27da8ea6
|
Provenance
The following attestation bundles were made for pubmed_client_py-0.0.2-cp312-cp312-macosx_10_12_x86_64.whl:
Publisher:
python-publish.yml on illumination-k/pubmed-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pubmed_client_py-0.0.2-cp312-cp312-macosx_10_12_x86_64.whl -
Subject digest:
60a4e8a2004905ff4da64110c1d62e181674a794024cee4e0cb59665ac004291 - Sigstore transparency entry: 702325411
- Sigstore integration time:
-
Permalink:
illumination-k/pubmed-client@d9676d7a1af359f989194cccd3979b5015abcc58 -
Branch / Tag:
refs/tags/py-v0.0.2 - Owner: https://github.com/illumination-k
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@d9676d7a1af359f989194cccd3979b5015abcc58 -
Trigger Event:
push
-
Statement type: