A project to explore the details of "Balancing Coupling in Software Design", a book by Vlad Khononov.
This repository uses uv for Python installation, dependency management, and running development tools.
Install uv by following the official installation instructions. Then install Python 3.14 and the project dependencies:
uv python install 3.14
uv sync --devInstall the pre-commit hooks after syncing the dependencies:
uv run pre-commit installRun the checks locally with:
uv run pytest
uv run ruff check .
uv run ruff format --check .
uv run pyright
uv run pre-commit run --all-filesThe pre-commit configuration runs formatting, linting, type checking, and the test suite, so it covers more than tests alone.
The project uses a src layout for application code and a tests directory for
the test suite.
The goal of this project is to acquire hands-on experience with the concepts from the book. We intent to develop software and critique it through the lens of coupling.
Since the purpose is to explore, a lot of knowledge will not be in code. So do not forget to checkout: