A multi-dimensional maze solver.
LatticeLeaper is a maze solver, written in pure Python, with the goal of solving mazes of any size, shape, or dimensions. The end goal is to solve mazes from 2D to nD as quickly as possible.
The core may eventually be rewritten in Rust.
The main project has very few library dependencies, but the actual unit testing
part relies on several packages listed in
pyproject.toml
. In general, you'll need:
- Python 3.10.0 or newer
- Poetry (for running unit tests)
The project is tested on the latest versions of Windows, Mac OS, and Ubuntu, and it has also been tested on both CPython and PyPy. Using other implementations or operating systems may work, but is not guaranteed.
To install the project with development dependencies,
- Install Python 3.10.0 or newer
- Install Poetry (
pip install poetry
) - Within the project directory, run
poetry install --with dev,linters,tests
- Either tap into the created virtual environment with
poetry shell
, or run all subsequent commands viapoetry run
(eg.poetry run pytest
)
Run poetry run pytest
. Pytest has already been configured via pyproject.toml
,
coverage reports included.
For linting, the project uses Ruff. You can run it via poetry run ruff .
.
The project's changelog can be found here.
This project is licensed under the MIT license - see the LICENSE
-file for details.