Contributing
Contributions of all kinds are welcome — bug reports, documentation, translations and, of course, code.
Development setup
The project uses pixi for a reproducible development environment:
git clone git@github.com:sattwik-sahu/pybrary.git
cd pybrary
pixi install
Run the checks with the pixi tasks:
pixi run test # pytest suite
pixi run lint # ruff linting
pixi run check # lint + tests together
Code style
- Python 3.10+, type hints everywhere.
- Every public function and class carries a Google style docstring.
- Keep presentation (the TUI and the legacy CLI) separate from the domain logic in
pybrary/library.py.
Regenerating screenshots
The README and this site embed real renders of the application. Regenerate them whenever the UI changes:
pixi run python tools/generate_screenshots.py
git add screenshots docs/assets/images
Submitting changes
- Fork the repository and create a feature branch.
- Implement your change with tests.
- Run
pixi run checkand make sure everything passes. - Open a pull request describing what and why.