Make a fork of the tskit repo on GitHub
Clone your fork into a local directory, making sure that the submodules are correctly initialised:
$ git clone email@example.com:tskit-dev/tskit.git --recurse-submodules
For an already checked out repo, the submodules can be initialised using:
$ git submodule update --init --recursive
Install the Python development requirements using
pip install -r python/requirements/development.txt.
Build the low level module by running
Run the tests to ensure everything has worked:
python -m nose -vs. These should all pass.
Make your changes in a local branch, and open a pull request on GitHub when you are ready. Please make sure that (a) the tests pass before you open the PR; and (b) your code passes PEP8 checks (see below for a git commit hook to ensure this happens automatically) before opening the PR.
Continuous integration tests¶
Three different continuous integration providers are used, which run different combinations of tests on different platforms:
CircleCI Runs all Python tests using the apt-get infrastructure for system requirements. Additionally, the low-level tests are run, coverage statistics calculated using CodeCov, and the documentation built.
AppVeyor Runs Python tests on 32 and 64 bit Windows using conda.
Complete porting the documentation from msprime