An open-source platform that automates biodiversity data collection, environmental variable extraction, and species distribution modeling.
Part of the EcoToolBox ecosystem 🌿
EcoLab is an open-source desktop application designed to simplify Species Distribution Modeling (SDM).
Instead of manually collecting biodiversity records, environmental variables, and ecological interactions from multiple sources, EcoLab integrates the entire workflow into a single application.
The platform enables researchers to retrieve occurrence records, extract environmental variables, train machine learning models, and generate habitat suitability maps with minimal manual effort.
- 🦋 Retrieve species occurrence records
- 🌎 Download environmental variables
- 🌿 Extract NDVI and NDWI from Sentinel-2
- 🌡️ Retrieve climate variables from WorldClim
- 🌐 Query ecological interactions from GloBI
- 🤖 Train Species Distribution Models
- 🗺️ Generate habitat suitability maps
- 📊 Interactive desktop interface
EcoLab integrates the other projects in the EcoToolBox ecosystem.
| Project | Purpose |
|---|---|
| 🌍 EcoEnv | Environmental variables |
| 🦋 EcoObs | Species occurrence records |
| 🌿 EcoInteract | Ecological interactions |
User
│
▼
React Frontend
│
▼
FastAPI Backend
│
┌─────────────┼─────────────┐
│ │ │
▼ ▼ ▼
EcoObs EcoEnv EcoInteract
│ │ │
└─────────────┼─────────────┘
▼
Species Distribution Models
▼
Habitat Suitability Maps
EcoLab integrates data from internationally recognized biodiversity repositories.
| Source | Purpose |
|---|---|
| GBIF | Species occurrence records |
| iNaturalist | Citizen science observations |
| SpeciesLink | Brazilian biodiversity records |
| Sentinel-2 | NDVI and NDWI |
| WorldClim | Climate variables |
| GloBI | Ecological interactions |
EcoLab currently supports several machine learning algorithms for Species Distribution Modeling, including:
- Random Forest
- MaxEnt
- Logistic Regression
- Support for additional algorithms through scikit-learn
- Python
- FastAPI
- Uvicorn
- React
- Material UI
- Pandas
- GeoPandas
- NumPy
- Scikit-learn
- Rasterio
- Shapely
- Google Earth Engine
Screenshots will be added soon.
EcoLab has been developed as part of a Master's research project in Applied Computing at UTFPR and has been presented in peer-reviewed scientific publications.
Download the installer for your system. No Python, Node or admin password needed.
| System | Download | How to install |
|---|---|---|
| 🪟 Windows 10/11 | EcoLab-Windows-Setup.exe | Double-click and follow the steps. If Windows SmartScreen appears, click More info → Run anyway. |
| 🍎 macOS (Apple Silicon M1–M4) | EcoLab-macOS-AppleSilicon.dmg | Open the .dmg, drag EcoLab to Applications. First launch: right-click → Open. Instructions are inside the .dmg. |
| 🐧 Linux (Ubuntu/Debian) | EcoLab-Linux-amd64.deb | sudo apt install ./EcoLab-Linux-amd64.deb, then open EcoLab from the app menu (or run ecolab). |
EcoLab opens in your web browser. On Windows and macOS a 🌿 icon appears next to the clock: use it to reopen EcoLab, open the results folder or quit. On Linux it runs in a terminal window; close it to quit.
Run from source (developers)
git clone https://github.com/EcoToolBox/EcoLab.git && cd EcoLab
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
cd ecoLab/frontend && npm ci && cd ../..
python scripts/run.py # backend :8000 + frontend :3000 with hot reloadPublishing a new version: see docs/RELEASING.md.
Test builds of the latest main are available as the nightly pre-release.
- 🌍 EcoEnv
- 🦋 EcoObs
- 🌿 EcoInteract
Contributions are welcome.
Feel free to open issues or submit pull requests.
MIT License.