Thanks for your interest in improving this library. pyBitBrowser is a lightweight SDK for interacting with the BitBrowser local API. This document explains how to prepare the environment, the style rules, how to propose changes, and what we expect in each PR.
- API stable and typed (Pydantic v2), minimal public surface.
- Clear and useful errors (without losing
status_codeor response body). - Minimal dependencies; avoid new dependencies if not necessary.
- Python 3.10 or higher.
- Access to the BitBrowser local API (for manual tests): default seems to be:
http://127.0.0.1:54442. - Operating system: any compatible with Python 3.10+.
- use
uv(highly recommended) (see uv docs) uv syncto install dependencies oruv sync --devto install dev dependencies- install as a package:
uv pip install -e .
- PEP 8 and type hints
- Pydantic v2 for validation
- snake_case except for models (convenience)
- Use Conventional Commits (e.g.:
feat:,fix:,refactor:,docs:,test:). - Create descriptive branches, e.g.:
feat/async-client,fix/error-handling.
- As of now test with your custom script manually.
- Unit tests might be added later.
- Keep
README.mdupdated with examples of use (sync/async if applicable). - BitBrowser API docs
- The change is small and focused.
- Code with type hints and docstrings where it applies.
- Tests with gists that can be replicated locally. (hopefully, we will move to unit tests later)
- Errors preserve context (status, message, payload).
- Documentation updated (README or docstrings).
Be respectful, respect the mantainers. Do not use offensive language.
No include tokens/credentials in issues, PRs or code. Redact/omit sensitive data in examples. (just in case!)
Thanks for contributing!