EcoHab with some machine learning
Project description
DeepEcoHab: fast and intuitive data analysis platform for your EcoHab experiments
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 frontend utilizes Plotly Dash which allows for system independent operation - running the app in your Chromium based browser - providing an interactive, high quality and responsive visualization of experiments regardless of their length.
Quick start
On Windows, three steps get you from nothing to a running dashboard:
uv tool install deepecohab # 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 and deepecohab-shortcut commands on
your PATH in an isolated environment — no virtual environment to create or
activate:
uv tool install deepecohab
That's it. Run deepecohab to launch the dashboard, which opens automatically
in your browser.
If the commands aren't found afterwards, run
uv tool update-shelland reopen your terminal.
Desktop shortcut (Windows)
After uv tool install deepecohab, 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 on Windows.
On Linux / macOS there is no desktop shortcut — simply run
deepecohabfrom the terminal to launch the dashboard.
Using DeepEcoHab as a library
If you want to run the example notebooks or call DeepEcoHab from your own Python code, install it into an environment instead of as a tool:
uv venv
# Windows: .venv\Scripts\activate
# Linux / macOS: source .venv/bin/activate
uv pip install deepecohab
Already have an environment running python>=3.12? Just run pip install deepecohab.
We recommend VSCode with the Jupyter extension to run the example notebooks provided in the repository.
How it works
A DeepEcoHab analysis follows three stages. The first two run from Python (the example notebooks walk through them end to end); the third is the interactive dashboard.
- Create a project from your raw EcoHab
.txtfiles withdeepecohab.create_ecohab_project(...). This builds a project folder with aconfig.tomldescribing your layout, light/dark phases, timezone and animal IDs. - Run the analysis pipeline with
deepecohab.df_registry.run_pipeline(config_path). Results (chasings, activity, sociability, social hierarchy, …) are written to the project as fast parquet files. - Explore the results by launching the dashboard — run
deepecohab(or double-click the desktop shortcut), select your project in the app, and browse and compare plots interactively.
Example data
We provide 3 example datasets that reflect 3 main possibilites for an EcoHab layout.
- example_notebook for a vanilla 4 cage, 8 antenna setup.
- example_notebook_custom_layout for a custom layout that can be user defined in the
config.tomlof the created project. - example_notebook_field for a field EcoHab layout.
Dashboard
The dashboard contains visualization of the experiment analysis results. It is divided into two tabs: main dashboard tab and a tab for comparisons (when the user wants to compare same plot in different days/phases etc.) and 3 sections:
- Social hierarchy
- Activity
- Sociability
All providing multiple plots controlled via the settings block located on top.
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.
To get the list of available keys simply call: deepecohab.df_registry.list_available() similarily deepecohab.plot_registry.list_available() can be called to obtain the list of currently available visualizations.
Roadmap
- Full web-app style GUI, deployable via a docker container.
- Group analysis - combined analysis of multiple cohort, comparing different groups of cohorts.
- Pose estimation based analysis of animal interactions and more detailed social structure analysis.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file deepecohab-0.5.1.tar.gz.
File metadata
- Download URL: deepecohab-0.5.1.tar.gz
- Upload date:
- Size: 704.5 kB
- Tags: Source
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40178c73cb2cdbdda8f22c429f387a9878f42e401ce647af59317a8307b6d329
|
|
| MD5 |
f7f0beec587347e2ee9759a0ba837f14
|
|
| BLAKE2b-256 |
7b67ff8bf7e3804f773745e9ae0b5a572650ba5ab546f9f5e90661a4810c1c53
|
File details
Details for the file deepecohab-0.5.1-py3-none-any.whl.
File metadata
- Download URL: deepecohab-0.5.1-py3-none-any.whl
- Upload date:
- Size: 713.9 kB
- Tags: Python 3
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
215911f90f9fdaee1424dc80124a310fc1ecd84af233c3e524b8a8f338626ffe
|
|
| MD5 |
422d7a04c72e470827c914d5d03bb38d
|
|
| BLAKE2b-256 |
ba4eb7f4d26d4d96ececcfacb6c2e2831299cf3d4cdbe09fddd272363747fc6d
|