Skip to main content

Add your description here

Project description

PubMed Client

PubMed is a database of over 37 million citations for biomedical literature from MEDLINE, life science journals, and online books. Citations may include links to full text content from PubMed Central and publisher web sites.

PubMed Client is a simple open-source Python client for calling the NCBI PubMed API.

At the moment, the SDK mostly wraps around Entrez 'E-Utilities' API.

See for more details on the E-Utilities API from PubMed:

Installation

# recommended uv, will add pubmesdk to your uv project
uv add pubmedclient

# or pip
pip install pubmedclient

Usage

warning: without api key, you can only make 3 requests per second per IP.

from pubmedclient import pubmedclient_client

# this is a thin wrapper around httpx
# with a few headers set for Entrez API
async with pubmedclient_client() as client:

    # get the name of all available databases via EInfo
    params = EInfoRequest()
    response = await einfo(client, params)
    print(response)

    # get info about pubmed database
    params = EInfoRequest(db="pubmed")
    response = await einfo(client, params)
    print(response)

    # search for articles about asthma in the pubmed database
    params = ESearchRequest(db="pubmed", term="asthma")
    response = await esearch(client, params)
    print(response)

    # fetch the abstract for one of the returned id
    params = EFetchRequest(db="pubmed", id="39737528", rettype="abstract", retmode="text")
    response = await efetch(client, params)
    print(response)

Development

During development, setup the pip package in editable mode to resolve imports from the local package.

uv pip install -e .

# or pip
pip install -e .

Contributing

The API coverage is far from complete.

We welcome contributions. Please feel free to open an issue or a PR.

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

pubmedclient-0.2.0.tar.gz (58.5 kB view details)

Uploaded Source

Built Distribution

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

pubmedclient-0.2.0-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file pubmedclient-0.2.0.tar.gz.

File metadata

  • Download URL: pubmedclient-0.2.0.tar.gz
  • Upload date:
  • Size: 58.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pubmedclient-0.2.0.tar.gz
Algorithm Hash digest
SHA256 0a2f46a704bd51367b6fa6b69510c44e61ee4fa97c2cb4c185ca8a13674ef199
MD5 2598ba86109f744558e336c08f595e2e
BLAKE2b-256 631027c527a3e6a228dcc39c39428d71c0107c9c587ae45d1cc31d8ea001863e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pubmedclient-0.2.0.tar.gz:

Publisher: release.yml on grll/pubmedclient

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

File details

Details for the file pubmedclient-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pubmedclient-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for pubmedclient-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b7460bd5f54174f3d3ba5ffe3f5ed3826c46e0cdbcd651a465f2d69a45fd26f0
MD5 89bda8b2bdd40c07d7d4ef9753a68f7b
BLAKE2b-256 fec6dcc224a0e1396386991327fc46a294d330efd8c6380447cf733db887a694

See more details on using hashes here.

Provenance

The following attestation bundles were made for pubmedclient-0.2.0-py3-none-any.whl:

Publisher: release.yml on grll/pubmedclient

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