Contributor Guide

Thank you for your interest in contributing to PlasmaPy! ✨ The future of the project depends on people like you, so we deeply appreciate it! 🌱

This guide describes the fundamentals of contributing to PlasmaPy. If you are a first-time contributor, please follow the steps for getting ready to contribute before proceeding to the code contribution workflow. The contributions are made to PlasmaPy’s GitHub repository.

New functions and classes added to PlasmaPy must have documentation and tests. The Documentation Guide contains sections on reStructuredText and writing documentation. The Testing Guide has sections on writing tests and testing best practices. Unless it is minor, it will also be necessary to add a changelog entry.

The PlasmaPy community abides by the Contributor Covenant Code of Conduct.

Many ways to contribute

While this guide describes the process of contributing code, documentation, and tests to PlasmaPy, there are many other ways to contribute. Some of the many possibilities are to:

  • Contribute new code, documentation, and tests.

  • Refactor existing code and tests.

  • Improve the description of plasma physics in PlasmaPy’s documentation.

  • Write educational Jupyter notebook that introduce plasma concepts using PlasmaPy.

  • Create videos that show how to use PlasmaPy. 🎥

  • Participate in code reviews.

  • Help with project management.

  • Request new features.

  • Report bugs. 🐞

  • Improve PlasmaPy’s website.

  • Help organize events such as Plasma Hack Week. 📆

  • Provide feedback on how existing functionality could be improved.

  • Help update PlasmaPy’s development roadmap. 🛣️

  • Be part of the PlasmaPy community!

Please feel free to reach out to us in PlasmaPy’s Matrix chat room or during PlasmaPy’s weekly office hours.