Metadata-Version: 2.1
Name: pymetadata
Version: 0.4.4
Summary: pymetadata are python utilities for working with metadata.
Home-page: https://github.com/matthiaskoenig/pymetadata
Download-URL: https://pypi.org/project/pymetadata
Author: Matthias Koenig
Author-email: konigmatt@googlemail.com
Maintainer: Matthias Koenig
Maintainer-email: konigmatt@googlemail.com
License: LGPL-3.0
Project-URL: Source Code, https://github.com/matthiaskoenig/pymetadata
Project-URL: Documentation, https://github.com/matthiaskoenig/pymetadata
Project-URL: Bug Tracker, https://github.com/matthiaskoenig/pymetadata/issues
Keywords: modeling,standardization,COMBINE,metadata,archive,annotation
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Python: >=3.9
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: depinfo >=1.7
Requires-Dist: lxml >=5.2
Requires-Dist: rich >=13.7
Requires-Dist: requests >=2.31
Requires-Dist: zeep >=4.2.1
Requires-Dist: pronto >=2.5.6
Requires-Dist: fastobo >=0.12.3
Requires-Dist: jinja2 >=3.1
Requires-Dist: xmltodict >=0.13.0
Requires-Dist: pydantic >=2.6
Provides-Extra: development
Requires-Dist: pip-tools >=7.4.1 ; extra == 'development'
Requires-Dist: black >=24.3.0 ; extra == 'development'
Requires-Dist: bump2version >=1.0.1 ; extra == 'development'
Requires-Dist: isort >=5.13.2 ; extra == 'development'
Requires-Dist: tox >=4.12.2 ; extra == 'development'
Requires-Dist: flake8 >=7.0.0 ; extra == 'development'
Requires-Dist: flake8-mypy >=17.8.0 ; extra == 'development'
Requires-Dist: mypy >=1.9.0 ; extra == 'development'
Requires-Dist: pytest >=8.1.1 ; extra == 'development'
Requires-Dist: pytest-cov >=5.0.0 ; extra == 'development'

.. image:: https://github.com/matthiaskoenig/pymetadata/raw/develop/docs/images/favicon/pymetadata-100x100-300dpi.png
   :align: left
   :alt: pymetadata logo

pymetadata: python utilities for metadata and COMBINE archives
==============================================================
|icon1| |icon2| |icon3| |icon4| |icon5| |icon6| |icon7|


.. |icon1| image:: https://github.com/matthiaskoenig/pymetadata/workflows/CI-CD/badge.svg
   :target: https://github.com/matthiaskoenig/pymetadata/workflows/CI-CD
   :alt: GitHub Actions CI/CD Status
.. |icon2| image:: https://img.shields.io/pypi/v/pymetadata.svg
   :target: https://pypi.org/project/pymetadata/
   :alt: Current PyPI Version
.. |icon3| image:: https://img.shields.io/pypi/pyversions/pymetadata.svg
   :target: https://pypi.org/project/pymetadata/
   :alt: Supported Python Versions
.. |icon4| image:: https://img.shields.io/pypi/l/pymetadata.svg
   :target: http://opensource.org/licenses/LGPL-3.0
   :alt: GNU Lesser General Public License 3
.. |icon5| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.5308801.svg
   :target: https://doi.org/10.5281/zenodo.5308801
   :alt: Zenodo DOI
.. |icon6| image:: https://img.shields.io/badge/code%20style-black-000000.svg
   :target: https://github.com/ambv/black
   :alt: Black
.. |icon7| image:: http://www.mypy-lang.org/static/mypy_badge.svg
   :target: http://mypy-lang.org/
   :alt: mypy

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 `src/pymetadata/examples/omex_example.py <src/pymetadata/examples/omex_example.py>`__.

How to cite
===========

.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.5308801.svg
   :target: https://doi.org/10.5281/zenodo.5308801
   :alt: Zenodo DOI

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: `LGPLv3 <http://opensource.org/licenses/LGPL-3.0>`__
* Documentation: `CC BY-SA 4.0 <http://creativecommons.org/licenses/by-sa/4.0/>`__

The pymetadata source is released under both the GPL and LGPL licenses version 2 or
later. You may choose which license you choose to use the software under.

This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License or the GNU Lesser General Public
License as published by the Free Software Foundation, either version 2 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.

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

    pip install pymetadata

Develop version
---------------
The latest develop version can be installed via::

    pip install git+https://github.com/matthiaskoenig/pymetadata.git@develop

Or via cloning the repository and installing via::

    git clone https://github.com/matthiaskoenig/pymetadata.git
    cd pymetadata
    pip install -e .


To install for development use::

    pip install -e .[development]


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

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

To use a custom cache path use::

    import pymetadata
    pymetadata.CACHE_PATH = <cache_path>

© 2021-2024 Matthias König
