LabMaze is a standalone release of the maze generator used by DeepMind Lab, providing Python bindings to its C++ core. It can be configured to simplify paths and create rooms, and includes art assets to texture the environment. The primary purpose is to generate maze layouts for navigation tasks within other libraries. The current version is 1.0.6, released on December 5, 2022, indicating an infrequent release cadence focused on compatibility and bug fixes rather than new features.
pip install labmazeVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to create both random and fixed-layout mazes using `labmaze`. `RandomMaze` generates a maze with specified dimensions and a random seed. `FixedMaze` allows you to define a maze layout using a string, where 'P' denotes player spawn points and 'G' denotes goal positions. The `entity_layer` attribute provides a text representation of the generated maze.
Upgrade to Python 3.6 or a later supported version. LabMaze currently supports Python 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, and 3.12 via pre-built wheels.
For standard environments, `pip install labmaze` usually works. If installation fails, ensure Bazel is installed and configured for your system, or try to use a Python version for which pre-built wheels are available.
As a workaround, consider downgrading your Python version to a known compatible one (e.g., Python 3.10). A long-term fix would require an update to `labmaze`'s build configuration to support newer Bazel versions.
First, try `pip install labmaze`. If it fails, ensure you have Bazel installed and that your system's C++ build toolchain is set up correctly (e.g., XCode command line tools on macOS, Build Tools for Visual Studio on Windows, `build-essential` on Linux). For specific Python/Bazel versions, refer to the 'breaking' warnings.
Downgrade your Python environment to a version known to be compatible with `labmaze`'s current build system (e.g., Python 3.10 or 3.11). Alternatively, if possible, check the `labmaze` GitHub repository for updates or workarounds for newer Bazel versions.