Metadata-Version: 2.4
Name: pymetadata
Version: 0.5.12
Summary: pymetadata are python utilities for working with metadata.
Author-email: Matthias König <konigmatt@googlemail.com>
Maintainer-email: Matthias König <konigmatt@googlemail.com>
License-File: LICENSE
Keywords: COMBINE,annotation,archive,metadata,modeling,standardization
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Python: >=3.10
Requires-Dist: depinfo>=2.2.0
Requires-Dist: fastobo>=0.14.1
Requires-Dist: jinja2>=3.1.6
Requires-Dist: lxml>=6.0.2
Requires-Dist: pronto>=2.7.2
Requires-Dist: pydantic>=2.12.5
Requires-Dist: requests>=2.32.5
Requires-Dist: rich>=14.2.0
Requires-Dist: xmltodict>=1.0.2
Provides-Extra: dev
Requires-Dist: bump-my-version>=1.2.4; extra == 'dev'
Requires-Dist: mypy>=1.18.2; extra == 'dev'
Requires-Dist: pre-commit>=4.0.1; extra == 'dev'
Requires-Dist: pytest-cov>=7.0.0; extra == 'dev'
Requires-Dist: pytest>=8.4.2; extra == 'dev'
Requires-Dist: quartodoc>=0.11.1; extra == 'dev'
Requires-Dist: ruff>=0.14.0; extra == 'dev'
Requires-Dist: tox>=4.31.0; extra == 'dev'
Description-Content-Type: text/markdown

![pymetadata logo](./_docs/images/favicon/pymetadata-100x100-300dpi.png)

# pymetadata: python utilities for metadata and COMBINE archives
[![GitHub Actions CI/CD Status](https://github.com/matthiaskoenig/pymetadata/workflows/CI-CD/badge.svg)](https://github.com/matthiaskoenig/pymetadata/actions/workflows/main.yml)
[![Version](https://img.shields.io/pypi/v/pymetadata.svg)](https://pypi.org/project/pymetadata/)
[![Python Versions](https://img.shields.io/pypi/pyversions/pymetadata.svg)](https://pypi.org/project/pymetadata/)
[![MIT License](https://img.shields.io/pypi/l/pymetadata.svg)](https://opensource.org/licenses/MIT)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5308801.svg)](https://doi.org/10.5281/zenodo.5308801)

pymetadata is a collection of python utilities for working with
metadata in the context of COMBINE standards with source code available from
[https://github.com/matthiaskoenig/pymetadata](https://github.com/matthiaskoenig/pymetadata).

Features include among others

- COMBINE archive version 1 support (OMEX)
- annotation classes and helpers
- SBO, KISAO and ECO ontology enums

If you have any questions or issues please [open an issue](https://github.com/matthiaskoenig/pymetadata/issues).

Documentation is available from https://matthiaskoenig.github.io/pymetadata.

A presentation from HARMONY2026 is available [here](https://matthiaskoenig.github.io/pymetadata/presentations/HARMONY2026/pymetadata.html).
[![](./_docs/images/HARMONY2026_slides.png)](https://matthiaskoenig.github.io/pymetadata/presentations/HARMONY2026/pymetadata.html)

# Installation
`pymetadata` is available from [pypi](https://pypi.python.org/pypi/pymetadata) and
can be installed via

```bash
pip install pymetadata
```

# Cache path
`pymetadata` caches some information for faster retrieval. The cache path is set to

```python
CACHE_PATH: Path = Path.home() / ".cache" / "pymetadata"
```

To use a custom cache path use

```python
import pymetadata
pymetadata.CACHE_PATH = <cache_path>
```


# How to cite
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5308801.svg)](https://doi.org/10.5281/zenodo.5308801)

# License
- Source Code: [MIT](https://opensource.org/license/MIT)
- Documentation: [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)

# Funding
Matthias König is supported and by the German Research Foundation (DFG) within the Research Unit Programme FOR 5151
"QuaLiPerF (Quantifying Liver Perfusion-Function Relationship in Complex Resection -
A Systems Medicine Approach)" by grant number 436883643 and by grant number
465194077 (Priority Programme SPP 2311, Subproject SimLivA).

Matthias König was supported by the Federal Ministry of Education and Research (BMBF, Germany)
within the research network Systems Medicine of the Liver (LiSyM, grant number 031L0054).

© 2021-2026 Matthias König
