Skip to main content

An agent-based modeling framework for Python with a shallow learning curve and powerful visualization capabilities.

Project description

Helipad

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 helipad.dev.

Features

  • ⚓️ 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()

The included bootstrap model contains a more detailed template, and the sample models exemplify various use cases. The documentation also includes a complete hook and function reference.

Requirements

As of version 1.7, Helipad requires Python 3.10 or higher. The following libraries are also required:

How to Cite

If you use Helipad in your own research, please cite as follows:

Harwick, Cameron (2021). “Helipad: A Framework for Agent-Based Modeling in Python.” Working paper available at ssrn.com/abstract=3870501.

Version History

  • 1.6: Geospatial models, agent scatterplot visualizer, new Agents and Edges containers
  • 1.5: Polar grid spatial models, various spatial improvements
  • 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

helipad-1.6.3.tar.gz (599.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

helipad-1.6.3-py3-none-any.whl (612.6 kB view details)

Uploaded Python 3

File details

Details for the file helipad-1.6.3.tar.gz.

File metadata

  • Download URL: helipad-1.6.3.tar.gz
  • Upload date:
  • Size: 599.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for helipad-1.6.3.tar.gz
Algorithm Hash digest
SHA256 3487a43648d5db668a336bef38d5fc5f6f0f64b588900b75f63119ce5bca5345
MD5 9076873baa9490d02c8b773192be5e67
BLAKE2b-256 3d3bfdb4782aeac9978434317ed18d7c4fd8ea3cbbf73af1f2c679808de587ed

See more details on using hashes here.

File details

Details for the file helipad-1.6.3-py3-none-any.whl.

File metadata

  • Download URL: helipad-1.6.3-py3-none-any.whl
  • Upload date:
  • Size: 612.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for helipad-1.6.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3b4eb0fe963b3e822c7444827a962cbf44184df118042da621a8a02ad00f31fb
MD5 9a7615abf1943dd33aa58e43c8c75d21
BLAKE2b-256 91fb024d9521ef3ff47b19af51b70c81d7a9d943715717d19bed05d0d5a5c811

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page