Metadata-Version: 2.1
Name: kiara
Version: 0.2.2
Summary: A workflow management and execution engine for the DHARPA project.
Home-page: https://github.com/DHARPA-Project/kiara
Author: Markus Binsteiner
Author-email: markus@frkl.io
License: MPL-2.0
Platform: any
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: Deprecated (>=1.2.0)
Requires-Dist: appdirs (<2.0.0,>=1.4.4)
Requires-Dist: bidict (>=0.21.0)
Requires-Dist: click (>=7.0.0)
Requires-Dist: deepdiff (<6.0.0,>=5.2.0)
Requires-Dist: dpath (>=2.0.0)
Requires-Dist: filetype (<2.0.0,>=1.0.0)
Requires-Dist: jinja2 (>=3.0.1)
Requires-Dist: networkx (<3.0,>=2.5)
Requires-Dist: pp-ez (>=0.2.0)
Requires-Dist: py-multibase (<2.0.0,>=1.0.0)
Requires-Dist: py-multihash (<3.0.0,>=2.0.0)
Requires-Dist: pydantic[email] (<2.0.0,>=1.7.0)
Requires-Dist: python-dateutil (>=2.8.0)
Requires-Dist: python-slugify (>=5.0.0)
Requires-Dist: pyyaml (<6.0.0,>=5.4.0)
Requires-Dist: pyzmq (<23.0.0,>=22.0.0)
Requires-Dist: rich (<11.0.0,>=9.0.0)
Requires-Dist: ruamel.yaml (<0.18.0,>=0.17.0)
Requires-Dist: stevedore (<4.0.0,>=3.3.0)
Requires-Dist: toolz (>=0.11.0)
Requires-Dist: tzlocal (<3.0,>=2.1)
Requires-Dist: typing-extensions (>=3.0.0.0) ; python_version < "3.8"
Provides-Extra: all
Requires-Dist: ipython (<8.0.0,>=7.0.0) ; extra == 'all'
Requires-Dist: fastapi (>=0.66) ; extra == 'all'
Requires-Dist: rise ; extra == 'all'
Requires-Dist: jupyterlab ; extra == 'all'
Requires-Dist: uvicorn (>=0.14.0) ; extra == 'all'
Requires-Dist: click (>=7.0.0) ; extra == 'all'
Requires-Dist: jupytext (>=1.11.0) ; extra == 'all'
Requires-Dist: black ; extra == 'all'
Provides-Extra: all_dev
Requires-Dist: flake8 (>=3.8.4) ; extra == 'all_dev'
Requires-Dist: pytest-cov (>=2.11.1) ; extra == 'all_dev'
Requires-Dist: pandas ; extra == 'all_dev'
Requires-Dist: wheel ; extra == 'all_dev'
Requires-Dist: rise ; extra == 'all_dev'
Requires-Dist: jupyter ; extra == 'all_dev'
Requires-Dist: mknotebooks (>=0.7.0) ; extra == 'all_dev'
Requires-Dist: coveralls (>=3.2.0) ; extra == 'all_dev'
Requires-Dist: pyarrow ; extra == 'all_dev'
Requires-Dist: types-python-dateutil ; extra == 'all_dev'
Requires-Dist: jupytext (>=1.11.0) ; extra == 'all_dev'
Requires-Dist: types-python-slugify ; extra == 'all_dev'
Requires-Dist: mike (>=1.0.1) ; extra == 'all_dev'
Requires-Dist: types-tzlocal ; extra == 'all_dev'
Requires-Dist: fastapi (>=0.66) ; extra == 'all_dev'
Requires-Dist: jupyterlab ; extra == 'all_dev'
Requires-Dist: mypy (>=0.800) ; extra == 'all_dev'
Requires-Dist: mkdocs-macros-plugin (<0.6.0,>=0.5.0) ; extra == 'all_dev'
Requires-Dist: kiara-modules.network-analysis[all] ; extra == 'all_dev'
Requires-Dist: pip-licenses (>=3.3.0) ; extra == 'all_dev'
Requires-Dist: types-Deprecated ; extra == 'all_dev'
Requires-Dist: mkdocs-material (<8.0.0,>=7.1.0) ; extra == 'all_dev'
Requires-Dist: watchgod (>=0.6) ; extra == 'all_dev'
Requires-Dist: kiara-modules.language-processing[all] ; extra == 'all_dev'
Requires-Dist: pytest-html (>=3.1.0) ; extra == 'all_dev'
Requires-Dist: uvicorn (>=0.14.0) ; extra == 'all_dev'
Requires-Dist: kiara-modules.core[all] ; extra == 'all_dev'
Requires-Dist: pre-commit (>=2.9.3) ; extra == 'all_dev'
Requires-Dist: icecream (>=2.1.0) ; extra == 'all_dev'
Requires-Dist: black ; extra == 'all_dev'
Requires-Dist: ipython (<8.0.0,>=7.0.0) ; extra == 'all_dev'
Requires-Dist: setup-cfg-fmt (>=1.16.0) ; extra == 'all_dev'
Requires-Dist: types-pkg-resources ; extra == 'all_dev'
Requires-Dist: types-PyYAML ; extra == 'all_dev'
Requires-Dist: mkdocstrings (<0.16.0,>=0.15.2) ; extra == 'all_dev'
Requires-Dist: pytest (>=6.2.2) ; extra == 'all_dev'
Requires-Dist: mkdocs-awesome-pages-plugin (>=2.5.0) ; extra == 'all_dev'
Requires-Dist: tox (>=3.21.2) ; extra == 'all_dev'
Requires-Dist: click (>=7.0.0) ; extra == 'all_dev'
Requires-Dist: ipython ; extra == 'all_dev'
Requires-Dist: mkdocs-gen-files (>=0.3.1) ; (python_version >= "3.7") and extra == 'all_dev'
Provides-Extra: all_modules
Requires-Dist: rise ; extra == 'all_modules'
Requires-Dist: kiara-modules.language-processing[all] ; extra == 'all_modules'
Requires-Dist: uvicorn (>=0.14.0) ; extra == 'all_modules'
Requires-Dist: kiara-modules.core[all] ; extra == 'all_modules'
Requires-Dist: jupytext (>=1.11.0) ; extra == 'all_modules'
Requires-Dist: black ; extra == 'all_modules'
Requires-Dist: ipython (<8.0.0,>=7.0.0) ; extra == 'all_modules'
Requires-Dist: fastapi (>=0.66) ; extra == 'all_modules'
Requires-Dist: jupyterlab ; extra == 'all_modules'
Requires-Dist: click (>=7.0.0) ; extra == 'all_modules'
Requires-Dist: kiara-modules.network-analysis[all] ; extra == 'all_modules'
Provides-Extra: cli
Requires-Dist: click (>=7.0.0) ; extra == 'cli'
Provides-Extra: dev_documentation
Requires-Dist: icecream (>=2.1.0) ; extra == 'dev_documentation'
Requires-Dist: mike (>=1.0.1) ; extra == 'dev_documentation'
Requires-Dist: mkdocs-awesome-pages-plugin (>=2.5.0) ; extra == 'dev_documentation'
Requires-Dist: mkdocs-macros-plugin (<0.6.0,>=0.5.0) ; extra == 'dev_documentation'
Requires-Dist: mkdocs-material (<8.0.0,>=7.1.0) ; extra == 'dev_documentation'
Requires-Dist: mkdocstrings (<0.16.0,>=0.15.2) ; extra == 'dev_documentation'
Requires-Dist: mknotebooks (>=0.7.0) ; extra == 'dev_documentation'
Requires-Dist: mkdocs-gen-files (>=0.3.1) ; (python_version >= "3.7") and extra == 'dev_documentation'
Provides-Extra: dev_modules
Requires-Dist: jupyter ; extra == 'dev_modules'
Requires-Dist: jupyterlab ; extra == 'dev_modules'
Requires-Dist: pandas ; extra == 'dev_modules'
Requires-Dist: pyarrow ; extra == 'dev_modules'
Provides-Extra: dev_testing
Requires-Dist: coveralls (>=3.2.0) ; extra == 'dev_testing'
Requires-Dist: flake8 (>=3.8.4) ; extra == 'dev_testing'
Requires-Dist: mypy (>=0.800) ; extra == 'dev_testing'
Requires-Dist: pytest (>=6.2.2) ; extra == 'dev_testing'
Requires-Dist: pytest-cov (>=2.11.1) ; extra == 'dev_testing'
Requires-Dist: pytest-html (>=3.1.0) ; extra == 'dev_testing'
Requires-Dist: tox (>=3.21.2) ; extra == 'dev_testing'
Requires-Dist: types-Deprecated ; extra == 'dev_testing'
Requires-Dist: types-PyYAML ; extra == 'dev_testing'
Requires-Dist: types-pkg-resources ; extra == 'dev_testing'
Requires-Dist: types-python-dateutil ; extra == 'dev_testing'
Requires-Dist: types-python-slugify ; extra == 'dev_testing'
Requires-Dist: types-tzlocal ; extra == 'dev_testing'
Provides-Extra: dev_utils
Requires-Dist: black ; extra == 'dev_utils'
Requires-Dist: flake8 (>=3.8.4) ; extra == 'dev_utils'
Requires-Dist: ipython ; extra == 'dev_utils'
Requires-Dist: pip-licenses (>=3.3.0) ; extra == 'dev_utils'
Requires-Dist: pre-commit (>=2.9.3) ; extra == 'dev_utils'
Requires-Dist: setup-cfg-fmt (>=1.16.0) ; extra == 'dev_utils'
Requires-Dist: watchgod (>=0.6) ; extra == 'dev_utils'
Requires-Dist: wheel ; extra == 'dev_utils'
Provides-Extra: jupyter
Requires-Dist: ipython (<8.0.0,>=7.0.0) ; extra == 'jupyter'
Requires-Dist: jupyterlab ; extra == 'jupyter'
Requires-Dist: rise ; extra == 'jupyter'
Provides-Extra: modules_core
Requires-Dist: kiara-modules.core[all] ; extra == 'modules_core'
Provides-Extra: modules_language_processing
Requires-Dist: kiara-modules.language-processing[all] ; extra == 'modules_language_processing'
Provides-Extra: modules_network_analysis
Requires-Dist: kiara-modules.network-analysis[all] ; extra == 'modules_network_analysis'
Provides-Extra: rendering
Requires-Dist: black ; extra == 'rendering'
Requires-Dist: jupytext (>=1.11.0) ; extra == 'rendering'
Provides-Extra: rest_api
Requires-Dist: fastapi (>=0.66) ; extra == 'rest_api'
Requires-Dist: uvicorn (>=0.14.0) ; extra == 'rest_api'

