Skip to main content

repast4py package

Project description

Repast for Python (Repast4Py)

codecov

Build Status

Master Develop
Build Status Build Status

Repast4Py

Repast for Python (Repast4Py) is the newest member of the Repast Suite of free and open source agent-based modeling and simulation software. It builds on Repast HPC, and provides the ability to build large, distributed agent-based models (ABMs) that span multiple processing cores. Distributed ABMs enable the development of complex systems models that capture the scale and relevant details of many problems of societal importance. Where Repast HPC is implemented in C++ and is more HPC expert focused, Repast4Py is a Python package and is designed to provide an easier on-ramp for researchers from diverse scientific communities to apply large-scale distributed ABM methods. Repast4Py is released under the BSD-3 open source license, and leverages Numba, NumPy, and PyTorch packages, and the Python C API to create a scalable modeling system that can exploit the largest HPC resources and emerging computing architectures. See our paper on Repast4Py for additional information about the design and implementation.

Collier, N. T., Ozik, J., & Tatara, E. R. (2020). Experiences in Developing a Distributed Agent-based Modeling Toolkit with Python. 2020 IEEE/ACM 9th Workshop on Python for High-Performance and Scientific Computing (PyHPC), 1–12. https://doi.org/10.1109/PyHPC51966.2020.00006

Requirements

Repast4Py requires Python 3.7+

Repast4Py can run on Linux, macOS and Windows provided there is a working MPI implementation installed and mpi4py is supported. Repast4Py is developed and tested on Linux. We recommend that Windows users use the Windows Subsystem for Linux (WSL). Installation instructions for WSL can be found here.

Under Linux, MPI can be installed using your OS's package manager. For example, under Ubuntu 20.04 (and thus WSL), the mpich MPI implementation can be installed with:

$ sudo apt install mpich

Installation instructions for MPI on macOS can be found here.

A typical campus cluster, or HPC resource will have MPI and mpi4py installed. Check the resource's documentation on available software for more details.

Installation

Repast4Py can be downloaded and installed from PyPI using pip. Since Repast4Py includes native MPI C++ code that needs to be compiled, the C compiler CC environment variable must be set to the mpicxx (or mpic++) compiler wrapper provided by your MPI installation.

env CC=mpicxx pip install repast4py

NOTE: If you see an error message about a missing python.h header file when installing Repast4Py under Ubuntu (or other Linuxes), you will need to install a python dev package using your OS's package manager. For example, assuming Python 3.8, sudo apt install python3.8-dev will work for Ubuntu.

Documentation

Contact and Support

In addition to filing issues on GitHub, support is also available via Stack Overflow. Please use the repast4py tag to ensure that we are notified of your question. Software announcements will be made on the repast-interest mailing list.

Jonathan Ozik is the Repast project lead. Please contact him through the Argonne Staff Directory if you have project-related questions.

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

repast4py-1.1.1.tar.gz (88.3 kB view details)

Uploaded Source

File details

Details for the file repast4py-1.1.1.tar.gz.

File metadata

  • Download URL: repast4py-1.1.1.tar.gz
  • Upload date:
  • Size: 88.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for repast4py-1.1.1.tar.gz
Algorithm Hash digest
SHA256 93f16afffdcc1295f78e8ae21ed30e0e489108e94db3a56704366cd62f5b7077
MD5 2b567f2956da278ebe64e45a30cf45cb
BLAKE2b-256 5d0eca14c05cdc5c0fc072a6e61c803dd8b2f6ecc0b2cc789381b224f4c4ea3e

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