5 unstable releases

0.4.1 Apr 10, 2024
0.4.0 Mar 26, 2024
0.3.1 Mar 11, 2024
0.3.0 Mar 8, 2024
0.2.3 Mar 6, 2024

#2079 in Magic Beans

Download history 96/week @ 2024-03-01 317/week @ 2024-03-08 19/week @ 2024-03-15 90/week @ 2024-03-22 17/week @ 2024-03-29 100/week @ 2024-04-05

235 downloads per month

MIT license

105KB
2K SLoC

VERBS

Python ABM library built around Rust backend.

Full documentation can be found here.

Getting Started

Installation

VERBS can be installed via pip using

pip install verbs

Building from Source

Building VERBS requires maturin to be installed.

⚠️ On OSX patchelf should be manually installed using homebrew

The Python package can be built using hatch by running

hatch run dev:build

Jupyter Notebook

A jupyter notebook with VERBS installed as a dependency can be run using hatch

hatch run notebook:jupyter

Git Dependency

VERBS can be added as a direct dependency to your projects pyproject.toml but requires maturin to be added as a build requirement, for example

[build-system]
requires = ["setuptools >= 61.0", "maturin>=1.2,<2.0"]
build-backend = "setuptools.build_meta"

Examples

Examples of models implemented using VERBS can be found in /examples. Larger examples can also be found in this repo.

Developers & Contributing

VERBS is under active development, if you notice a problem or have a suggestion please open an issue.

We welcome contributions to this project, see here for developer notes.

Rust Package

The core rust simulation engine can be used to write simulation purely in Rust, with a significant gain in performance over Python in most cases. See here for the Rust package API documentation and here for usage notes.

Acknowledgements

VERBS simulation environments make extensive use of revm a Rust implementation of the Ethereum virtual machine, and alloy Rust Ethereum libraries.

Dependencies

~45–64MB
~1M SLoC