Metadata-Version: 2.2
Name: migrant
Version: 1.6.1
Summary: Database Migration Engine
Author-email: "Shoobx, Inc." <dev@shoobx.com>
License: MIT
Project-URL: Homepage, https://github.com/Shoobx/migrant/
Keywords: migration,version,database
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: setuptools
Provides-Extra: test
Requires-Dist: coverage; extra == "test"
Requires-Dist: mock; extra == "test"

=======
Migrant
=======

.. image:: https://github.com/Shoobx/migrant/actions/workflows/test.yml/badge.svg
   :target: https://github.com/Shoobx/migrant/actions

.. image:: https://coveralls.io/repos/github/Shoobx/migrant/badge.svg?branch=master
   :target: https://coveralls.io/github/Shoobx/migrant?branch=master

.. image:: https://img.shields.io/pypi/v/migrant.svg
    :target: https://pypi.python.org/pypi/migrant

.. image:: https://img.shields.io/pypi/pyversions/migrant.svg
    :target: https://pypi.python.org/pypi/migrant/

.. image:: https://api.codeclimate.com/v1/badges/08342b65bdf96b761dcd/maintainability
   :target: https://codeclimate.com/github/Shoobx/migrant/maintainability
   :alt: Maintainability

Migrant is a database schema version management framework

Features include:

  * backend agnostic core
  * explicit migration script ordering
  * support for downgrading
  * support for out-of-order migrations
  * support for migrating multiple homogenuous databases


Development
-----------

To set up development environment, use `pipenv`::

    pipenv install --dev

To run tests, use `pytest`::

    pytest

To run tests under all supported environments, use `tox`::

    tox --skip-missing-interpreters

To check for typing errors, use `mypy`::

    mypy src
