Thanks for your interest in improving baleio! 🎉
git clone https://github.com/ehsndvr/baleio && cd baleio
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest- Match the surrounding style. baleio mirrors aiogram's public API where it makes sense; keep naming and patterns consistent with existing code.
- Type everything. All public functions are type-annotated (Pydantic v2 models for API objects).
- Add tests. New behaviour needs coverage in
tests/. Tests run fully offline via theFakeSessionfixture — no network or real bot token required. - Keep it async-first. The whole framework runs on
asyncio/aiohttp. - Document public API. Update the relevant page under
docs/and, if user-facing, bothREADME.mdandREADME.fa.md.
pip install -r docs/requirements.txt
sphinx-build -b html docs docs/_build/html
# open docs/_build/html/index.html- Fork and create a feature branch.
- Make your change with tests and docs.
- Ensure
pytestpasses. - Open a PR describing the change and linking any related issue.
Open an issue with a minimal reproduction, the traceback, and your Python / baleio versions. For API mismatches with Bale, include the method name and the raw request / response if possible (redact your token!).
By contributing, you agree that your contributions are licensed under the MIT License.