Skip to content

A simple way to keep your Django Model data 'n-sync with N external systems.

License

Notifications You must be signed in to change notification settings

andrewdodd/django-nsync

Repository files navigation

django-nsync

https://badge.fury.io/py/django-nsync.png https://travis-ci.org/andrewdodd/django-nsync.png?branch=master Coverage

Django NSync provides a simple way to keep your Django Model data 'n-sync with N external systems.

Features

Includes:

  • Synchronise models with data from external systems
    • Create, update or delete model objects
    • Modify relational fields
    • Allow multiple systems to modify the same model object
  • CSV file support out of the box
    • Ships with commands to process a single CSV file or multiple CSV files
  • No need for more code
    • Nsync does not require you to inherit from special classes, add 'model mapping' objects or really define anything in Python

Not-included:

  • Export (to CSV or anything else for that matter)
    • There are other packages that can do this
    • Why do you want the data out? Isn't that what your application is for? ;-)
  • Admin integration
    • There isn't much to this package, if you want to add the models to your admin pages it is probably better if you do it (that's what I've done in my use case)

Not-yet included:

  • Other file formats out of the box
    • Love it or hate it, CSV is ubiquitous and simple (its limitations also force simplicity)
    • The CSV handling part is separated from the true NSync part, so feel free to write your own lyrics-from-wav-file importer.
  • Intricate data format handling
    • E.g. parsing date times etc
    • This can be side-stepped by creating @property annotated handlers though (see the examples from more info)

Documentation

The full documentation is at https://django-nsync.readthedocs.org.

Credits

Tools used in rendering this package:

For helping me make sense of the python pacakging world (and the bad practices codified in some of the tools/blogs out there):

  • Hynek Schlawack Whose blog posts on packaging Python apps etc were indispensible
  • Ionel Cristian Maries (sorry, too lazy for unicode) Whose blog post on python packaging was also indispensible

About

A simple way to keep your Django Model data 'n-sync with N external systems.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages