git your dict
Use Git as a key-value store that can track and merge arbitrary data in Python:
>>> r = jsongit.init('repo') >>> r.commit('foo', {}) >>> r.checkout('foo', 'bar') >>> r.commit('foo', {'roses': 'red'}) >>> r.commit('bar', {'violets': 'blue'}) >>> r.merge('foo', 'bar').message Auto-merge of be92d3dcb6 and dbde44bada from shared parent 5d55214e4f >>> r.show('foo') {u'roses': u'red', u'violets': u'blue'} >>> for commit in r.log('foo'): ... print(commit) 'foo'='{u'roses': u'red', u'violets': u'blue'}'@fc9e0f3106 'bar'='{u'violets': u'blue'}'@be92d3dcb6 'bar'='{}'@5bb29ad7dc 'foo'='{u'roses': u'red'}'@dbde44bada 'foo'='{}'@5d55214e4f
Libgit2 is used to build and modify the git repository. You can find instructions for installing it here.
Pip handles the rest:
$ pip install jsongit
You can find full installation instructions in the documentation.
Documentation is on Read the Docs.