{ "info": { "author": "Jiri Kuncar", "author_email": "jiri.kuncar+gjt@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 1 - Planning", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "===============\n Git-JSON-Tree\n===============\n\n.. image:: https://img.shields.io/travis/jirikuncar/git-json-tree.svg\n :target: https://travis-ci.org/jirikuncar/git-json-tree\n\n.. image:: https://img.shields.io/coveralls/jirikuncar/git-json-tree.svg\n :target: https://coveralls.io/r/jirikuncar/git-json-tree\n\n.. image:: https://img.shields.io/github/tag/jirikuncar/git-json-tree.svg\n :target: https://github.com/jirikuncar/git-json-tree/releases\n\n.. image:: http://readthedocs.org/projects/git-json-tree/badge/?version=latest\n :target: http://git-json-tree.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://img.shields.io/github/license/jirikuncar/git-json-tree.svg\n :target: https://github.com/jirikuncar/git-json-tree/blob/master/LICENSE\n\nEncode and decode JSON files as Git tree objects.\n\n**This is an experimental developer preview release.**\n\nInstallation\n------------\n\nThe latest release is available on PyPI and can be installed using\n``pip``:\n\n::\n\n $ pip install git-json-tree\n\nThe development version can be installed directly from the Git repository:\n\n::\n\n $ pip install -e git+https://github.com/jirikuncar/git-json-tree.git#egg=git-json-tree\n\n\nIntegration with Git\n--------------------\n\nMove to a repository where you would like to store JSON files and\nadd following lines to files:\n\n``.git/config``\n\n.. code-block:: ini\n\n [filter \"git-json-tree\"]\n smudge = \"git-json-tree smudge\"\n clean = \"git-json-tree clean\"\n required # optional\n\n``.gitattributes``\n\n.. code-block:: text\n\n *.json filter=git-json-tree\n\n\nPointer file format\n~~~~~~~~~~~~~~~~~~~\n\nGit Git-JSON-Tree's pointer file looks like this:\n\n.. code-block:: text\n\n version https://github.com/jirikuncar/git-json-tree/tree/v1\n oid sha1:2f769492d6b634b86b82e916630da8a693e9c20e\n size 12345\n\nIt tracks the version of Git-JSON-Tree you're using, followed by a unique\nidentifier for the JSON file (oid). It also stores the size of the target JSON\nfile.\n\n**NOTE**:\n ``size`` is calculated from the encoded JSON string and it might differ\n depending on the version of serializer.\n\n\nUse the command line\n--------------------\n\nInteraction with the storage can also take place via the command-line\ninterface (CLI).\n\nFirst, you need to make sure that you are in a Git repository or you\nknow its location. The example shows a case when you are in the directory\nwith a Git repository.\n\n.. code-block:: console\n\n $ echo '{\"hello\": \"world\", \"version\": 1}' | git-json-tree encode\n 7123db01ad8c75a8df3508305bd891317ea36feb\n\nFollowing the above example you can create a first commit of your JSON object.\n\n.. code-block:: console\n\n $ export FIRST=$(git commit-tree 7123db01 -m First)\n\nIt is quite impractical to remember tree or commit sha1, hence we can give it\na reference name. The next steps uses the name ``master``, but you can decide\nto use your own naming convention for tracking versions of your objects. Each\nfile can have its own branch or just a single tag.\n\n.. code-block:: console\n\n $ git update-ref refs/heads/master $FIRST # for new object\n\nStoring a new version is very simple too.\n\n.. code-block:: console\n\n $ export PARENT=$(git show-ref --hash refs/heads/master)\n $ echo '{\"hello\": \"world\", \"version\": 2}' | git-json-tree encode\n 6f36c4272e88b14ab5e25a5419599534504c70fc\n $ export SECOND=$(git commit-tree 6f36c4272e -m Second -p $PARENT)\n $ git update-ref refs/heads/master $SECOND\n\nFinally, you can retrive and decode a tree or commit.\n\n.. code-block:: console\n\n $ git-json-tree decode # HEAD\n $ git-json-tree decode $FIRST # commit\n $ git-json-tree decode 7123db01 # tree id\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/jirikuncar/git-json-tree/", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "git-json-tree", "package_url": "https://pypi.org/project/git-json-tree/", "platform": "any", "project_url": "https://pypi.org/project/git-json-tree/", "project_urls": { "Homepage": "http://github.com/jirikuncar/git-json-tree/" }, "release_url": "https://pypi.org/project/git-json-tree/0.1.0.dev20180216/", "requires_dist": [ "click (>=6.7)", "dulwich (>=0.18.6)", "Sphinx (>=1.6.6); extra == 'all'", "check-manifest (>=0.25); extra == 'all'", "coverage (>=4.0); extra == 'all'", "coverage (>=4.0.0); extra == 'all'", "isort (>=4.2.2); extra == 'all'", "hypothesis (>=3.45.0); extra == 'all'", "mock (>=1.0.0); extra == 'all'", "pydocstyle (>=1.0.0); extra == 'all'", "pytest-cache (>=1.0); extra == 'all'", "pytest-cov (>=2.5.1); extra == 'all'", "pytest-isort (>=0.1.0); extra == 'all'", "pytest-pep8 (>=1.0.6); extra == 'all'", "pytest (>=3.4.0); extra == 'all'", "Sphinx (>=1.6.6); extra == 'all'", "check-manifest (>=0.25); extra == 'all'", "coverage (>=4.0); extra == 'all'", "coverage (>=4.0.0); extra == 'all'", "isort (>=4.2.2); extra == 'all'", "hypothesis (>=3.45.0); extra == 'all'", "mock (>=1.0.0); extra == 'all'", "pydocstyle (>=1.0.0); extra == 'all'", "pytest-cache (>=1.0); extra == 'all'", "pytest-cov (>=2.5.1); extra == 'all'", "pytest-isort (>=0.1.0); extra == 'all'", "pytest-pep8 (>=1.0.6); extra == 'all'", "pytest (>=3.4.0); extra == 'all'", "Sphinx (>=1.6.6); extra == 'docs'", "check-manifest (>=0.25); extra == 'tests'", "coverage (>=4.0); extra == 'tests'", "coverage (>=4.0.0); extra == 'tests'", "isort (>=4.2.2); extra == 'tests'", "hypothesis (>=3.45.0); extra == 'tests'", "mock (>=1.0.0); extra == 'tests'", "pydocstyle (>=1.0.0); extra == 'tests'", "pytest-cache (>=1.0); extra == 'tests'", "pytest-cov (>=2.5.1); extra == 'tests'", "pytest-isort (>=0.1.0); extra == 'tests'", "pytest-pep8 (>=1.0.6); extra == 'tests'", "pytest (>=3.4.0); extra == 'tests'" ], "requires_python": "", "summary": "Git-JSON-Tree.", "version": "0.1.0.dev20180216" }, "last_serial": 3587299, "releases": { "0.1.0.dev20180121": [ { "comment_text": "", "digests": { "md5": "c17b03e550f2a05dbe1455c40ff7df69", "sha256": "62478f3b74fbfb901433340488fc056bcf2dcfd3949d8f33573171f809feca09" }, "downloads": -1, "filename": "git_json_tree-0.1.0.dev20180121-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c17b03e550f2a05dbe1455c40ff7df69", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8022, "upload_time": "2018-01-21T17:47:04", "url": "https://files.pythonhosted.org/packages/6a/43/f6efb6749ed53b9895503408957a617cdb6c97ee31782c9b7a50cd83d77d/git_json_tree-0.1.0.dev20180121-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b3d0fd8c4e21f478763c328c216e8c7a", "sha256": "fe8af71e409bc026c27fc280dc674dae0bf9269686cf5498784b1bbb856abdca" }, "downloads": -1, "filename": "git-json-tree-0.1.0.dev20180121.tar.gz", "has_sig": false, "md5_digest": "b3d0fd8c4e21f478763c328c216e8c7a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9365, "upload_time": "2018-01-21T17:47:06", "url": "https://files.pythonhosted.org/packages/91/da/d2fe888b70e920f9e0205ff689a1f346df5be10cf0f32a89befc055b3df3/git-json-tree-0.1.0.dev20180121.tar.gz" } ], "0.1.0.dev20180216": [ { "comment_text": "", "digests": { "md5": "3802a3fd0f5d4fe262a7f46f894a478b", "sha256": "97e56a1a54c1dd805352cf9408bafa0ea51447ee7aa777e3bb9abd089ef59bbc" }, "downloads": -1, "filename": "git_json_tree-0.1.0.dev20180216-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3802a3fd0f5d4fe262a7f46f894a478b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8148, "upload_time": "2018-02-16T12:41:32", "url": "https://files.pythonhosted.org/packages/4d/bb/af8d9a2bd1b91776ce368a35ebf3280097d4699029d909d8669e3ec027b8/git_json_tree-0.1.0.dev20180216-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e81a708594619aba3e9ca5ea611dcaa8", "sha256": "01bc2e170e0744162c611068e60d519870dc5f3435ea2e6563d605767ad09da1" }, "downloads": -1, "filename": "git-json-tree-0.1.0.dev20180216.tar.gz", "has_sig": false, "md5_digest": "e81a708594619aba3e9ca5ea611dcaa8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30884, "upload_time": "2018-02-16T12:41:33", "url": "https://files.pythonhosted.org/packages/2d/ab/1be490fcec8ecdf9a33a852477fb2e8ae4ff94fd64a0a0a3728e4f948cb8/git-json-tree-0.1.0.dev20180216.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3802a3fd0f5d4fe262a7f46f894a478b", "sha256": "97e56a1a54c1dd805352cf9408bafa0ea51447ee7aa777e3bb9abd089ef59bbc" }, "downloads": -1, "filename": "git_json_tree-0.1.0.dev20180216-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3802a3fd0f5d4fe262a7f46f894a478b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8148, "upload_time": "2018-02-16T12:41:32", "url": "https://files.pythonhosted.org/packages/4d/bb/af8d9a2bd1b91776ce368a35ebf3280097d4699029d909d8669e3ec027b8/git_json_tree-0.1.0.dev20180216-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e81a708594619aba3e9ca5ea611dcaa8", "sha256": "01bc2e170e0744162c611068e60d519870dc5f3435ea2e6563d605767ad09da1" }, "downloads": -1, "filename": "git-json-tree-0.1.0.dev20180216.tar.gz", "has_sig": false, "md5_digest": "e81a708594619aba3e9ca5ea611dcaa8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30884, "upload_time": "2018-02-16T12:41:33", "url": "https://files.pythonhosted.org/packages/2d/ab/1be490fcec8ecdf9a33a852477fb2e8ae4ff94fd64a0a0a3728e4f948cb8/git-json-tree-0.1.0.dev20180216.tar.gz" } ] }