Before you begin:
- The codebase supports python >= 3.8
- The requirements.txt are all the dependencies needed to run the unit tests for all features
- extra requirements are listed in setup.py
Fork using GitHub Desktop:
- Getting started with GitHub Desktop will guide you through setting up Desktop.
- Once Desktop is set up, you can use it to fork the repo!
Fork using the command line:
- Fork the repo so that you can make your changes without affecting the original project until you're ready to merge them.
The code follows the PEP-8 style guide, and generally uses the default intellij/pycharm formatting rules.
The code uses python3.8 as the lowest common denominator, with some minor compatibility import tricks for future versions (e.g. 3.9, 3.10)
Make sure to run all the unit tests after modifying the code.
Additional automated tests which should be run (are not run automatically on commit to github due to constraints):
- Integration and languate interoperability tests at examples/test_examples.py (Requires java and building the sample java code under examples/java)
- Tutorial guide tests under examples/tutorial/test_tutorials.py which are the end results of the guide at rsocket.io.
Almost all tests which are not for very low level code run using all the supported transports. You may temporeraly disable some of the transports to speed up testing using the tested_transports list in tests/conftest.py
Once you are done pushing changes to your fork, then you'll need to open a pull request (PR) to propose them for review. Inside the PR the unit tests for all supported python version will be run. Make sure your changes pass on all versions.
Once you've validated your changes feel free to let us know in a comment or edit your initial comment of the PR.