Developer Guide

Running tests

Run tests using pytest.

First activate the twitcher Conda environment and install pytest.

$ source activate twitcher
$ pip install -r requirements_dev.txt  # if not already installed
OR
$ make develop

Run quick tests (skip slow and online):

$ pytest -m 'not slow and not online'"

Run all tests:

$ pytest

Check pep8:

$ flake8

Run tests the lazy way

Do the same as above using the Makefile.

$ make test
$ make test-all
$ make lint
$ make coverage

Upgrade Database

Initialize and upgrade the database using Alembic.

Generate your first revision:

$ conda activate twitcher
$ alembic -c development.ini revision --autogenerate -m "init"

Warning

This first step is only needed in development to generate a new database schema version.

Upgrade to that revision:

$ alembic -c development.ini upgrade head

Load default data into the database using a script.

$ initialize_twitcher_db development.ini

Note

You can use make migrate as a shortcut to upgrade or init the twitcher database (last two steps).

Building the docs

First install dependencies for the documentation:

$ make docs

Prepare a release

Update CHANGES.rst.

Bump a new version

Make a new version of twitcher in the following steps:

  • Make sure everything is commit to GitHub.

  • Update CHANGES.rst with the next version.

  • Dry Run: bumpversion --dry-run --verbose --new-version 0.5.1 patch

  • Do it: bumpversion --new-version 0.5.1 patch

  • … or: bumpversion --new-version 0.6.0 minor

  • Push it: git push

  • Push tag: git push --tags

See the bumpversion documentation for details.