Metadata-Version: 2.4
Name: ehrapy
Version: 0.13.0
Summary: Electronic Health Record Analysis with Python.
Author: Lukas Heumos, Philipp Ehmele, Eljas Roellin, Lilly May, Tim Treis, Altana Namsaraeva, Vladimir Shitov, Luke Zappia, Xinyue Zhang
Maintainer-email: Lukas Heumos <lukas.heumos@posteo.net>
Requires-Python: >=3.12,<3.15
Description-Content-Type: text/markdown
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Framework :: Jupyter
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Scientific/Engineering :: Visualization
License-File: LICENSE
Requires-Dist: ehrdata
Requires-Dist: scanpy
Requires-Dist: requests
Requires-Dist: miceforest
Requires-Dist: scikit-misc
Requires-Dist: lifelines>=0.30.0
Requires-Dist: missingno
Requires-Dist: thefuzz[speedup]
Requires-Dist: fhiry
Requires-Dist: pyampute
Requires-Dist: tableone
Requires-Dist: fknni>=1.2.0
Requires-Dist: filelock
Requires-Dist: numpy>=2.0.0
Requires-Dist: numba>=0.60.0
Requires-Dist: leidenalg
Requires-Dist: igraph
Requires-Dist: fast-array-utils[sparse, accel]
Requires-Dist: tslearn
Requires-Dist: holoviews[recommended]
Requires-Dist: dowhy>=0.14 ; extra == "causal"
Requires-Dist: cvxpy>=1.7.3 ; extra == "causal"
Requires-Dist: anndata[dask] ; extra == "dask"
Requires-Dist: dask-ml>=2025.1.0 ; extra == "dask"
Requires-Dist: pre-commit ; extra == "dev"
Requires-Dist: docutils ; extra == "doc"
Requires-Dist: sphinx ; extra == "doc"
Requires-Dist: scanpydoc ; extra == "doc"
Requires-Dist: sphinx-book-theme ; extra == "doc"
Requires-Dist: myst-nb ; extra == "doc"
Requires-Dist: myst-parser ; extra == "doc"
Requires-Dist: sphinxcontrib-bibtex ; extra == "doc"
Requires-Dist: sphinx-issues ; extra == "doc"
Requires-Dist: sphinx-gallery ; extra == "doc"
Requires-Dist: sphinx-autodoc-typehints ; extra == "doc"
Requires-Dist: sphinx-copybutton ; extra == "doc"
Requires-Dist: sphinx-remove-toctrees ; extra == "doc"
Requires-Dist: sphinx-design ; extra == "doc"
Requires-Dist: sphinx-tabs ; extra == "doc"
Requires-Dist: sphinx-last-updated-by-git ; extra == "doc"
Requires-Dist: sphinx-automodapi ; extra == "doc"
Requires-Dist: sphinxext-opengraph ; extra == "doc"
Requires-Dist: pygments ; extra == "doc"
Requires-Dist: nbsphinx ; extra == "doc"
Requires-Dist: nbsphinx-link ; extra == "doc"
Requires-Dist: ipykernel ; extra == "doc"
Requires-Dist: ipython ; extra == "doc"
Requires-Dist: ehrapy[dask] ; extra == "doc"
Requires-Dist: rapids-singlecell[rapids12] ; extra == "rapids12"
Requires-Dist: rapids-singlecell[rapids13] ; extra == "rapids13"
Requires-Dist: ehrapy[dask, causal] ; extra == "test"
Requires-Dist: pytest ; extra == "test"
Requires-Dist: pytest-cov ; extra == "test"
Requires-Dist: pytest-mock ; extra == "test"
Project-URL: Documentation, https://ehrapy.readthedocs.io
Project-URL: Home-page, https://github.com/theislab/ehrapy
Project-URL: Source, https://github.com/theislab/ehrapy
Provides-Extra: causal
Provides-Extra: dask
Provides-Extra: dev
Provides-Extra: doc
Provides-Extra: rapids12
Provides-Extra: rapids13
Provides-Extra: test

