# VERBS Python ABM library built around Rust backend. Full documentation can be found [here](https://simtopia.github.io/verbs/). ## Getting Started ### Installation VERBS can be installed via pip using ``` pip install verbs ``` ### Building from Source Building VERBS requires [maturin to be installed](https://www.maturin.rs/installation). > :warning: On OSX ``patchelf`` should be manually installed using [homebrew](https://brew.sh) The Python package can be built using [hatch](https://hatch.pypa.io/latest/) by running ``` hatch run dev:build ``` ### Jupyter Notebook A jupyter notebook with VERBS installed as a dependency can be run using [hatch](https://hatch.pypa.io/latest/) ``` 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](https://github.com/simtopia/verbs-examples). ## Developers & Contributing VERBS is under active development, if you notice a problem or have a suggestion please [open an issue](https://github.com/simtopia/verbs/issues). We welcome contributions to this project, see [here](https://github.com/simtopia/verbs/blob/main/.github/docs/developers.md) 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](https://docs.rs/verbs-rs/latest/verbs_rs/) for the Rust package API documentation and [here](https://github.com/simtopia/verbs/blob/main/.github/docs/rust.md) for usage notes. ## Acknowledgements VERBS simulation environments make extensive use of [revm](https://github.com/bluealloy/revm) a Rust implementation of the Ethereum virtual machine, and [alloy](https://github.com/alloy-rs/) Rust Ethereum libraries.