Skip to main content

DeepEcoHab: fast and intuitive data analysis platform for your EcoHab experiments

PyPI version Python versions License: MIT Docs

DeepEcoHab is an analytics platform built for preprocessing, analysis and visualization of data acquired in the DeepEcoHab.

Our backend is built on Polars - Extremely fast Query Engine for DataFrames, written in Rust and visualization utilizes Plotly, providing interactive, high quality and responsive plots of experiments regardless of their length.

📖 Read the full documentation — installation, the app walkthrough with screenshots and videos, the analysis tables and every plot.

The DeepEcoHab recording dashboard

Quick start

Two steps get you from nothing to a running dashboard:

uv tool install "deepecohab[app]"   # install as a standalone app
deepecohab-shortcut                 # create a desktop icon

Then double-click the DeepEcoHab icon on your desktop. See Installation for uv setup and other platforms.

Installation

We keep DeepEcoHab lean to ensure easy integration and fast installation. In the spirit of open-source we build on uv — a fast, self-contained Python package manager.

Step 1 — Install uv

Windows:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Linux / macOS:

curl -LsSf https://astral.sh/uv/install.sh | sh

Step 2 — Install DeepEcoHab

For most users the simplest path is to install DeepEcoHab as a standalone application. This puts the deepecohab-app and deepecohab-shortcut commands on your PATH in an isolated environment — no virtual environment to create or activate:

uv tool install "deepecohab[app]"

That's it. Run deepecohab-app to launch the dashboard, which opens automatically in your browser.

If the commands aren't found afterwards, run uv tool update-shell and reopen your terminal.

Desktop shortcut (Windows)

After uv tool install "deepecohab[app]", create a clickable desktop icon with:

deepecohab-shortcut

This places a DeepEcoHab shortcut on your desktop. Double-clicking it starts the dashboard and opens it in your browser — no terminal required. This is the recommended way to launch DeepEcoHab for most users.

Updating

The app tells you when it starts if a newer version is out; Update now installs it and reopens the app. To update by hand instead, close the app and run:

uv tool upgrade "deepecohab[app]"

Working from code instead

The app is an extra because the analysis itself does not need Dash. If you only want the library, install it with the notebook extra, which adds the Jupyter kernel and what figure.show() needs inside a notebook (plain scripts can drop [notebook]):

uv pip install "deepecohab[notebook]"

We recommend VSCode with the Jupyter extension to run the example notebooks provided in the repository.

To install from source:

cd location_to_clone_to
git clone https://github.com/KonradDanielewski/DeepEcoHab.git
cd DeepEcoHab
pip install ".[app]"

Example data

examples/data ships six real recordings, each a <name>.config.json beside its <name>.data.parquet. example_notebook.ipynb runs them end to end: create a project, add every recording, tune the analysis parameters, run the pipeline and aggregate a project table.

Data structure:

The data is stored in parquet format - an open-source, column-oriented data storage format which allows extremely fast read/write operations of large dataframes. Every recording in a project keeps one parquet file per analysis table, loaded with recording.load_results(key).

To get the list of available keys call deepecohab.core.data_model.DataFrameRegistry.list_available(); similarly deepecohab.PlotRegistry.list_available() lists the available visualizations. See the antenna analysis guide and plotting guide.

Roadmap

  1. A docker container for running the app on a shared server.
  2. Group analysis - combined analysis of multiple cohort, comparing different groups of cohorts.
  3. Pose estimation based analysis of animal interactions and more detailed social structure analysis.

DeepEcoHab team

DeepEcoHab is developed at the Nencki Institute of Experimental Biology in Warsaw:

With contributions from @Winiarsky and @Brosnan-neuro.

Found a bug or missing a feature? Open an issue here.

Citations

DeepEcoHab has no paper of its own yet. If you use it in published work, please cite the package together with the paper introducing the Eco-HAB system:

@software{deepecohab,
  title     = {{DeepEcoHab}: fast and intuitive data analysis platform for {EcoHab} experiments},
  author    = {Danielewski, Konrad and W{\l}odkowska, Ula and Lipiec, Marcin},
  year      = {2026},
  publisher = {GitHub},
  url       = {https://github.com/KonradDanielewski/DeepEcoHab}
}

@article{puscian2016ecohab,
  title   = {Eco-{HAB} as a fully automated and ecologically relevant assessment of social impairments in mouse models of autism},
  author  = {Pu{\'s}cian, Alicja and {\L}{\k e}ski, Szymon and Kasprowicz, Grzegorz and Winiarski, Maciej and Borowska, Joanna and Nikolaev, Tomasz and Boguszewski, Pawe{\l} M. and Lipp, Hans-Peter and Knapska, Ewelina},
  journal = {eLife},
  volume  = {5},
  pages   = {e19532},
  year    = {2016},
  doi     = {10.7554/eLife.19532}
}

Metadata

Release files for deepecohab 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for deepecohab 0.6.0
File Size Uploaded
deepecohab-0.6.0.tar.gz 1.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for deepecohab 0.6.0
File Interpreter ABI Platform
deepecohab-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.7 MB

Release files / deepecohab-0.6.0.tar.gz

Download URL deepecohab-0.6.0.tar.gz
Size 1.4 MB
Tags Source
SHA-256 checksum
How to use checksums
650c5c093eb210068d39f2f428abbbce47a463ac310a204c27f1219f6226f037
BLAKE2b-256 checksum
How to use checksums
ec07f9003a8b74227eb1bc4612f9863a11694b34682eb1d7ea854d4fd92a2678
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / deepecohab-0.6.0-py3-none-any.whl

Download URL deepecohab-0.6.0-py3-none-any.whl
Size 1.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
acdaf4ac0b8674a6a707b547e2528cb10e7d8fa5d4c802d7f24672eabae4a065
BLAKE2b-256 checksum
How to use checksums
c64610f285ef9d4ee0b03cceaf651a09a3e8e9a96e3bdda6cfa714dd77f237bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page