Skip to content

Latest commit

 

History

History
43 lines (21 loc) · 2.58 KB

CONTRIBUTING.md

File metadata and controls

43 lines (21 loc) · 2.58 KB

We welcome contributions to the project and we could really use your help to:

  • Investigate and fix reported bugs

  • Improve the workflow

  • Improve the documentation

  • Increase test coverage

Developers

We welcome contributions! Contributions should follow the general outlines of the Stan Developer Process

  • GitHub issues are used to discuss both bugs and features and propose implementations.

  • Additions and changes to the code base should include updates to unit tests. User-facing changes require updates to the documentation as well.

  • The GitHub repo organization follows the gitflow model described by Vincent Driessen in the blog post "A successful Git branching model.". The main developer branch is develop; it should always be runnable.

  • Unit tests must be runnable under both the unittest and PyTest frameworks.

  • Both PyLint and Flake8 are used to check code style and formatting according to rules in https://github.com/stan-dev/cmdstanpy/blob/develop/.pylintrc and

    - flake8 --extend-ignore=E127,E201,E202,E203,E231,E252,E266,E402,E999,F841,W503,W605 --max-line-length=80 ../cmdstanpy ../test
    . Code is formatted with isort and black.

  • We recommend using pre-commit to ensure the above code style and quality checks are run whenever you make code edits. You can run pre-commit install from this directory to install these hooks. Note: both pre-commit and pylint need to be installed before running this command.

Documentation

CmdStanPy uses Sphinx to generate the docs.

  • Documentation src files live in directory docsrc

  • The documentation is hosted on readthedocs as https://cmdstanpy.readthedocs.io, which provides documentation for all tagged releases.

    • The stable branch is the most recent tagged version

    • The latest branch is the current develop branch

    • Readthedocs automation rules are used to generate docs for new tags.

  • The current develop branch docset in the docs directory is hosted by GitHub pages as https://mc-stan.org/cmdstanpy The Sphinx makefile docsrc/Makefile target github is used to update the contents of the docs directory.