A dynamically-typed, garbage-collected scripting language.

Version 0.10.11


A utility module for interacting with the Pyro VM.


module_cache: map[str, module]

The VM's cache of imported modules, indexed by import path.

version_string: str

The language version as a string.

version_tuple: tup[i64, i64, i64, str, str]

The language version as a tuple containing (MAJOR, MINOR, PATCH, LABEL, BUILD) elements.

  • MAJOR, MINOR, and PATCH are semantic versioning integers.
  • LABEL is a string containing a pre-release label, e.g. "alpha1", "beta2", "rc3". May be an empty string.
  • BUILD is a string containing build information, e.g. "release", "debug". May be an empty string.


address(arg: any) -> str|err

Returns the memory address of arg as an uppercase hex-encoded string prefixed with 0x, e.g. 0x600002FBE5B0.

Returns an err if arg is not a heap-allocated object.


Runs the garbage collector.

memory() -> i64

Returns the VM's current memory allocation in bytes.