Contributing¶
Contributions, bug reports, feature requests, and pull requests alike are welcome.
Development setup¶
git clone https://github.com/ibukun-brain/django-channels-spectacular.git
cd django-channels-spectacular
# With pip
pip install -e ".[dev]"
# With uv (recommended)
uv sync --extra dev
Running the tests¶
pytest -v
All tests must pass before a PR is merged. If you add new behaviour, include tests that cover it.
Coding style¶
Follow existing code style; no trailing comments that restate what the code says.
Keep functions and classes focused; prefer small named helpers over inline complexity.
Public API changes must be reflected in docstrings and the README.
Submitting a pull request¶
Fork the repository.
Make your changes and add tests.
Open a pull request with a clear title and description.
One feature or fix per PR makes review faster.
A quick cheat sheet to get you started
# fork the repo on github
git clone https://github.com/YOURGITHUBNAME/channels-spectacular
cd channels-spectacular
python -m venv venv
source venv/bin/activate
(venv) pip install -r requirements.txt
(venv) ./runtests.py # runs tests (pytest) & linting (isort, flake8, mypy)
Reporting bugs¶
Open a GitHub issue with the Python / Django / Channels versions, a minimal reproduction, and the full traceback.
Requesting features¶
Open a GitHub issue describing the use-case you are trying to solve and any API suggestions you have in mind.