{ "info": { "author": "Richard Izzo", "author_email": "rick@tensorwerk.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Database", "Topic :: Scientific/Engineering", "Topic :: Utilities" ], "description": "========\nOverview\n========\n\n.. start-badges\n\n.. list-table::\n :stub-columns: 1\n\n * - docs\n - |docs|\n * - tests\n - | |travis| |appveyor|\n | |codecov|\n * - package\n - | |version| |wheel| |supported-versions| |supported-implementations|\n | |commits-since|\n.. |docs| image:: https://readthedocs.org/projects/hangar-py/badge/?style=flat\n :target: https://readthedocs.org/projects/hangar-py\n :alt: Documentation Status\n\n.. |travis| image:: https://travis-ci.org/tensorwerk/hangar-py.svg?branch=master\n :alt: Travis-CI Build Status\n :target: https://travis-ci.org/tensorwerk/hangar-py\n\n.. |appveyor| image:: https://ci.appveyor.com/api/projects/status/github/tensorwerk/hangar-py?branch=master&svg=true\n :alt: AppVeyor Build Status\n :target: https://ci.appveyor.com/project/rlizzo/hangar-py\n\n.. |codecov| image:: https://codecov.io/gh/tensorwerk/hangar-py/branch/master/graph/badge.svg\n :alt: Code Coverage\n :target: https://codecov.io/gh/tensorwerk/hangar-py\n\n.. |version| image:: https://img.shields.io/pypi/v/hangar.svg\n :alt: PyPI Package latest release\n :target: https://pypi.org/project/hangar\n\n.. |commits-since| image:: https://img.shields.io/github/commits-since/tensorwerk/hangar-py/v0.3.0.svg\n :alt: Commits since latest release\n :target: https://github.com/tensorwerk/hangar-py/compare/v0.3.0...master\n\n.. |wheel| image:: https://img.shields.io/pypi/wheel/hangar.svg\n :alt: PyPI Wheel\n :target: https://pypi.org/project/hangar\n\n.. |supported-versions| image:: https://img.shields.io/pypi/pyversions/hangar.svg\n :alt: Supported versions\n :target: https://pypi.org/project/hangar\n\n.. |supported-implementations| image:: https://img.shields.io/pypi/implementation/hangar.svg\n :alt: Supported implementations\n :target: https://pypi.org/project/hangar\n\n\n.. end-badges\n\nHangar is version control for tensor data. Commit, branch, merge, revert, and\ncollaborate in the data-defined software era.\n\n* Free software: Apache 2.0 license\n\nWhat is Hangar?\n===============\n\nHangar is based off the belief that too much time is spent collecting, managing,\nand creating home-brewed version control systems for data. At it's core Hangar\nis designed to solve many of the same problems faced by traditional code version\ncontrol system (ie. ``Git``), just adapted for numerical data:\n\n* Time travel through the historical evolution of a dataset.\n* Zero-cost Branching to enable exploratory analysis and collaboration\n* Cheap Merging to build datasets over time (with multiple collaborators)\n* Completely abstracted organization and management of data files on disk\n* Ability to only retrieve a small portion of the data (as needed) while still\n maintaining complete historical record\n* Ability to push and pull changes directly to collaborators or a central server\n (ie a truly distributed version control system)\n\nThe ability of version control systems to perform these tasks for codebases is\nlargely taken for granted by almost every developer today; However, we are\nin-fact standing on the shoulders of giants, with decades of engineering which\nhas resulted in these phenomenally useful tools. Now that a new era of\n\"Data-Defined software\" is taking hold, we find there is a strong need for\nanalogous version control systems which are designed to handle numerical data at\nlarge scale... Welcome to Hangar!\n\n\nThe Hangar Workflow:\n\n::\n\n Checkout Branch\n |\n \u25bc\n Create/Access Data\n |\n \u25bc\n Add/Remove/Update Samples\n |\n \u25bc\n Commit\n\nLog Style Output:\n\n.. code-block:: text\n\n * 5254ec (master) : merge commit combining training updates and new validation samples\n |\\\n | * 650361 (add-validation-data) : Add validation labels and image data in isolated branch\n * | 5f15b4 : Add some metadata for later reference and add new training samples received after initial import\n |/\n * baddba : Initial commit adding training images and labels\n\n\nLearn more about what Hangar is all about at https://hangar-py.readthedocs.io/\n\n\nInstallation\n============\n\nHangar is in early alpha development release!\n\n::\n\n pip install hangar\n\nDocumentation\n=============\n\nhttps://hangar-py.readthedocs.io/\n\n\nDevelopment\n===========\n\nTo run the all tests run::\n\n tox\n\nNote, to combine the coverage data from all the tox environments run:\n\n.. list-table::\n :widths: 10 90\n :stub-columns: 1\n\n - - Windows\n - ::\n\n set PYTEST_ADDOPTS=--cov-append\n tox\n\n - - Other\n - ::\n\n PYTEST_ADDOPTS=--cov-append tox\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tensorwerk/hangar-py", "keywords": "", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "hangar", "package_url": "https://pypi.org/project/hangar/", "platform": "", "project_url": "https://pypi.org/project/hangar/", "project_urls": { "Changelog": "https://hangar-py.readthedocs.io/en/latest/changelog.html", "Documentation": "https://hangar-py.readthedocs.io/", "Homepage": "https://github.com/tensorwerk/hangar-py", "Issue Tracker": "https://github.com/tensorwerk/hangar-py/issues" }, "release_url": "https://pypi.org/project/hangar/0.3.0/", "requires_dist": [ "blosc", "click", "grpcio", "protobuf", "h5py (==2.9.0)", "lmdb (<=0.96,>=0.94)", "msgpack (==0.6.1)", "numpy", "pyyaml", "tqdm", "wrapt", "grpcio-tools ; extra == 'all'", "mypy (>=0.701) ; extra == 'all'", "mypy-protobuf ; extra == 'all'", "pillow ; extra == 'all'", "matplotlib ; extra == 'all'", "grpcio-tools ; extra == 'dev'", "mypy (>=0.701) ; extra == 'dev'", "mypy-protobuf ; extra == 'dev'", "pillow ; extra == 'dev'", "matplotlib ; extra == 'dev'" ], "requires_python": ">= 3.6.0", "summary": "Hangar is version control for tensor data. Commit, branch, merge, revert, and collaborate in the data-defined software era.", "version": "0.3.0" }, "last_serial": 5998337, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "71543506f8f824845155aafd9bde3465", "sha256": "b4791e6cc4b12b47f526b5144762a8993d41cf44ef45df5b2cb7f823b6c709c8" }, "downloads": -1, "filename": "hangar-0.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "71543506f8f824845155aafd9bde3465", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">= 3.6.0", "size": 102954, "upload_time": "2019-04-17T15:21:55", "url": "https://files.pythonhosted.org/packages/13/1f/ab46e0594f169ad6a4cf84465dc2aeecb6e8999564ea6e2b18f11e5ef964/hangar-0.0.0-py2.py3-none-any.whl" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "3f8afbb159b1503140e1279a33496ba0", "sha256": "3f02b70ced9bc91b02dcb9c013cbdad89ed5bc812f8d06db827633eed8f2f7fb" }, "downloads": -1, "filename": "hangar-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3f8afbb159b1503140e1279a33496ba0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">= 3.6.0", "size": 122944, "upload_time": "2019-05-24T17:58:04", "url": "https://files.pythonhosted.org/packages/f4/93/687513c13b3ed696b858f0603aac53846c59c76ca4a6eea685b070158527/hangar-0.1.0-py2.py3-none-any.whl" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "cf2ab9f658ed8fa410bf4ff4021fb40c", "sha256": "446993eccbc4d60374aee13608edf44633abff039ae9eb726a698c089ec6d533" }, "downloads": -1, "filename": "hangar-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cf2ab9f658ed8fa410bf4ff4021fb40c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">= 3.6.0", "size": 122939, "upload_time": "2019-05-24T18:24:11", "url": "https://files.pythonhosted.org/packages/09/e7/681d44e46e89922c1eea780810df4a466dc54b6aa8a3f6a31a41f4238b32/hangar-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0ca378672332ce44f369d778c1d2a5c3", "sha256": "85bbb1e8fe0cac56ca86257283a96472bd8410443d1b819d0e6b67f0a0d63214" }, "downloads": -1, "filename": "hangar-0.1.1.tar.gz", "has_sig": false, "md5_digest": "0ca378672332ce44f369d778c1d2a5c3", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6.0", "size": 23463588, "upload_time": "2019-05-29T03:33:33", "url": "https://files.pythonhosted.org/packages/e3/e0/67a26991db9d9861025a33828816554d16c3ee6e17cbe9c9af519fc9eb5d/hangar-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "aaea94260978ac510405a993acada9d1", "sha256": "cb192b20bcb5c1dd9471050497d297e4323b568e3129b20cc2d22e084fdb0098" }, "downloads": -1, "filename": "hangar-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "aaea94260978ac510405a993acada9d1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">= 3.6.0", "size": 156595, "upload_time": "2019-08-09T20:17:40", "url": "https://files.pythonhosted.org/packages/09/30/faf72c608b86285eec3a288d997b7b798ac29fbe2068df95339bea2c1e3e/hangar-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e4f37b487105b3690ebb7ef51dd0270c", "sha256": "50e5eb58b868621f493adfb9d6354b0158f59c755bf9fd275fba3b0fa3088540" }, "downloads": -1, "filename": "hangar-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e4f37b487105b3690ebb7ef51dd0270c", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6.0", "size": 441537, "upload_time": "2019-08-09T20:35:49", "url": "https://files.pythonhosted.org/packages/b2/4e/2ffd28c7725bdafc35e119ad4fa40bbffa1d18b830438e7caf37867f1df8/hangar-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "de7b68780f45c463dcf91ae9bc99e731", "sha256": "f3a9376f02067c59fe318ebf1b49664c997267d56cadc4eb1604d07859b9a291" }, "downloads": -1, "filename": "hangar-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "de7b68780f45c463dcf91ae9bc99e731", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">= 3.6.0", "size": 175376, "upload_time": "2019-09-10T08:12:35", "url": "https://files.pythonhosted.org/packages/66/b6/9a893ed93ec3bf877a1aa8812ff2a8e3fa4793f32b1bf57d8deca2662fe1/hangar-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "993d37f6f311734ed1e8817287e89770", "sha256": "29959e0bb09e01099b9f6d35ad6794a13aff2dc77f9bc2ebd3c4268f421c2642" }, "downloads": -1, "filename": "hangar-0.3.0.tar.gz", "has_sig": false, "md5_digest": "993d37f6f311734ed1e8817287e89770", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6.0", "size": 640017, "upload_time": "2019-09-10T08:12:37", "url": "https://files.pythonhosted.org/packages/f6/04/b6484b34d46e36c23edfaad3f14b65a14ff1c8098f2714c1feb6c3508ec6/hangar-0.3.0.tar.gz" } ], "0.4.0b0": [ { "comment_text": "", "digests": { "md5": "7f1a1dce6c53a9c49314c1dc6f23b779", "sha256": "1b247642382a785752ec37fcaccbd2eb55fc9a39750bda9b4ee810f74a8a1ca9" }, "downloads": -1, "filename": "hangar-0.4.0b0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7f1a1dce6c53a9c49314c1dc6f23b779", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">= 3.6.0", "size": 190435, "upload_time": "2019-10-19T01:58:31", "url": "https://files.pythonhosted.org/packages/e4/7f/58e09d9f1b9cc9ac3fbbef70413539a32a0a150f48164887941a6c5a2a4f/hangar-0.4.0b0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a894d519ee247d5607ad42166e039e7a", "sha256": "c8ce744574fadcb937826d41c22c0881891ce1ac6fd1b9d9ebc207f297d7fc74" }, "downloads": -1, "filename": "hangar-0.4.0b0.tar.gz", "has_sig": false, "md5_digest": "a894d519ee247d5607ad42166e039e7a", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6.0", "size": 645646, "upload_time": "2019-10-19T01:58:33", "url": "https://files.pythonhosted.org/packages/ce/ce/780fc50336084e65a7c05b63154a2f4e657c9a36029b29cb9f47e1475ab4/hangar-0.4.0b0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "de7b68780f45c463dcf91ae9bc99e731", "sha256": "f3a9376f02067c59fe318ebf1b49664c997267d56cadc4eb1604d07859b9a291" }, "downloads": -1, "filename": "hangar-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "de7b68780f45c463dcf91ae9bc99e731", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">= 3.6.0", "size": 175376, "upload_time": "2019-09-10T08:12:35", "url": "https://files.pythonhosted.org/packages/66/b6/9a893ed93ec3bf877a1aa8812ff2a8e3fa4793f32b1bf57d8deca2662fe1/hangar-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "993d37f6f311734ed1e8817287e89770", "sha256": "29959e0bb09e01099b9f6d35ad6794a13aff2dc77f9bc2ebd3c4268f421c2642" }, "downloads": -1, "filename": "hangar-0.3.0.tar.gz", "has_sig": false, "md5_digest": "993d37f6f311734ed1e8817287e89770", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.6.0", "size": 640017, "upload_time": "2019-09-10T08:12:37", "url": "https://files.pythonhosted.org/packages/f6/04/b6484b34d46e36c23edfaad3f14b65a14ff1c8098f2714c1feb6c3508ec6/hangar-0.3.0.tar.gz" } ] }