{ "info": { "author": "Bogdan Kulynych", "author_email": "hello@bogdankulynych.me", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Database", "Topic :: Security :: Cryptography", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": ".. image:: https://raw.githubusercontent.com/spring-epfl/hippiepug/master/hippiepug.svg?sanitize=true\n :width: 100px\n :alt: Hippiepug\n\n#########\nhippiepug\n#########\n\n|pypi| |build_status| |test_cov| |docs_status| |license|\n\n\nSublinear-lookup blockchains and efficient key-value Merkle trees.\n\nCheck out the `documentation `_.\n\n.. |pypi| image:: https://img.shields.io/pypi/v/hippiepug.svg\n :target: https://pypi.org/project/hippiepug/\n :alt: PyPI version\n\n.. |license| image:: https://img.shields.io/pypi/l/hippiepug.svg\n :target: https://pypi.org/project/hippiepug/\n :alt: License\n\n.. |docs_status| image:: https://readthedocs.org/projects/hippiepug/badge/?version=latest\n :target: https://hippiepug.readthedocs.io/?badge=latest\n :alt: Documentation status\n\n.. |build_status| image:: https://api.travis-ci.org/spring-epfl/hippiepug.svg?branch=master\n :target: https://travis-ci.org/spring-epfl/hippiepug\n :alt: Build status\n\n.. |test_cov| image:: https://coveralls.io/repos/github/spring-epfl/hippiepug/badge.svg\n :target: https://coveralls.io/github/spring-epfl/hippiepug\n :alt: Test coverage\n\n--------------\n\n.. description-marker-do-not-remove\n\nThis library provides implementations of two cryptographic data structures:\n\n- Blockchains with log(n) sublinear traversal, implemented as high-integrity\n deterministic skip-lists (skipchains). In this kind of blockchain verifying\n that block *b* extends block *a* does not require to download and process\n all blocks between *a* and *b*, but only a logarithmic amount of them.\n- Verifiable dictionary, implemented as a key-value Merkle tree that\n guarantees unique resolution. A proof of inclusion of a key-value pair in\n such a tree also proves that there does not exist another value for a given\n key somewhere else in the tree.\n\nBoth are meant to be used with a content-addressable storage. Each data\nstructure supports logarithmic queries, and logarithmic proofs of inclusion:\n\n+-----------------------+--------------------------+----------------------+----------------+\n| | Retrievals per lookup | Inclusion proof size | Append |\n+=======================+==========================+======================+================+\n| Skipchain | O(log(n)) | O(log(n)) | O(1) |\n+-----------------------+--------------------------+----------------------+----------------+\n| Key-value Merkle tree | O(log(n)) | O(log(n)) | Immutable |\n+-----------------------+--------------------------+----------------------+----------------+\n\nwith *n* being the size of the dictionary, or the number of blocks in the\ncase of a chain.\n\nThe theoretical details are in the `paper `_.\n\n.. getting-started-marker-do-not-remove\n\n===============\nGetting started\n===============\n\nYou can install the library from PyPI:\n\n.. code-block:: bash\n\n pip install hippiepug\n\nThen, the easiest way to run the tests is:\n\n.. code-block:: bash\n\n python setup.py test\n\nBe sure to check out the `usage guide `_.\n\n.. acks-marker-do-not-remove\n\n================\nAcknowledgements\n================\n\n* The library is a reimplementation of G. Danezis's `hippiehug`_ (hence\n the name).\n* This work is funded by the `NEXTLEAP project`_ within the European Union\u2019s\n Horizon 2020 Framework Programme for Research and Innovation (H2020-ICT-2015,\n ICT-10-2015) under grant agreement 688722.\n* The hippie pug logo kindly donated by `M. Naiem`_.\n\n.. _hippiehug: https://github.com/gdanezis/rousseau-chain\n.. _NEXTLEAP project: https://nextleap.eu\n.. _M. Naiem: http://mariam.space", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/spring-epfl/hippiepug", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "hippiepug", "package_url": "https://pypi.org/project/hippiepug/", "platform": "", "project_url": "https://pypi.org/project/hippiepug/", "project_urls": { "Homepage": "https://github.com/spring-epfl/hippiepug" }, "release_url": "https://pypi.org/project/hippiepug/0.5.0/", "requires_dist": null, "requires_python": "", "summary": "Sublinear-lookup blockchains and efficient key-value Merkle trees with a flexible storage backend", "version": "0.5.0" }, "last_serial": 5933044, "releases": { "0.4.2": [ { "comment_text": "", "digests": { "md5": "77d8e176977465bdfe17dbd129ba3592", "sha256": "64c5956e4bbdb2c42bf517cb6b1cabc6bac6d1262986d9ebd2e7551c4205b9c8" }, "downloads": -1, "filename": "hippiepug-0.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "77d8e176977465bdfe17dbd129ba3592", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12831, "upload_time": "2018-04-28T15:06:26", "url": "https://files.pythonhosted.org/packages/8e/c5/2a51fa95e8da0f8a9e341bb51682a5100e4e0d4f4866102c30532794ef55/hippiepug-0.4.2-py2.py3-none-any.whl" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "e7237846c94028291d14b3b3432a457d", "sha256": "147173947fb0c98843fd3e02d694045dd0989ec6d02ce5dffd7b8b6bf5e8d7ae" }, "downloads": -1, "filename": "hippiepug-0.5.0.tar.gz", "has_sig": false, "md5_digest": "e7237846c94028291d14b3b3432a457d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 509884, "upload_time": "2019-10-05T20:27:49", "url": "https://files.pythonhosted.org/packages/49/4d/376be16bb117481b6e078959b5a828e3c0cac25937cf7edb7dee00058c3e/hippiepug-0.5.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e7237846c94028291d14b3b3432a457d", "sha256": "147173947fb0c98843fd3e02d694045dd0989ec6d02ce5dffd7b8b6bf5e8d7ae" }, "downloads": -1, "filename": "hippiepug-0.5.0.tar.gz", "has_sig": false, "md5_digest": "e7237846c94028291d14b3b3432a457d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 509884, "upload_time": "2019-10-05T20:27:49", "url": "https://files.pythonhosted.org/packages/49/4d/376be16bb117481b6e078959b5a828e3c0cac25937cf7edb7dee00058c3e/hippiepug-0.5.0.tar.gz" } ] }