IMPORTANT NOTE: I don't have time to maintain this library (as some of you might have noticed). The PubMed API is a little chaotic, without a clear documentation and no single way of doing things, making it almost impossible to create a proper library. Feel free to create a fork or use the code for your own projects, however, I will archive this repository. Thanks to all contributers and users!
PyMed is a Python library that provides access to PubMed through the PubMed API.
The PubMed API is not very well documented and querying it in a performant way is too complicated and time consuming for researchers. This wrapper provides access to the API in a consistent, readable and performant way.
This library takes care of the following for you:
- Querying the PubMed database (with the standard PubMed query language)
- Batching of requests for better performance
- Parsing and cleaning of the retrieved articles
For full (working) examples have a look at the examples/
folder in this repository. In essence you only need to import the PubMed
class, instantiate it, and use it to query:
from pymed import PubMed
pubmed = PubMed(tool="MyTool", email="my@email.address")
results = pubmed.query("Some query", max_results=500)
The original documentation of the PubMed API can be found here: PubMed Central. PubMed Central kindly requests you to:
- Do not make concurrent requests, even at off-peak times; and
- Include two parameters that help to identify your service or application to our servers
- tool should be the name of the application, as a string value with no internal spaces, and
- email should be the e-mail address of the maintainer of the tool, and should be a valid e-mail address.
The author of this library is not affiliated, associated, authorized, endorsed by, or in any way officially connected with PubMed, or any of its subsidiaries or its affiliates. The official PubMed website can be found at https://www.ncbi.nlm.nih.gov/pubmed/.