Contributing¶
Thanks for taking the time to contribute to websockets!
Code of Conduct¶
This project and everyone participating in it is governed by the Code of Conduct. By participating, you are expected to uphold this code. Please report inappropriate behavior to aymeric DOT augustin AT fractalideas DOT com.
(If I’m the person with the inappropriate behavior, please accept my apologies. I know I can mess up. I can’t expect you to tell me, but if you choose to do so, I’ll do my best to handle criticism constructively. – Aymeric)
Contributing¶
Bug reports, patches and suggestions are welcome!
Please open an issue or send a pull request.
Feedback about the documentation is especially valuable, as the primary author feels more confident about writing code than writing docs :-)
If you’re wondering why things are done in a certain way, the design document provides lots of details about the internals of websockets.
Packaging¶
Some distributions package websockets so that it can be installed with the system package manager rather than with pip, possibly in a virtualenv.
If you’re packaging websockets for a distribution, you must use releases published on PyPI as input. You may check SLSA attestations on GitHub.
You mustn’t rely on the git repository as input. Specifically, you mustn’t attempt to run the main test suite. It isn’t treated as a deliverable of the project. It doesn’t do what you think it does. It’s designed for the needs of developers, not packagers.
On a typical build farm for a distribution, tests that exercise timeouts will fail randomly. Indeed, the test suite is optimized for running very fast, with a tolerable level of flakiness, on a high-end laptop without noisy neighbors. This isn’t your context.