Python REST API for Entrez E-Utilities: stateless, easy to use, reliable.
Project description
Python REST API for Entrez E-Utilities, aiming to be easy to use and reliable.
Previously published entrezpy implements stateful API extensions (queries with history) which is error-prone and led me (and others) to obtain misleading results.
This implementation: - avoids the problem altogether by not using such stateful API, - makes common tasks easy thanks to simple Pythonic API, - is typed and integrates well with mypy, - tested on Windows, Mac and Linux across Python 3.6, 3.7, and 3.8, - is limited in scope, allowing to focus on the reliability of the core code.
Stats: Beta
from easy_entrez import EntrezAPI
entrez_api = EntrezAPI(
'your-tool-name',
'e@mail.com',
# optional
return_type='json'
)
# find up to 10 000 results for cancer in human
result = entrez_api.search('cancer AND human[organism]', max_results=10_000)
# data will be populated with JSON or XML (depending on the `return_type` value)
result.data
See more in the Demo notebook and documentation.
Installation
Requires Python 3.6+. Install with:
pip install easy-entrez
If you wish to enable (optional, tqdm-based) progress bars use:
pip install easy-entrez[with_progress_bars]
Alternatives:
You might want to try:
biopython.Entrez - biopython is a heavy dependency, but probably good choice if you already use it
pubmedpy - provides interesting utilities for parsing the responses
entrez - appears to have a comparable scope but quite different API
I have tried and do not recommend:
entrezpy - in addition to the history problems, watch out for documentation issues and basically no reaction to pull requests.
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
File details
Details for the file easy_entrez-0.2.1.tar.gz
.
File metadata
- Download URL: easy_entrez-0.2.1.tar.gz
- Upload date:
- Size: 12.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea27f796a921e4230bf76e180a53c9aedbd21b69fe739e8005bc572f0116635d |
|
MD5 | b89c447371bcad7f7ab26b0b413f6836 |
|
BLAKE2b-256 | 973d68f201389697d5ac66d3a048e81e08108c6b5492f7e83264d0a18f7fd6b4 |