# EMDB Python Client
A Python client for accessing and interacting with the [Electron Microscopy Data Bank (EMDB)](https://www.ebi.ac.uk/emdb/).
This package provides an easy-to-use interface to query EMDB entries, access metadata, and download associated files.
## ๐ Features
- Retrieve EMDB entries by ID
- Query metadata such as resolution, sample description, and related PDBs
- Download associated files (maps, images, metadata)
- Utility models for plotting and file handling
- Access to validation analysis and annotation data
## ๐ Documentation
Full API documentation is available at:
๐ [https://emdb.readthedocs.io/en/latest/](https://emdb.readthedocs.io/en/latest/)
## ๐ง Installation
You can install the EMDB client via pip:
```bash
pip install emdb
```
## โจ Quick Start
```python
from emdb.client import EMDB
from emdb.exceptions import EMDBNotFoundError
client = EMDB()
try:
# Retrieve an entry by ID
entry = client.get_entry("EMD-8117")
print(entry.resolution)
# Access cross-reference annotations
annotations = entry.get_annotations()
for annotation in annotations:
print(annotation)
# Access validation data and plot FSC
validation = entry.get_validation()
validation.plots.fsc.plot()
# Download all files
entry.download_all_files(output_dir="/tmp/emd1234/")
# Perform a query to return EMDB entries
results = client.search("HIV")
for entry in results:
print(entry.id, entry.method, entry.resolution)
# Perform a query to return a DataFrame
table = client.csv_search("HIV")
print(table)
except EMDBNotFoundError:
print("Entry not found.")
```
## ๐งช Tests
COMING SOON
## ๐ Requirements
- Python 3.8+
See [requirements.txt](requirements.txt) for full dependencies.
## ๐ค Contributing
Contributions are welcome!
Feel free to open issues or submit pull requests.
## ๐ License
This project is licensed under the Apache License 2.0.
## ๐ง Contact
For questions or feedback, please open an issue on GitHub or contact the maintainers.
Raw data
{
"_id": null,
"home_page": null,
"name": "emdb",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "EMDB, Electron Microscopy, Bioinformatics, Client",
"author": null,
"author_email": "Neli Fonseca <neli@ebi.ac.uk>",
"download_url": "https://files.pythonhosted.org/packages/d4/c6/cc709b47daa6f4e551cf7f8134884aaff1cba13ba1b6027f0ed4fd3b3114/emdb-0.1.7.tar.gz",
"platform": null,
"description": "# EMDB Python Client\n\nA Python client for accessing and interacting with the [Electron Microscopy Data Bank (EMDB)](https://www.ebi.ac.uk/emdb/). \nThis package provides an easy-to-use interface to query EMDB entries, access metadata, and download associated files.\n\n## \ud83d\ude80 Features\n- Retrieve EMDB entries by ID\n- Query metadata such as resolution, sample description, and related PDBs\n- Download associated files (maps, images, metadata)\n- Utility models for plotting and file handling\n- Access to validation analysis and annotation data\n\n## \ud83d\udcda Documentation\nFull API documentation is available at: \n\ud83d\udc49 [https://emdb.readthedocs.io/en/latest/](https://emdb.readthedocs.io/en/latest/)\n\n## \ud83d\udd27 Installation\nYou can install the EMDB client via pip:\n\n```bash\npip install emdb\n```\n\n## \u2728 Quick Start\n```python\nfrom emdb.client import EMDB\nfrom emdb.exceptions import EMDBNotFoundError\n\nclient = EMDB()\n\ntry:\n # Retrieve an entry by ID\n entry = client.get_entry(\"EMD-8117\")\n print(entry.resolution)\n \n # Access cross-reference annotations\n annotations = entry.get_annotations()\n for annotation in annotations:\n print(annotation)\n \n # Access validation data and plot FSC\n validation = entry.get_validation()\n validation.plots.fsc.plot()\n \n # Download all files\n entry.download_all_files(output_dir=\"/tmp/emd1234/\")\n \n # Perform a query to return EMDB entries\n results = client.search(\"HIV\")\n for entry in results:\n print(entry.id, entry.method, entry.resolution)\n \n # Perform a query to return a DataFrame\n table = client.csv_search(\"HIV\")\n print(table)\nexcept EMDBNotFoundError:\n print(\"Entry not found.\")\n```\n\n## \ud83e\uddea Tests\nCOMING SOON\n\n## \ud83d\udee0 Requirements\n- Python 3.8+\nSee [requirements.txt](requirements.txt) for full dependencies.\n\n## \ud83e\udd1d Contributing\nContributions are welcome!\nFeel free to open issues or submit pull requests.\n\n## \ud83d\udcc4 License\nThis project is licensed under the Apache License 2.0.\n\n## \ud83d\udce7 Contact\nFor questions or feedback, please open an issue on GitHub or contact the maintainers.\n\n",
"bugtrack_url": null,
"license": "Apache 2",
"summary": "A Python client for accessing the Electron Microscopy Data Bank (EMDB)",
"version": "0.1.7",
"project_urls": {
"Bug Tracker": "https://github.com/emdb-empiar/emdb-api-wrapper/issues",
"Documentation": "https://emdb.readthedocs.io/en/latest/",
"Homepage": "https://www.ebi.ac.uk/emdb/",
"Repository": "https://github.com/emdb-empiar/emdb-api-wrapper"
},
"split_keywords": [
"emdb",
" electron microscopy",
" bioinformatics",
" client"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "3e845fb7f6afaae93174ad6c0619b05eb366ffa0a0b8ba1faed7b2c4018a4e51",
"md5": "7509bc036c1f5dfee95b6eec03b5204e",
"sha256": "5e5eb791e391c5534420c33957afe9f6b37dd53a9ce1619a191b6755d3ee12ee"
},
"downloads": -1,
"filename": "emdb-0.1.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7509bc036c1f5dfee95b6eec03b5204e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 21978,
"upload_time": "2025-07-18T15:27:36",
"upload_time_iso_8601": "2025-07-18T15:27:36.413649Z",
"url": "https://files.pythonhosted.org/packages/3e/84/5fb7f6afaae93174ad6c0619b05eb366ffa0a0b8ba1faed7b2c4018a4e51/emdb-0.1.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d4c6cc709b47daa6f4e551cf7f8134884aaff1cba13ba1b6027f0ed4fd3b3114",
"md5": "04da30a56411142e940d0a9b9053c49a",
"sha256": "1849ddec939f9f4fe423e7689c6e1539b6c0179e5557a5bae5d23d7d652a9df0"
},
"downloads": -1,
"filename": "emdb-0.1.7.tar.gz",
"has_sig": false,
"md5_digest": "04da30a56411142e940d0a9b9053c49a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 20090,
"upload_time": "2025-07-18T15:27:37",
"upload_time_iso_8601": "2025-07-18T15:27:37.360859Z",
"url": "https://files.pythonhosted.org/packages/d4/c6/cc709b47daa6f4e551cf7f8134884aaff1cba13ba1b6027f0ed4fd3b3114/emdb-0.1.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-18 15:27:37",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "emdb-empiar",
"github_project": "emdb-api-wrapper",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "matplotlib",
"specs": [
[
"==",
"3.10.3"
]
]
},
{
"name": "pandas",
"specs": [
[
"==",
"2.3.1"
]
]
},
{
"name": "pydantic",
"specs": [
[
"==",
"2.11.7"
]
]
},
{
"name": "sphinx",
"specs": [
[
"==",
"8.2.3"
]
]
}
],
"lcname": "emdb"
}