Files
Oliver Hamlet 1970a0b30c Fix new clippy errors
The failing lint was added in Rust v1.95.0.
2026-04-28 19:00:22 +01:00
..
2026-04-28 19:00:22 +01:00
2025-04-29 17:21:03 +01:00
2025-04-29 17:21:03 +01:00
2025-06-08 20:26:07 +01:00

libloot-python

An experimental Python wrapper around the libloot Rust implementation, built using PyO3.

Build

To build, first set up a Python virtual environment and install maturin:

# pipx
pipx install maturin
# uv
uv tool install maturin

or using pip on Windows:

python -m venv .venv
.\.venv\Scripts\activate
pip install maturin

or using pip on Linux:

python -m venv .venv
. .venv/bin/activate
pip install maturin

Then build the library in the virtual environment:

maturin develop

The library can then be imported in Python:

python
> import loot

Usage notes

  • The Python exceptions that errors are mapped to are not the same as in the Rust or C++ interfaces:
    • The API provides the custom CyclicInteractionError, UndefinedGroupError, PluginNotLoadedError exception types.
    • All other errors are raised as ValueError exceptions.
  • The LogLevel enum and set_logging_callback() and set_log_level() functions are not exposed because the logging is integrated with Python's logging module instead.