Advent of Code puzzle solutions.
The solutions are mostly general and should work with all inputs, with some exceptions where data is hardcoded.
Input data for each puzzle is stored in a private submodule, as per the creator's request:
In general I ask people not to publish their inputs, just to make it harder for someone to try to steal the whole site.
The solutions rely on a helper library 'tools', which contains some common functions, as well as parsers for the input files. Parsers expect a text file, as given in the puzzle, with no modifications. All input data is parsed, with very rare exceptions where parsing is not practical.
This project uses UV to manage virtual environments and dependencies.
To create a new virtual environment and install all required libraries, run:
uv sync
Linting is handled by a global installation of Ruff, to enable pre-commit hooks run
pre-commit install