Skip to main content

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


Download files

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

Source Distribution

pubmed_client_py-0.0.2.tar.gz (1.2 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pubmed_client_py-0.0.2-cp314-cp314-win_amd64.whl (3.7 MB view details)

Uploaded CPython 3.14Windows x86-64

pubmed_client_py-0.0.2-cp314-cp314-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pubmed_client_py-0.0.2-cp314-cp314-macosx_10_12_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

pubmed_client_py-0.0.2-cp313-cp313-win_amd64.whl (3.7 MB view details)

Uploaded CPython 3.13Windows x86-64

pubmed_client_py-0.0.2-cp313-cp313-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pubmed_client_py-0.0.2-cp313-cp313-macosx_10_12_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

pubmed_client_py-0.0.2-cp312-cp312-win_amd64.whl (3.7 MB view details)

Uploaded CPython 3.12Windows x86-64

pubmed_client_py-0.0.2-cp312-cp312-manylinux_2_34_x86_64.whl (6.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

pubmed_client_py-0.0.2-cp312-cp312-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pubmed_client_py-0.0.2-cp312-cp312-macosx_10_12_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

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

Hashes for pubmed_client_py-0.0.2.tar.gz
Algorithm Hash digest
SHA256 95687c5abf6890a2625325c69537e8c82f0ee179575045a5fd19f1bc3f7f5886
MD5 404199e594bee89da2d1729dfa321a50
BLAKE2b-256 520dc131aa8a88c9e6c9fe96165aafdc27f49744dd2c6f88f80eb8164b0c7a29

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pubmed_client_py-0.0.2-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for pubmed_client_py-0.0.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 8c53f3d2d0e60ee7c30ee03724efb3d336ff6a06efd6eb0d8f1da76b519c02d8
MD5 db9825ece2f956ca7c6c610becf2a24e
BLAKE2b-256 574e21dcb5fdd87b57fb3268946387541a80448e9210a55079dd39da20d28479

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pubmed_client_py-0.0.2-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pubmed_client_py-0.0.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c9c6c06d726a8e93ef896451821e8ebe598253dbd1c2246204690a3010cdb15f
MD5 c8118940a2b836b465e198da45f69689
BLAKE2b-256 8ab36561545cf1fcd280b8015946402cbaa313308486e1a7940b786e76bf85f4

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pubmed_client_py-0.0.2-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pubmed_client_py-0.0.2-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6061f44373c9f30eb41f0add064ed34e0ca0b8c6b42558a059f014050a091201
MD5 9704376df42a3902a680ba3eece288a3
BLAKE2b-256 51b62b07d75e27766021ffe8dcd78a03ab8512043982ae005cab59d1f15dea47

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pubmed_client_py-0.0.2-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pubmed_client_py-0.0.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 73ebc194df8d2650f7d9022a4cdd414d98219c5cf2d0a881d96423e74dd427aa
MD5 c5ad8e42b5dd1ddaa8e9e699a5cc8c79
BLAKE2b-256 5a1287d76aecde95bc8ceb641ed16e4001d65bc07be287a8f5b1ad0ff7985aa8

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pubmed_client_py-0.0.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pubmed_client_py-0.0.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 045e39fcdd923a808c3de5b4a207249262a597b3c3131a884e41c48d0f6de1f0
MD5 662b21affc74a23aea3c9a776c86dd7d
BLAKE2b-256 c6e400834d1ecfae79a84112acec757782dd174894626ba486e21221cdd8797e

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pubmed_client_py-0.0.2-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pubmed_client_py-0.0.2-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 57aae8df29582ec72b447dff78aca91e2503578a6df2b2f37085cc66ed9acc4b
MD5 8800d13027a75254bd690cb8894e8224
BLAKE2b-256 f0fd669690bc26b915171bb09fe863b17ed0f150f0d2da593b62186b25da030a

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pubmed_client_py-0.0.2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pubmed_client_py-0.0.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 44160613cb9de1745fcb269d056dc71bc925f247094601759b9de1a64b311727
MD5 82cee4866e6652945fe9c6773720e7fc
BLAKE2b-256 a8a5acbe574698f1452c4cd7f77374a223d6c5b45276cffd5542e964b9b173d6

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pubmed_client_py-0.0.2-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pubmed_client_py-0.0.2-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 a6933ed22cf7fc815dffd005359f8c915a4521dda83093e5fd03746563a1ae11
MD5 36ebda82bf160863f9d41824aeb967c6
BLAKE2b-256 bc42b55ff0ba951a9497e7dde0cfcc678d7185b91bcd70cc907e9cb8cbe3806e

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pubmed_client_py-0.0.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pubmed_client_py-0.0.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 affd87fa529c2ff34dbd551677e808abafac6bf1a104ad4e2e7f9f0fdc10d811
MD5 8cf96793e6c1d2ffa48de55bb82af530
BLAKE2b-256 fd2d4c80bc23a47eb90f6fed781c78d0054088c2f01ba44079e3cd77dc2cca5b

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pubmed_client_py-0.0.2-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pubmed_client_py-0.0.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 60a4e8a2004905ff4da64110c1d62e181674a794024cee4e0cb59665ac004291
MD5 a7729cc5d25e23e2a693e035335ec13b
BLAKE2b-256 d4fe93575184d3b2cc3e1abf9319e5e39eb8bb3d6e513f511de88d9c27da8ea6

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page