Updated Development_Contribution (markdown)

master
Chris Caron 2025-07-28 20:02:56 -04:00
parent 052b049441
commit 115edeb700
1 changed files with 32 additions and 11 deletions

@ -1,19 +1,40 @@
# Introduction
Thanks to all who have landed on this page with the intent of contributing to the apprise library. Any changes you make are going to easily make it upstream as long as there is there are:
* **Unit tests**: apprise is currently sitting at 100% test coverage. The goal is to keep it this way! :slightly_smiling_face:
* **PEP8 Compliance**: Following the [PEP 8 Style Guide for Python](https://www.python.org/dev/peps/pep-0008/) is a must. Most editors have PEP8 plugins and allow you to keep everything compliant as you go.
# 🤝 Contributing to Apprise
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.
## ✅ Quick Checklist Before You Submit
- ✔️ Your code passes all lint checks:
```bash
tox -e lint
```
- ✔️ Your changes are covered by tests. Apprise has just shy of :100: test coverage; it would be ideal to keep it this way (within reason).
```bash
tox -e qa
```
- ✔️ All tests pass locally.
- ✔️ Your code is clean and consistently formatted:
```bash
tox -e format
```
- ✔️ 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.
## Directory Structure
- `test/`: You will find all unit tests in this directory and there are plenty of examples of how to build your own or add to existing ones.
- `tests/`: You will find all unit tests in this directory and there are plenty of examples of how to build your own or add to existing ones.
- `packaging/`: You will find the MAN pages here and the SPEC files used to construct an RPM files
- `apprise/plugins/`: This is where Apprise plugins are found
## Development Environment
The following should get you all set up:
```bash
# Install our apprise development requirements
pip install --requirement requirements.txt --requirement dev-requirements.txt
```
If you prefer, sometimes it's easier to use the Docker containers to build your environment.
```bash