[![PyPI status](https://img.shields.io/pypi/status/kiara.svg)](https://pypi.python.org/pypi/kiara/)
[![PyPI version](https://img.shields.io/pypi/v/kiara.svg)](https://pypi.python.org/pypi/kiara/)
[![PyPI pyversions](https://img.shields.io/pypi/pyversions/kiara.svg)](https://pypi.python.org/pypi/kiara/)
[![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2FDHARPA-Project%2Fkiara%2Fbadge%3Fref%3Ddevelop&style=flat)](https://actions-badge.atrox.dev/DHARPA-Project/kiara/goto?ref=develop)
[![Coverage Status](https://coveralls.io/repos/github/DHARPA-Project/kiara/badge.svg?branch=develop)](https://coveralls.io/github/DHARPA-Project/kiara?branch=develop)
[![Code style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)

# kiara

*A research data management and orchestration framework.*

 - *kiara* user documentation: [https://dharpa.org/kiara.documentation](https://dharpa.org/kiara.documentation/)
 - Code: [https://github.com/DHARPA-Project/kiara](https://github.com/DHARPA-Project/kiara)
 - Development documentation for this repo: [https://dharpa.org/kiara](https://dharpa.org/kiara)

## Description

*Kiara* is the data orchestration engine developed by the DHARPA project. It uses a modular approach
to let users re-use tried and tested data orchestration pipelines, as well as create new ones from existing building
blocks. It also helps you manage your research data, and augment it with automatically-, semi-automatically-, and manually-
created metadata. Most of this is not yet implemented.

## Development

### Requirements

- Python (version >=3.6 -- some make targets only work for Python >=3.7, but *kiara* itself should work on 3.6)
- pip, virtualenv
- git
- make
- [direnv](https://direnv.net/) (optional)


### Prepare development environment

```console
git clone https://github.com/DHARPA-Project/kiara.git
cd kiara
python3 -m venv .venv
source .venv/bin/activate
make init
```

If you use [direnv](https://direnv.net/), you can alternatively do:

``` console
git clone https://github.com/DHARPA-Project/kiara.git
cd kiara
cp .envrc.disabled .envrc
direnv allow
make init
```

*Note*: you might want to adjust the Python version in ``.envrc`` (should not be necessary in most cases though)

### ``make`` targets

- ``init``: init development project (install project & dev dependencies into virtualenv, as well as pre-commit git hook)
- ``update-modules``: update default kiara modules package from git
- ``flake``: run *flake8* tests
- ``mypy``: run *mypy* tests
- ``test``: run unit tests
- ``docs``: create static documentation pages (under ``build/site``)
- ``serve-docs``: serve documentation pages (incl. auto-reload) for getting direct feedback when working on documentation
- ``clean``: clean build directories

For details (and other, minor targets), check the ``Makefile``.


### Running tests

``` console
> make test
# or
> make coverage
```


## Copyright & license

This project is MPL v2.0 licensed, for the license text please check the [LICENSE](/LICENSE) file in this repository.

[Copyright (c) 2021 DHARPA project](https://dharpa.org)


