Skip to content

Latest commit

 

History

History
61 lines (43 loc) · 1.98 KB

README.md

File metadata and controls

61 lines (43 loc) · 1.98 KB

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.