Skip to main content

Python Library for NoSQL database record versioning

Project description

A Python library for NoSQL record versioning.

Installation

To install the latest release on PyPi, simply run:

pip install nosql_versioning

Or to install the latest development version, run:

git clone https://github.com/xinhuang/nosql_versioning.git
cd nosql_versioning
python setup.py install

Quick Tutorial

>>> from nosql_versioning import database
>>>
>>> version, Record = database(decode=json.loads)
>>>
>>> @version()
>>> class Recordv0(object):
>>>     def __init__(self, data):
>>>         self.old_name = data['old_name']
>>>
>>> @version(1)
>>> class Recordv1(object):
>>>     def __init__(self, data=None, value=None):
>>>         if data:
>>>             self.new_name = data['new_name']
>>>         else:
>>>             self.new_name = value
>>>
>>>     @staticmethod
>>>     def migrate(data):
>>>         data['new_name'] = data['old_name']
>>>         del data['old_name']
>>>
>>> rec = Record('{"_ver": 0, "old_name": 1}')
>>> print(rec.new_name)
1
>>> rec = Record(value=42)         # custom constructor can also be used
>>> print(rec.new_name)
42

Licensing

This project is released under the terms of the MIT Open Source License. View LICENSE.txt for more information.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

nosql_versioning-0.1.7-py3-none-any.whl (6.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page