Contributing¶
Contributing¶
We welcome contributions to Crossbar.io! This guide explains how to get involved.
Getting in Touch¶
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
Filing Issues¶
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.
Filing Bugs¶
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
Filing Features¶
When proposing a new feature, please provide:
Your actual use case and your goals
Why this is important for you
Optionally, a proposed solution
Contributing Code¶
Fork the repository on GitHub
Create a feature branch from
masterMake 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.
Contributor Assignment Agreement¶
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.
What we need you to do¶
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!
Development Setup¶
git clone https://github.com/crossbario/crossbar.git
cd crossbar
pip install -e .[dev]
Running Tests¶
# Run all tests
tox
# Run tests for specific Python version
tox -e py312
Code Style¶
Follow PEP 8
Use meaningful variable and function names
Add docstrings for public APIs
Keep lines under 100 characters
License¶
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.