Skip to main content

General-purpose agent-based modeling framework

Project description

General purpose agent-based modeling library to integrate C++ and Python

CppyABM is a free open-source header-only library that enables agent-based modeling by providing essential tools in both C++ and Python as well as mixing both in a single model. The modeling in both C++ and Python follows similar semantics and style. Therefore, a model developed in one languages can be conveniently transferred to another. In addition, CppyABM provides binding tools to specifically expose certain parts of a model written in C++ for further development in Python. This enables users to take the advantage of both languages simultaneously. CppyABM uses RTvisualize for browser-based real-time visualization.

The documentation of the library is available here. See examples folder as showcase of CppyABM utility.

Install

For an extended version of the available installation options, see documentation.

For Python development

Using pip manager:

  • pip install --upgrade cppyabm

Or, download the package and in the root folder, command:

  • python3 setup.py install

For C++ development

The library can be also installed solely for C++ development using,

For Python-C++ development

In order to create a mixed model using both languages of C++ and Python, in addition to CppyABM, pybind11 needs to be installed. It can be either seperately installed according to the instruction given on pybind11-installation, or can be included in a project using Cmake. See documentation.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Authors

  • Jalil Nourisa

Useful links

Familiarity with pybind11 is helpful during the Python binding process.

Contributing to CppyABM

In case of encountering a problem, pls report it as an issue or contant the author (jalil.nourisa@gmail.com)

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

cppyabm-1.0.18.tar.gz (3.6 kB view hashes)

Uploaded Source

Built Distribution

cppyabm-1.0.18-cp37-cp37m-macosx_10_9_x86_64.whl (141.5 kB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

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