Skip to content
A simple way to keep your Django Model data 'n-sync with N external systems.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
src/nsync
tests
.editorconfig
.gitignore
.travis.yml
AUTHORS.rst
CONTRIBUTING.rst
HISTORY.rst
LICENSE
MANIFEST.in
README.rst
makemigrations.py
requirements-test.txt
requirements.txt
requirements_dev.txt
runtests.py
setup.cfg
setup.py
tox.ini

README.rst

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
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.