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

Helipad requires Python 3.8 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.2.tar.gz (597.8 kB view details)

Uploaded Source

Built Distribution

helipad-1.6.2-py3-none-any.whl (610.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: helipad-1.6.2.tar.gz
  • Upload date:
  • Size: 597.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for helipad-1.6.2.tar.gz
Algorithm Hash digest
SHA256 a6c63e0704c2fc09cc7acfef25c637b8587d11860ccf5c77524ed33038eba333
MD5 7cef7adc773afffd88cd56ceff332013
BLAKE2b-256 20b8af2066ac6cd1d0466614346a496e79e28c2a13adb6426ac19c7d117aae5a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: helipad-1.6.2-py3-none-any.whl
  • Upload date:
  • Size: 610.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for helipad-1.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c52ba9d16959962ef322b04068d63b91b43b5ebc43570786c8ec1db0270d0def
MD5 7ea6b6a1ae6bdb2f6fd6a173c527e7c7
BLAKE2b-256 7f4362b5e839cc42e01e5ec2cc5bccd09288b8280b1c84071997ac4af652f7cb

See more details on using hashes here.

Supported by

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