An agent-based modeling framework for Python with a shallow learning curve and powerful visualization capabilities.
Helipad is an agent-based modeling framework for Python with powerful visualization capabilities and a shallow learning curve. Documentation and API reference can be found at https://helipad.dev
- ⚓️ A simple hook-based API makes it easy to build a model without worrying about the features you don’t need
- 📈 Interactive and live-updating visualizations, including time series, bar charts, networks, spatial, and an API for writing custom visualizations
- 👋🏻 Flexible parameter API allows parameter values to be set programmatically, adjusted manually from the control panel while the model is running, or shocked stochastically
- 🪐 Cross-platform and multimodal. Models can be written and run with a Tkinter GUI, in Jupyter notebooks, or without a GUI at all
- 🤹🏻♂️ Agents can barter, buy and sell with money, reproduce both haploid and polyploid, and more
- 🕺🏻 A variety of model types: sequential or random-activation models, matching models, multi-level models, network models, spatial models, and more
How to use
You can install Helipad using either Pip or Conda, depending on your preferred package manager.
pip install helipad conda install -c charwick helipad
Once installed, getting started with a model is very simple.
from helipad import * heli = Helipad() #Use the heli object to set up here heli.launchCpanel()
Helipad requires Python 3.7 or higher. The following libraries are also required:
- Matplotlib for visualization
- Pandas for data collection
- NetworkX for network analysis and spatial visualization
The following libraries are optional but recommended:
- Jupyter, Ipywidgets, and ipympl to run Helipad in Jupyter notebooks
- Readline and Code for the debug console
- Nest-asyncio to run Helipad from Spyder
- 1.4: More consistent container API, localization, miscellaneous interface improvements
- 1.3: Allow mixing time series and other plots, display networks on spatial maps, goods API improvements
- 1.2: Extensible visualization API, events, performance profiling, Jupyterlab support
- 1.1: Virtual parameters, improved Jupyter flexibility, spatial pre-alpha, misc improvements
- 1.0: Jupyter integration, hook decorators, and separated control panel from plotting
- 0.7: Ability to output stackplots, parameter sweeps, and an updated parameter identification pattern
- 0.6: Support for multi-level models
- 0.5: Support for matching models, and the checkGrid class
- 0.4: Initial PyPI release
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.