Metadata-Version: 2.4
Name: pymetadata
Version: 0.5.2
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 :: 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.12.3
Requires-Dist: jinja2>=3.1.5
Requires-Dist: lxml>=5.3
Requires-Dist: pronto>=2.5.8
Requires-Dist: pydantic>=2.10.4
Requires-Dist: requests>=2.32.3
Requires-Dist: rich>=13.9.4
Requires-Dist: xmltodict>=0.14.2
Requires-Dist: zeep>=4.3.1
Provides-Extra: dev
Requires-Dist: bump-my-version>=0.29.0; extra == 'dev'
Requires-Dist: mypy>=1.9.0; extra == 'dev'
Requires-Dist: pre-commit>=4.0.1; extra == 'dev'
Requires-Dist: ruff>=0.8.6; extra == 'dev'
Provides-Extra: test
Requires-Dist: pytest-cov>=5.0.0; extra == 'test'
Requires-Dist: pytest>=8.1.1; extra == 'test'
Requires-Dist: tox>=4.14.2; extra == 'test'
Description-Content-Type: text/markdown

![pymetadata logo](https://github.com/matthiaskoenig/pymetadata/raw/develop/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 and KISAO ontology enums
 
If you have any questions or issues please [open an issue](https://github.com/matthiaskoenig/pymetadata/issues).

# Documentation
Documentation is still work in progress. For an example usage of the COMBINE archive
see [omex_example.py](src/pymetadata/examples/omex_example.py).

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

# Contributing
Contributions are always welcome! Please read the [contributing guidelines](https://github.com/matthiaskoenig/pymetadata/blob/develop/.github/CONTRIBUTING.rst) to get started.

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

# Funding
Matthias König (MK) 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). MK is supported by the Federal Ministry of Education and Research (BMBF, Germany) within ATLAS by grant number 031L0304B and by the German Research Foundation (DFG) within the Research Unit Program 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).

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

```bash
pip install pymetadata
```

## Develop version
The latest develop version can be installed via
```bash
pip install git+https://github.com/matthiaskoenig/pymetadata.git@develop
```

Or via cloning the repository and installing via
```bash
git clone https://github.com/matthiaskoenig/pymetadata.git
cd pymetadata
pip install -e .
```

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

© 2021-2025 Matthias König
