Metadata-Version: 2.1
Name: pycyclops
Version: 0.1.14
Summary: Framework for healthcare ML implementation
Home-page: https://github.com/VectorInstitute/cyclops
License: Apache-2.0
Author: Vector AI Engineering
Author-email: cyclops@vectorinstitute.ai
Requires-Python: >=3.8,<3.11
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Dist: SQLAlchemy (>=1.4.32,<2.0.0)
Requires-Dist: alibi-detect[torch] (>=0.10.4,<0.11.0)
Requires-Dist: alibi[shap] (>=0.8.0,<0.9.0)
Requires-Dist: colorama (>=0.4.4,<0.5.0)
Requires-Dist: dask[dataframe] (>=2022.9.1,<2023.0.0)
Requires-Dist: hydra-core (>=1.2.0,<2.0.0)
Requires-Dist: llvmlite (>=0.38.0,<0.39.0)
Requires-Dist: matplotlib (>=3.5.1,<4.0.0)
Requires-Dist: pandas (>=1.4.1,<2.0.0)
Requires-Dist: plotly (>=5.7.0,<6.0.0)
Requires-Dist: protobuf (>=3.20.0,<4.0.0)
Requires-Dist: psycopg2-binary (>=2.9.3,<3.0.0)
Requires-Dist: pyarrow (>=7.0.0,<8.0.0)
Requires-Dist: pyparsing (>=3.0.8,<4.0.0)
Requires-Dist: seaborn (>=0.11.2,<0.12.0)
Requires-Dist: shap (>=0.40.0,<0.41.0)
Requires-Dist: tables (>=3.7.0,<4.0.0)
Requires-Dist: torch (>=1.11.0,<2.0.0)
Requires-Dist: torchxrayvision (>=0.0.37,<0.0.38)
Requires-Dist: xgboost (>=1.5.2,<2.0.0)
Project-URL: Documentation, https://vectorinstitute.github.io/cyclops/
Project-URL: Repository, https://github.com/VectorInstitute/cyclops
Description-Content-Type: text/markdown

![cyclops Logo](https://github.com/VectorInstitute/cyclops/blob/main/docs/source/theme/static/cyclops_logo-dark.png?raw=true)

--------------------------------------------------------------------------------

[![PyPI](https://img.shields.io/pypi/v/pycyclops)](https://pypi.org/project/pycyclops)
[![code checks](https://github.com/VectorInstitute/cyclops/actions/workflows/code_checks.yml/badge.svg)](https://github.com/VectorInstitute/cyclops/actions/workflows/code_checks.yml)
[![integration tests](https://github.com/VectorInstitute/cyclops/actions/workflows/integration_tests.yml/badge.svg)](https://github.com/VectorInstitute/cyclops/actions/workflows/integration_tests.yml)
[![docs](https://github.com/VectorInstitute/cyclops/actions/workflows/docs_deploy.yml/badge.svg)](https://github.com/VectorInstitute/cyclops/actions/workflows/docs_deploy.yml)
[![codecov](https://codecov.io/gh/VectorInstitute/cyclops/branch/main/graph/badge.svg)](https://codecov.io/gh/VectorInstitute/cyclops)
[![license](https://img.shields.io/github/license/VectorInstitute/cyclops.svg)](https://github.com/VectorInstitute/cyclops/blob/main/LICENSE)

``cyclops`` is a framework for facilitating research and deployment of ML models
in the health (or clinical) setting. It provides a few high-level APIs namely:


* `query` - Querying EHR databases (such as MIMIC-IV)
* `process` - Process static and temporal EHR data
* `evaluate` - Evaluate models on clinical prediction tasks
* `monitor` - Detect data drift relevant for clinical use cases

``cyclops`` also provides a library of use-cases on clinical datasets. The implemented
use cases include:

* Mortality decompensation prediction


## 🐣 Getting Started

### Installing cyclops using pip

```bash
python3 -m pip install pycyclops
```

## 🧑🏿‍💻 Developing

The development environment has been tested on ``python = 3.9``.

The python virtual environment can be set up using
[poetry](https://python-poetry.org/docs/#installation). Hence, make sure it is
installed and then run:

```bash
python3 -m poetry install
source $(poetry env info --path)/bin/activate
```

### Contributing
Contributing to cyclops is welcomed. See [Contributing](CONTRIBUTING.md) for
guidelines.


## 📚 [Documentation](https://vectorinstitute.github.io/cyclops/)

## 📓 Notebooks

To use jupyter notebooks, the python virtual environment can be installed and
used inside an IPython kernel. After activating the virtual environment, run:

```bash
python3 -m ipykernel install --user --name <name_of_kernel>
```

Now, you can navigate to the notebook's ``Kernel`` tab and set it as
``<name_of_kernel>``.

Tutorial notebooks in ``docs/source/tutorials`` can be useful to view the
functionality of the framework.

## 🎓 Citation
Reference to cite when you use CyclOps in a project or a research paper:
```
@article {Krishnan2022.12.02.22283021,
	author = {Krishnan, Amrit and Subasri, Vallijah and McKeen, Kaden and Kore, Ali and Ogidi, Franklin and Alinoori, Mahshid and Lalani, Nadim and Dhalla, Azra and Verma, Amol and Razak, Fahad and Pandya, Deval and Dolatabadi, Elham},
	title = {CyclOps: Cyclical development towards operationalizing ML models for health},
	elocation-id = {2022.12.02.22283021},
	year = {2022},
	doi = {10.1101/2022.12.02.22283021},
	publisher = {Cold Spring Harbor Laboratory Press},
	URL = {https://www.medrxiv.org/content/early/2022/12/08/2022.12.02.22283021},
	journal = {medRxiv}
}
```

