Skip to main content

Hangar is version control for tensor data. Commit, branch, merge, revert, and collaborate in the data-defined software era.

Project description

docs

Documentation Status

tests

Travis-CI Build Status AppVeyor Build Status
Code Coverage

package

PyPI Package latest release PyPI Wheel Supported versions Supported implementations
Commits since latest release

Hangar is version control for tensor data. Commit, branch, merge, revert, and collaborate in the data-defined software era.

  • Free software: Apache 2.0 license

What is Hangar?

Hangar is based off the belief that too much time is spent collecting, managing, and creating home-brewed version control systems for data. At it’s core Hangar is designed to solve many of the same problems faced by traditional code version control system (ie. Git), just adapted for numerical data:

  • Time travel through the historical evolution of a dataset.

  • Zero-cost Branching to enable exploratory analysis and collaboration

  • Cheap Merging to build datasets over time (with multiple collaborators)

  • Completely abstracted organization and management of data files on disk

  • Ability to only retrieve a small portion of the data (as needed) while still maintaining complete historical record

  • Ability to push and pull changes directly to collaborators or a central server (ie a truly distributed version control system)

The ability of version control systems to perform these tasks for codebases is largely taken for granted by almost every developer today; However, we are in-fact standing on the shoulders of giants, with decades of engineering which has resulted in these phenomenally useful tools. Now that a new era of “Data-Defined software” is taking hold, we find there is a strong need for analogous version control systems which are designed to handle numerical data at large scale… Welcome to Hangar!

The Hangar Workflow:

   Checkout Branch
          |
          ▼
 Create/Access Data
          |
          ▼
Add/Remove/Update Samples
          |
          ▼
       Commit

Log Style Output:

*   5254ec (master) : merge commit combining training updates and new validation samples
|\
| * 650361 (add-validation-data) : Add validation labels and image data in isolated branch
* | 5f15b4 : Add some metadata for later reference and add new training samples received after initial import
|/
*   baddba : Initial commit adding training images and labels

Learn more about what Hangar is all about at https://hangar-py.readthedocs.io/

Installation

Hangar is in early alpha development release!

pip install hangar

Documentation

https://hangar-py.readthedocs.io/

Development

To run the all tests run:

tox

Note, to combine the coverage data from all the tox environments run:

Windows

set PYTEST_ADDOPTS=--cov-append
tox

Other

PYTEST_ADDOPTS=--cov-append tox

Project details


Download files

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

Source Distribution

hangar-0.3.0.tar.gz (640.0 kB view details)

Uploaded Source

Built Distribution

hangar-0.3.0-py2.py3-none-any.whl (175.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file hangar-0.3.0.tar.gz.

File metadata

  • Download URL: hangar-0.3.0.tar.gz
  • Upload date:
  • Size: 640.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for hangar-0.3.0.tar.gz
Algorithm Hash digest
SHA256 29959e0bb09e01099b9f6d35ad6794a13aff2dc77f9bc2ebd3c4268f421c2642
MD5 993d37f6f311734ed1e8817287e89770
BLAKE2b-256 f604b6484b34d46e36c23edfaad3f14b65a14ff1c8098f2714c1feb6c3508ec6

See more details on using hashes here.

File details

Details for the file hangar-0.3.0-py2.py3-none-any.whl.

File metadata

  • Download URL: hangar-0.3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 175.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for hangar-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f3a9376f02067c59fe318ebf1b49664c997267d56cadc4eb1604d07859b9a291
MD5 de7b68780f45c463dcf91ae9bc99e731
BLAKE2b-256 66b69a893ed93ec3bf877a1aa8812ff2a8e3fa4793f32b1bf57d8deca2662fe1

See more details on using hashes here.

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