Setting up the environment

Installing all dependencies

All development dependencies can be installed by running:

$ pip install -r requirements/development.txt

It is recommended to do this using a virtual environment tool of your choice.

For example, when using the virtual environment library venv:

$ python -m venv axelrod_development
$ source axelrod_development/bin/activate
$ pip install -r requirements/development.txt

Alternatively, you can specify the development variant rather than the path:

$ python -m venv axelrod_development
$ source axelrod_development/bin/activate
$ pip install .[development]

The git workflow

There are two important branches in this repository:

  • dev: The most up to date branch with no failing tests. This is the default branch on github.
  • release: The latest release.

When working on a new contribution branch from the latest dev branch and open a Pull Request on github from your branch to the dev branch.

The procedure for a new release (this is carried out by one of core maintainers):

  1. Create a Pull Request from dev to release which should include an update to axelrod/version.py and CHANGES.md
  2. Create a git tag.
  3. Push to github.
  4. Create a release on github.
  5. Push to PyPi: python setup.py sdist bdist_wheel upload