:orphan: .. _CONTRIBUTING/how-to-contribute-to-pysdc: How to contribute to pySDC ========================== Developments on the ``pySDC`` code use the classical approach of forks and pull requests. You can look at `extended GitHub documentation `_ for more details (skip this if you are already used to it). Furthermore, branches on ``pySDC`` follow a pre-defined structure. To contribute to any of them, please look at the :doc:`pull request recommendations <./docs/contrib/01_pull_requests>`. Additionally, a *few* rules are set to enforce code readability, consistency and reliability. Some of them are automatically tested with each commit, and summarized in the page on :doc:`continuous integration (CI) <./docs/contrib/02_continuous_integration>`. Others are specific conventions chosen for the pySDC library, that may follow Python standards (or not ...), detailed in the :doc:`naming conventions <./docs/contrib/03_naming_conventions>` page. Finally, while ``pySDC`` provides many base functionalities that implement classical flavors of SDC, it also allows problem-specific applications through Object-Oriented Programming (OOP) and the implementation of custom inherited classes. This follows a specific OOP framework, you can look at the page on :doc:`custom implementations <./docs/contrib/04_custom_implementations>` for more details. Additional guideline are also given on how to :doc:`document the code <./docs/contrib/05_documenting_code>` in ``pySDC``. #. `GitHub Forks and Pull Requests `_ #. :doc:`Pull Requests Recommendations <./docs/contrib/01_pull_requests>` #. :doc:`Continuous Integration <./docs/contrib/02_continuous_integration>` #. :doc:`Naming Conventions <./docs/contrib/03_naming_conventions>` #. :doc:`Custom Implementations <./docs/contrib/04_custom_implementations>` #. :doc:`Documenting Code <./docs/contrib/05_documenting_code>` |:arrow_left:| :doc:`Back to main page <./index>`