[![Build](https://github.com/theislab/ehrapy/actions/workflows/build.yml/badge.svg)](https://github.com/theislab/ehrapy/actions/workflows/build.yml)
[![Codecov](https://codecov.io/gh/theislab/ehrapy/branch/master/graph/badge.svg)](https://codecov.io/gh/theislab/ehrapy)
[![License](https://img.shields.io/github/license/theislab/ehrapy)](https://opensource.org/licenses/Apache2.0)
[![PyPI](https://img.shields.io/pypi/v/ehrapy.svg)](https://pypi.org/project/ehrapy/)
[![Python Version](https://img.shields.io/pypi/pyversions/ehrapy)](https://pypi.org/project/ehrapy)
[![Read the Docs](https://img.shields.io/readthedocs/ehrapy/latest.svg?label=Read%20the%20Docs)](https://ehrapy.readthedocs.io/)
[![Test](https://github.com/theislab/ehrapy/actions/workflows/test.yml/badge.svg)](https://github.com/theislab/ehrapy/actions/workflows/test.yml)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)

<p align="center">
  <img src="https://user-images.githubusercontent.com/21954664/156930990-0d668468-0cd9-496e-995a-96d2c2407cf5.png" alt="ehrapy logo" width="25%">
</p>


# ehrapy overview

**ehrapy** is a modular open-source Python framework for exploratory analysis of heterogeneous epidemiological and EHR data.
It supports a full pipeline from data ingestion and quality control to advanced analyses such as clustering, survival, trajectory, causal inference, deep learning, and more.

<p align="center">
    <img src="https://github.com/user-attachments/assets/84fe403c-66de-4dd9-9265-b0d1739ce3cc" alt="fig1" width="100%">
</p>

## Documentation

Please read the [documentation](https://ehrapy.readthedocs.io/en/latest) for installation, tutorials, use cases, and more.

## Installation

You can install _ehrapy_ via [pip] from [PyPI]:

```console
$ pip install ehrapy
```

## API

Please have a look at the [API documentation](https://ehrapy.readthedocs.io/en/latest/api.html) and the [tutorials](https://ehrapy.readthedocs.io/en/latest/tutorials/index.html).

```python
import ehrapy as ep
```

## Citation

 <p align="center">
  <a href="https://www.nature.com/articles/s41591-024-03214-0">
    <img src="https://github.com/user-attachments/assets/c3f7e79d-1633-4767-9dda-e94262279685" alt="fig2" width="50%">
  </a>
</p>

Read more about ehrapy in the [associated publication](https://doi.org/10.1038/s41591-024-03214-0).

```bibtex
@article{Heumos2024,
  author = {Heumos, Lukas and Ehmele, Philipp and Treis, Tim and Upmeier zu Belzen, Julius and Roellin, Eljas and May, Lilly and Namsaraeva, Altana and Horlava, Nastassya and Shitov, Vladimir A. and Zhang, Xinyue and Zappia, Luke and Knoll, Rainer and Lang, Niklas J. and Hetzel, Leon and Virshup, Isaac and Sikkema, Lisa and Curion, Fabiola and Eils, Roland and Schiller, Herbert B. and Hilgendorff, Anne and Theis, Fabian J.},
  year = {2024},
  month = {11},
  day = {01},
  title = {An open-source framework for end-to-end analysis of electronic health record data},
  journal = {Nature Medicine},
  volume = {30},
  number = {11},
  pages = {3369--3380},
  issn = {1546-170X},
  doi = {10.1038/s41591-024-03214-0},
  url = {https://doi.org/10.1038/s41591-024-03214-0}
}
```

[pip]: https://pip.pypa.io/
[pypi]: https://pypi.org/
[api]: https://ehrapy.readthedocs.io/en/latest/api.html

