This is my stab at a programming project for advanced beginners #2.
It's a crude CLI app that can run Game of Life, either with a random initial state, or one of the states in the initial_states folder.
It's recommended to open the project in a devcontainer as specced in .devcontainer/devcontainer.json.
A virtual environment and necessary packages will be installed and activated as part of postCreateCommand.sh.
In main.py choose which state you'd like to start with by uncommenting the relevant code chunk. (Yes, a CLI argument would be much nicer 😅)
Testing
The project is using pytest as a test runner. To run tests, execute
uv run pytest
For some tests, I've experimented with property-based testing using Hypothesis.