tidytern

docs Documentation Status
tests
Travis-CI Build Status
Coverage Status
Codacy Code Quality Status
package
PyPI Package latest release PyPI Wheel Supported versions Supported implementations
Commits since latest release

Disciplined versioned schema migration of PostgreSQL databases

Installation

pip install tidytern

You can also install the in-development version with:

pip install https://github.com/agravier/tidytern/archive/master.zip

Development

Python versions (both for development and for tox tests) and are most easily managed with Pyenv and its virtualenv plugin.

To install the latest supported Python versions with pyenv and list them in the local .python-version file for use by tox:

pyenv install 3.7.4 && pyenv install 3.8.0b4

Running tests

The test runner is pytest. The tool used to automate running various types of tests under different environments is tox.

Install tox in the global Python 3 environment. It may be installed using your package manager or with pip:

pip3 install tox

To run the all tests, ensure that you are not within a virtualenv and run:

tox

To combine the coverage data from all the tox environments run:

Windows
set PYTEST_ADDOPTS=--cov-append
tox
Other
PYTEST_ADDOPTS=--cov-append tox

Two requirements files are used to describe the development setup:

  • The requirements.txt file describes a working development environment with all pinned dependencies.
  • The requirements-base.txt file contains the direct unpinned dependencies only.

TODOs

  • Change ‘3.8-dev’ to ‘3.8’ once the final release of Python 3.8 has landed

Credits

The initial project was setup with the help of ionelmc’s cookiecutter template.