Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

declarative data migration and transformation package

Project description

Data-migrator (version 0.6.2) is a simple data-migration package for python lovers.

https://circleci.com/gh/schubergphilis/data-migrator.svg?style=svg
Updates Documentation Status https://api.codacy.com/project/badge/Grade/bf6030e9e7e248979607802880336611 https://api.codacy.com/project/badge/Coverage/bf6030e9e7e248979607802880336611

Data-migrator is a declarative DSL for table driven data transformations, set up as an open and extensive system. Use this to create data transformations for changing databases as a result of changing code, initial loads to datalakes (it contains a Kinesis provider)and more.

Example

Data-migrator assumes data is extracted and loaded with client access.

$ mysql source_db -E 'select id,a,b from table' -B  | python my_filter.py | mysql target_db

It than offers a wide range of primitives with default settings to build complex transformations fast, readable and extendable

from data_migrator import models, transform

class Result(models.Model):
  id   = models.IntField(pos=0) # keep id
  uuid = models.UUIDField()     # generate new uuid4 field
  a    = models.StringField(pos=1, default='NO_NULL', max_length=5, nullable='NULL', replacement=lambda x:x.upper())
  b    = models.StringField(pos=2, name='my_b')

if __name__ == "__main__":
  transform.Transformer(models=[Result]).process()

Installation

Execute the following command to install data-migrator with pip:

pip install data-migrator

See the Installation Instructions in Documentation for more instructions on installing, upgrading, and uninstalling data-migrator.

The project is maintained at GitHub.

Support and contribute

Questions, comments, bug reports and especially tested patches may be submitted directly to the issue tracker.

Everyone interacting with this codebase, issue trackers, chat rooms, and mailing lists is expected to follow the Code of Conduct.

Project details


Release history Release notifications

History Node

0.6.3.dev2

History Node

0.6.3.dev1

This version
History Node

0.6.2

History Node

0.6.1

History Node

0.6.0

History Node

0.5.0

History Node

0.4.6

History Node

0.4.5

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
data_migrator-0.6.2-py2.py3-none-any.whl (37.2 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Dec 16, 2017
data-migrator-0.6.2.tar.gz (50.3 kB) Copy SHA256 hash SHA256 Source None Dec 16, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page