Avulto is a Python library for working in the BYOND environment. Its goal is to provide a straightforward Python API which leverages the SpacemanDMM and potentially other community libraries.
Its primary use cases are to easily
- read and modify map files
- parse and read icon files
- read the source tree and provide reflection data.
Avulto is available as a release on PyPI. See the Development section below for directions on using the library locally.
A Quickstart and the API reference are available at the library's documentation site
and in the docs/
directory of the repository. Its API is documented in full in its stub file.
Avulto is written in Rust and implemented using PyO3, and uses maturin for development. To build and install locally:
$ python -m maturin build; python -m pip install .
$ python -m pytest
- DMI file modification.
- Better errors and consistent API surface area.
- More improvement of AST walking and code reflection API.
- Pre-defined AST walker superclass with useful behaviors.
- Ability to create new tile definitions in DMM files.
- Passing compiler defines to parser.
Avulto is licensed under the GPL. See LICENSE
for more information.
Portions of Avulto are originally based on SpacemanDMM, copyright Tad Hardesty and licensed under the GPL.
Portions of Avulto are originally based on StrongDMM, copyright SpaiR and licensed under the GPL.