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
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
Line 30 in a6e0919
-
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.
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 currentdevelop
branch -
Readthedocs automation rules are used to generate docs for new tags.
-
-
The current
develop
branch docset in thedocs
directory is hosted by GitHub pages as https://mc-stan.org/cmdstanpy The Sphinx makefiledocsrc/Makefile
targetgithub
is used to update the contents of thedocs
directory.