We welcome contributions to Crossbar.io! This guide explains how to get involved.
- GitHub Issues: Report bugs or request features at https://github.com/crossbario/crossbar/issues
- GitHub Discussions: Ask questions and discuss at https://github.com/crossbario/crossbar/discussions
We track issues in the GitHub issue tracker here.
An issue is either a bug (an unexpected / unwanted behavior of the software or incorrect documentation) or a feature (a desire for new functionality / behavior in the software or new documentation).
A question though is not an issue - please use GitHub Discussions for questions.
When reporting issues, please include:
- Crossbar.io version (
crossbar version) - Python version (
python --version) - Operating system and version
- Crossbar.io node configuration (sanitized)
- Minimal steps to reproduce the issue
- Full traceback if applicable
When proposing a new feature, please provide:
- Your actual use case and your goals
- Why this is important for you
- Optionally, a proposed solution
- Fork the repository on GitHub
- Create a feature branch from
master - Make your changes following the code style
- Add tests for new functionality
- Run the test suite to ensure nothing is broken
- Submit a pull request referencing any related issues
We use the Fork & Pull Model. This means that you fork the repo, make changes to your fork, and then make a pull request here on the main repo.
Before you can contribute any changes to the Crossbar.io project, we need a CAA (Contributor Assignment Agreement) from you.
The CAA gives us the rights to your code, which we need e.g. to react to license violations by others, for possible future license changes and for dual-licensing of the code.
- Download the Individual CAA (PDF).
- Fill in the required information that identifies you and sign the CAA.
- Scan the CAA to PNG, JPG or TIFF, or take a photo of the box on page 2.
- Email the scan or photo to
contact@crossbario.comwith the subject line "Crossbar.io project contributor assignment agreement"
If you write contributions as part of your work for a company, you also need to send us an Entity CAA (PDF) signed by somebody responsible in the company.
You only need to do this once - all future contributions are covered!
git clone https://github.com/crossbario/crossbar.git
cd crossbar
pip install -e .[dev]# Run all tests
tox
# Run tests for specific Python version
tox -e py312- Follow PEP 8
- Use meaningful variable and function names
- Add docstrings for public APIs
- Keep lines under 100 characters
By contributing to Crossbar.io, you agree that your contributions will be licensed under the EUPL-1.2 License. See the LICENSE file for details.