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

  1. Fork the repository and create a feature branch.
  2. Implement your change with tests.
  3. Run pixi run check and make sure everything passes.
  4. Open a pull request describing what and why.

© 2026 pybrary contributors

This site uses Just the Docs, a documentation theme for Jekyll.