Avulto
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.
Usage
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.
Development
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
Planned Development
- 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.
License
Avulto is licensed under the GPL. See LICENSE
for more information.
Acknowledgements
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.