Thank you for your interest in contributing to Apprise!
We welcome bug reports, feature requests, documentation improvements, and new notification plugins. Please follow the guidelines below to help us review and merge your contributions smoothly.
-
✔️ Your code passes all lint and style checks:
tox -e lint
If it reports issues, auto-fix them with:
tox -e format
-
✔️ Your changes are covered by tests:
tox -e qa
-
✔️ You followed the plugin template (if adding a new plugin).
-
✔️ You included inline docstrings and respected the BSD 2-Clause license.
-
✔️ Your commit message is descriptive.
To get started with development:
- Python >= 3.9
pipgit- Optional:
VS Codewith the Python extension
git clone https://github.com/caronc/apprise.git
cd apprise
# Install all runtime + dev dependencies
pip install .[dev](Optional, but recommended if actively developing):
pip install -e .[dev]pytest # Run all tests
pytest tests/foo.py # Run a specific test fileRun with coverage:
pytest --cov=apprise --cov-report=termUse tox to run through the same toolchain as CI:
tox -e lint # Check for lint violations and style issues (read-only)
tox -e format # Auto-fix lint violations and apply consistent code styleIf you prefer to call ruff directly:
ruff check . # Check lint violations
ruff check . --fix # Auto-fix lint violations
ruff format --check . # Check code style
ruff format . # Apply code style- Open the repo:
code . - Press
Ctrl+Shift+P -> Python: Select Interpreter - Choose the same interpreter you used for
pip install .[dev] - Press
Ctrl+Shift+P -> Python: Discover Tests
.vscode/settings.json is pre-configured with:
- pytest as the test runner
- ruff for linting
- PYTHONPATH set to project root
No .venv is required unless you choose to use one.
- Fork the repository and create a new branch.
- Make your changes.
- Run the checks listed above.
- Submit a pull request (PR) to the
mainbranch.
GitHub Actions will run tests and lint checks on your PR automatically.
See DEVELOPMENT.md for:
- Full setup instructions
- Tox environment descriptions
- RPM testing
- Plugin development guidance
Your contributions make Apprise better for everyone — thank you!
📝 See ACKNOWLEDGEMENTS.md for a list of contributors.