-
-
Notifications
You must be signed in to change notification settings - Fork 68
Home
-
CmdStanPy is implemented in Python3
-
CmdStanPy uses numpy ndarrays and pandas DataFrames
-
It requires a local install of CmdStan, which in turn requires a working C++ toolchain.
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. See https://github.com/stan-dev/cmdstanpy/blob/develop/requirements-test.txt for the complete list of packages needed to run the unit tests.
-
Code should follow standard formatting conventions and provide type hints for all variables. To adhere to formatting standards, we recommend using tools black and isort. The following code-checker tools are used:
- Flake8 checks code style and formatting
- PyLint checks formatting and many additional checks. See PyLint configuration file and https://github.com/stan-dev/cmdstanpy/blob/a6e09190af555aa6d05993d630ebf39a3d4bb867/.travis.yml#L30
- MyPy is a static type checker
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. -
Packages used to build the docs are listed in https://github.com/stan-dev/cmdstanpy/blob/develop/docsrc/env.yml