Contributing to Plasma Cylinder

Plasma Cylinder uses (pre-commit to enforce the the coding standards. This is enforced in CI, but should be set up locally as well.

Minimum system requirements are:

  • Java 8+

  • Ruby 2.7+

  • Python 3.8+

After installing the prerequisites, enter the repo directory and create a new python virtual environment using python -m venv venv

Enter the virtual environment using ./venv/Scripts/activate (or .\venv\Scripts\activate on windows)

From within the virtual environment, install the requirements pip install -r requirements.txt

Now, set up the pre-commit hook using pre-commit install

To confirm all of the hooks work, run pre-commit run -a

Before pushing, make sure to run pytest. Running that command will not only perform all of the functional tests, but will also build a test copy of the documentation (this documentation: which you are reading now) and produce a beautiful HTML coverage report. Both of these will be located in the .repo-reports directory.

Pytest is also run in CI. A failing test will block a merge, so make sure the tests are passing before making a pull request.