Metadata-Version: 2.4
Name: pymed_paperscraper
Version: 1.0.4
Summary: Python library for access to PubMed -- fork from archived PyMed
Author-email: Jannis Born <jannis.born@gmx.de>
License: MIT
Project-URL: Homepage, https://github.com/jannisborn/pymed
Keywords: PubMed,Academics,Science,Publication,Search
Classifier: Topic :: Utilities
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENCE
Requires-Dist: requests>=2.20.0
Requires-Dist: tqdm
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Dynamic: license-file

NOTE: This is a user-maintained extension of the [pymed](https://pypi.org/project/pymed/) project which was [archived in 2020](https://github.com/gijswobben/pymed). Some bugs in `pymed` are fixed here. This package can be installed via `pip install pymed-paperscraper` since I forked it to support [`paperscraper`](https://github.com/jannisborn/paperscraper).

[![License:
MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![PyPI version](https://badge.fury.io/py/pymed_paperscraper.svg)](https://badge.fury.io/py/pymed_paperscraper)
[![Downloads](https://static.pepy.tech/badge/pymed_paperscraper)](https://pepy.tech/project/pymed_paperscraper)
[![Downloads](https://static.pepy.tech/badge/pymed_paperscraper/month)](https://pepy.tech/project/pymed_paperscraper)

# PyMed - PubMed Access through Python
PyMed is a Python library that provides access to PubMed through the PubMed API.

## Why this library?
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.

## Features
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

## Examples
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:

```python
from pymed_paperscraper import PubMed
pubmed = PubMed(tool="MyTool", email="my@email.address")
results = pubmed.query("Some query", max_results=500)
```

## Bugfixes compared to archived [`pymed`](https://github.com/gijswobben/pymed):
- Article IDs are correctly extracted [`pymed#22`](https://github.com/gijswobben/pymed/issues/22)
- Automatic retries if API is unresponsive/overloaded. Support for `max_tries` in `PubMed` class.

## Notes on the API
The original documentation of the PubMed API can be found here: [PubMed Central](https://www.ncbi.nlm.nih.gov/pmc/tools/developers/). 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.

## Citation
If you use `pymed_paperscraper` in your work, please cite:
```bib
(Citation follows)
```

