{ "info": { "author": "Piper Merriam", "author_email": "pipermerriam@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development", "Topic :: Utilities" ], "description": "Python Implementation of the Ethereum Trie structure\n====================================================\n\n|PyPI| |PyPI - Python Version|\n\n Warning: This is an early release and is likely to contain bugs as\n well as breaking API changes. This library and repository was\n previously located at\n `pipermerriam/py-trie `__.\n It was transferred to the Ethereum foundation GitHub in November\n 2017 and renamed to ``py-trie``.\n\nInstallation\n------------\n\n.. code:: sh\n\n pip install trie\n\nDevelopment\n-----------\n\n.. code:: sh\n\n pip install -e .[dev]\n\nRunning the tests\n~~~~~~~~~~~~~~~~~\n\nYou can run the tests with:\n\n.. code:: sh\n\n py.test tests\n\nOr you can install ``tox`` to run the full test suite.\n\nReleasing\n~~~~~~~~~\n\nPandoc is required for transforming the markdown README to the proper\nformat to render correctly on pypi.\n\nFor Debian-like systems:\n\n.. code:: sh\n\n apt install pandoc\n\nOr on OSX:\n\n.. code:: sh\n\n brew install pandoc\n\nTo release a new version:\n\n.. code:: sh\n\n bumpversion $$VERSION_PART_TO_BUMP$$\n git push && git push --tags\n make release\n\nHow to bumpversion\n^^^^^^^^^^^^^^^^^^\n\nThe version format for this repo is ``{major}.{minor}.{patch}`` for\nstable, and ``{major}.{minor}.{patch}-{stage}.{devnum}`` for unstable\n(``stage`` can be alpha or beta).\n\nTo issue the next version in line, use bumpversion and specify which\npart to bump, like ``bumpversion minor`` or ``bumpversion devnum``.\n\nIf you are in a beta version, ``bumpversion stage`` will switch to a\nstable.\n\nTo issue an unstable version when the current version is stable, specify\nthe new version explicitly, like\n``bumpversion --new-version 4.0.0-alpha.1 devnum``\n\nUsage\n-----\n\n.. code:: python\n\n >>> from trie import HexaryTrie\n >>> t = HexaryTrie(db={})\n >>> t.root_hash\n b'V\\xe8\\x1f\\x17\\x1b\\xccU\\xa6\\xff\\x83E\\xe6\\x92\\xc0\\xf8n[H\\xe0\\x1b\\x99l\\xad\\xc0\\x01b/\\xb5\\xe3c\\xb4!'\n >>> t.set(b'my-key', b'some-value')\n >>> t.get(b'my-key')\n b'some-value'\n >>> t.exists(b'another-key')\n False\n >>> t.set(b'another-key', b'another-value')\n >>> t.exists(b'another-key')\n True\n >>> t.delete(b'another-key')\n >>> t.exists(b'another-key')\n False\n\nYou can also use it like a dictionary.\n\n.. code:: python\n\n >>> from trie import HexaryTrie\n >>> t = HexaryTrie(db={})\n >>> t.root_hash\n b'V\\xe8\\x1f\\x17\\x1b\\xccU\\xa6\\xff\\x83E\\xe6\\x92\\xc0\\xf8n[H\\xe0\\x1b\\x99l\\xad\\xc0\\x01b/\\xb5\\xe3c\\xb4!'\n >>> t[b'my-key'] = b'some-value'\n >>> t[b'my-key']\n b'some-value'\n >>> b'another-key' in t\n False\n >>> t[b'another-key'] = b'another-value'\n >>> b'another-key' in t\n True\n >>> del t[b'another-key']\n >>> b'another-key' in t\n False\n\nBinaryTrie\n----------\n\n**Note:** One drawback of Binary Trie is that **one key can not be the\nprefix of another key**. For example, if you already set the value\n``value1`` with key ``key1``, you can not set another value with key\n``key`` or ``key11`` and the like.\n\nBinaryTrie branch and witness helper functions\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n >>> from trie import BinaryTrie\n >>> from trie.branches import (\n >>> check_if_branch_exist,\n >>> get_branch,\n >>> if_branch_valid,\n >>> get_witness_for_key_prefix,\n >>> )\n >>> t = BinaryTrie(db={})\n >>> t.root_hash\n b\"\\xc5\\xd2F\\x01\\x86\\xf7#<\\x92~}\\xb2\\xdc\\xc7\\x03\\xc0\\xe5\\x00\\xb6S\\xca\\x82';{\\xfa\\xd8\\x04]\\x85\\xa4p\"\n >>> t.set(b'key1', b'value1')\n >>> t.set(b'key2', b'value2')\n\nNow Trie looks like this:\n\n::\n\n root ---> (kvnode, *common key prefix*)\n |\n |\n |\n (branchnode)\n / \\\n / \\\n / \\\n (kvnode, *remain kepath*)(kvnode, *remain kepath*)\n | |\n | |\n | |\n (leafnode, b'value1') (leafnode, b'value2')\n\n.. code:: python\n\n >>> # check_if_branch_exist function\n >>> check_if_branch_exist(t.db, t.root_hash, b'key')\n True\n >>> check_if_branch_exist(t.db, t.root_hash, b'key1')\n True\n >>> check_if_branch_exist(t.db, t.root_hash, b'ken')\n False\n >>> check_if_branch_exist(t.db, t.root_hash, b'key123')\n False\n >>> # get_branch function\n >>> get_branch(t.db, t.root_hash, b'key1')\n (b'\\x00\\x82\\x1a\\xd9^L|38J\\xed\\xf31S\\xb2\\x97A\\x8dy\\x91RJ\\x92\\xf5ZC\\xb4\\x99T&;!\\x9f\\xa9!\\xa2\\xfe;', b\"\\x01*\\xaccxH\\x89\\x08}\\x93|\\xda\\xb9\\r\\x9b\\x82\\x8b\\xb2Y\\xbc\\x10\\xb9\\x88\\xf40\\xef\\xed\\x8b'\\x13\\xbc\\xa5\\xccYGb\\xc2\\x8db\\x88lPs@)\\x86v\\xd7B\\xf7\\xd3X\\x93\\xc9\\xf0\\xfd\\xae\\xe0`j#\\x0b\\xca;\\xf8\", b'\\x00\\x11\\x8aEL3\\x839E\\xbd\\xc4G\\xd1xj\\x0fxWu\\xcb\\xf6\\xf3\\xf2\\x8e7!M\\xca\\x1c/\\xd7\\x7f\\xed\\xc6', b'\\x02value1')\n\nNode started with ``b'\\x00'``, ``b'\\x01'`` and ``b'\\x02'`` are kvnode,\nbranchnode and leafnode respectively.\n\n.. code:: python\n\n >>> get_branch(t.db, t.root_hash, b'key')\n (b'\\x00\\x82\\x1a\\xd9^L|38J\\xed\\xf31S\\xb2\\x97A\\x8dy\\x91RJ\\x92\\xf5ZC\\xb4\\x99T&;!\\x9f\\xa9!\\xa2\\xfe;',)\n >>> get_branch(t.db, t.root_hash, b'key123') # InvalidKeyError\n >>> get_branch(t.db, t.root_hash, b'key5') # there is still branch for non-exist key\n (b'\\x00\\x82\\x1a\\xd9^L|38J\\xed\\xf31S\\xb2\\x97A\\x8dy\\x91RJ\\x92\\xf5ZC\\xb4\\x99T&;!\\x9f\\xa9!\\xa2\\xfe;',)\n >>> # if_branch_valid function\n >>> v = t.get(b'key1')\n >>> b = get_branch(t.db, t.root_hash, b'key1')\n >>> if_branch_valid(b, t.root_hash, b'key1', v)\n True\n >>> v = t.get(b'key5') # v should be None\n >>> b = get_branch(t.db, t.root_hash, b'key5')\n >>> if_branch_valid(b, t.root_hash, b'key5', v)\n True\n >>> v = t.get(b'key1')\n >>> b = get_branch(t.db, t.root_hash, b'key2')\n >>> if_branch_valid(b, t.root_hash, b'key1', v) # KeyError\n >>> if_branch_valid([], t.root_hash, b'key1', v) # AssertionError\n >>> # get_witness_for_key_prefix function\n >>> get_witness_for_key_prefix(t.db, t.root_hash, b'key1') # equivalent to `get_branch(t.db, t.root_hash, b'key1')`\n (b'\\x00\\x82\\x1a\\xd9^L|38J\\xed\\xf31S\\xb2\\x97A\\x8dy\\x91RJ\\x92\\xf5ZC\\xb4\\x99T&;!\\x9f\\xa9!\\xa2\\xfe;', b\"\\x01*\\xaccxH\\x89\\x08}\\x93|\\xda\\xb9\\r\\x9b\\x82\\x8b\\xb2Y\\xbc\\x10\\xb9\\x88\\xf40\\xef\\xed\\x8b'\\x13\\xbc\\xa5\\xccYGb\\xc2\\x8db\\x88lPs@)\\x86v\\xd7B\\xf7\\xd3X\\x93\\xc9\\xf0\\xfd\\xae\\xe0`j#\\x0b\\xca;\\xf8\", b'\\x00\\x11\\x8aEL3\\x839E\\xbd\\xc4G\\xd1xj\\x0fxWu\\xcb\\xf6\\xf3\\xf2\\x8e7!M\\xca\\x1c/\\xd7\\x7f\\xed\\xc6', b'\\x02value1')\n >>> get_witness_for_key_prefix(t.db, t.root_hash, b'key') # this will include additional nodes of b'key2'\n (b'\\x00\\x82\\x1a\\xd9^L|38J\\xed\\xf31S\\xb2\\x97A\\x8dy\\x91RJ\\x92\\xf5ZC\\xb4\\x99T&;!\\x9f\\xa9!\\xa2\\xfe;', b\"\\x01*\\xaccxH\\x89\\x08}\\x93|\\xda\\xb9\\r\\x9b\\x82\\x8b\\xb2Y\\xbc\\x10\\xb9\\x88\\xf40\\xef\\xed\\x8b'\\x13\\xbc\\xa5\\xccYGb\\xc2\\x8db\\x88lPs@)\\x86v\\xd7B\\xf7\\xd3X\\x93\\xc9\\xf0\\xfd\\xae\\xe0`j#\\x0b\\xca;\\xf8\", b'\\x00\\x11\\x8aEL3\\x839E\\xbd\\xc4G\\xd1xj\\x0fxWu\\xcb\\xf6\\xf3\\xf2\\x8e7!M\\xca\\x1c/\\xd7\\x7f\\xed\\xc6', b'\\x02value1', b'\\x00\\x10O\\xa9\\x0b\\x1c!_`<\\xb5^\\x98D\\x89\\x17\\x148\\xac\\xda&\\xb3P\\xf6\\x06[\\x1b9\\xc09\\xbas\\x85\\xf5', b'\\x02value2')\n >>> get_witness_for_key_prefix(t.db, t.root_hash, b'') # this will return the whole trie\n\n.. |PyPI| image:: https://img.shields.io/pypi/v/trie.svg\n :target: https://pypi.org/project/trie/\n.. |PyPI - Python Version| image:: https://img.shields.io/pypi/pyversions/trie.svg\n\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/ethereum/py-trie", "keywords": "ethereum blockchain evm trie merkle", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "trie", "package_url": "https://pypi.org/project/trie/", "platform": "", "project_url": "https://pypi.org/project/trie/", "project_urls": { "Homepage": "https://github.com/ethereum/py-trie" }, "release_url": "https://pypi.org/project/trie/1.4.0/", "requires_dist": [ "eth-hash (<1.0.0,>=0.1.0)", "eth-utils (<2.0.0,>=1.3.0)", "rlp (<2,>=1)", "bumpversion (<1,>=0.5.3) ; extra == 'dev'", "wheel ; extra == 'dev'", "twine ; extra == 'dev'", "eth-hash (<1.0.0,>=0.1.0) ; extra == 'dev'", "pytest-xdist ; extra == 'dev'", "tox (<3,>=2.6.0) ; extra == 'dev'", "hypothesis (==3.7.0) ; extra == 'dev'", "pycryptodome ; extra == 'dev'", "flake8 (==3.4.1) ; extra == 'dev'", "flake8 (==3.4.1) ; extra == 'lint'", "pytest-xdist ; extra == 'test'", "tox (<3,>=2.6.0) ; extra == 'test'", "hypothesis (==3.7.0) ; extra == 'test'", "pycryptodome ; extra == 'test'" ], "requires_python": ">=3.5.3,<4", "summary": "Python implementation of the Ethereum Trie structure", "version": "1.4.0" }, "last_serial": 5183856, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "821c9d4cb4c1caeb394534fd537093ad", "sha256": "bcaf511fc5219743ea889bc36f756df431e6df8ed017940fc49c6b315da469af" }, "downloads": -1, "filename": "trie-0.2.0.tar.gz", "has_sig": false, "md5_digest": "821c9d4cb4c1caeb394534fd537093ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6705, "upload_time": "2017-04-01T14:56:08", "url": "https://files.pythonhosted.org/packages/9e/83/61ea0b69625268abbdb32a61d1dc45ac0827e9b0735a325201d7d18b846b/trie-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "9d3a2a82c674b4fa46c07d76ca41c3e1", "sha256": "8b300b3623c741a5aa9a43710b835291529bec374e145fb48290fe16066248ab" }, "downloads": -1, "filename": "trie-0.2.1.tar.gz", "has_sig": false, "md5_digest": "9d3a2a82c674b4fa46c07d76ca41c3e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6707, "upload_time": "2017-04-01T15:01:11", "url": "https://files.pythonhosted.org/packages/37/43/1d1da2b86180230b989f4d29bf1b17a2e537d48feaf3f520e76cde08a0a2/trie-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "853f3fc98c247890b4d04b4a2bf6c4f7", "sha256": "75fb2caa8d3d439ce15370a5ecbb9ca63bfbf9361829d367f32557b19d148237" }, "downloads": -1, "filename": "trie-0.2.2-py2-none-any.whl", "has_sig": false, "md5_digest": "853f3fc98c247890b4d04b4a2bf6c4f7", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 9876, "upload_time": "2017-04-01T15:02:31", "url": "https://files.pythonhosted.org/packages/c3/1e/23785ff7d62c91d58f013abe3d25261145aab59a5dab58d403a185c46f46/trie-0.2.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f279f7ad0a561c20ad5a37906472a2e", "sha256": "8cecf139a63b48575d6af20d33614ce2dae5fb2328c957a05edfe6915312d4b6" }, "downloads": -1, "filename": "trie-0.2.2.tar.gz", "has_sig": false, "md5_digest": "5f279f7ad0a561c20ad5a37906472a2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6703, "upload_time": "2017-04-01T15:02:30", "url": "https://files.pythonhosted.org/packages/88/de/6df9c318f9c991de859508bdf51f4577f7404262aab5e0e07ce362480bbe/trie-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "a5ebc78be8f853285111e03a79a03aa5", "sha256": "f3a121bd64b9f026239827a0d538a6f3524abff17fc1b52640aa9de0aae4519f" }, "downloads": -1, "filename": "trie-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a5ebc78be8f853285111e03a79a03aa5", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 10081, "upload_time": "2017-04-21T02:23:36", "url": "https://files.pythonhosted.org/packages/fa/71/035eb3044ba66f3f9f7dc04d5160d1014a227d97aa6c87c90f128c5837ac/trie-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dba4f1a0b94128eb7c8d9eb039400b91", "sha256": "dc1e23924c54920a668b3cf5a5e8461b7921af8cd454a6c4fa951bda7966968c" }, "downloads": -1, "filename": "trie-0.2.3.tar.gz", "has_sig": false, "md5_digest": "dba4f1a0b94128eb7c8d9eb039400b91", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7165, "upload_time": "2017-04-21T02:23:33", "url": "https://files.pythonhosted.org/packages/39/23/7541f8d5de45dac06243122dc022ebbc795986a052ae7c032ea0bc6b3616/trie-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "504406cac5d94abe73c37ffc6a9b672d", "sha256": "7d2c317d1b0937ed127ecac1a4662efa565f435f33f0c5a0f63b8dcaaf36b7ee" }, "downloads": -1, "filename": "trie-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "504406cac5d94abe73c37ffc6a9b672d", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 10081, "upload_time": "2017-04-21T02:41:37", "url": "https://files.pythonhosted.org/packages/5e/42/a27df85a7c3214565d7d14268fc1f510e742f1f8acee695d454e283e36ae/trie-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d024e98e7a067175f165278a349e47cd", "sha256": "dd6fb2dcc9fc583945b262d2a0e0e5dd111a619a787012867e1b0dd0d34fd8a0" }, "downloads": -1, "filename": "trie-0.2.4.tar.gz", "has_sig": false, "md5_digest": "d024e98e7a067175f165278a349e47cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7170, "upload_time": "2017-04-21T02:41:35", "url": "https://files.pythonhosted.org/packages/23/38/d125b675f77b7f8b106d28e96d33bc8fb36ba56806996d473431effc826f/trie-0.2.4.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "e941effe10575ce76c0e00f5af74bbd2", "sha256": "764d847c5a2a7f29006805f77bed6164a0a3130c5ef80ab9d702b6904552b3c6" }, "downloads": -1, "filename": "trie-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e941effe10575ce76c0e00f5af74bbd2", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 9103, "upload_time": "2017-09-19T17:53:45", "url": "https://files.pythonhosted.org/packages/39/0c/c4b475fbda30d4c32bc57cd22cb8edb90492c10cd294a9f41eae7faa69c0/trie-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "176b409315b19faaffa061142a061dfc", "sha256": "29da2d717bb2ee2ca8344b83cf8c44ac1225f67842c3c2fb4299e1e0c62aa0c7" }, "downloads": -1, "filename": "trie-0.3.0.tar.gz", "has_sig": false, "md5_digest": "176b409315b19faaffa061142a061dfc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6548, "upload_time": "2017-09-19T17:53:43", "url": "https://files.pythonhosted.org/packages/2c/ed/fcffd4df11c7c4fecbed29e456efd38dd5380534408d21fa502bab4ca6c9/trie-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "2b429643a5a31f93bd57f66f387836a5", "sha256": "776235e5dad284fd85ec9d91324aa86fd5610d5500db5c71fd6201bc19c8e409" }, "downloads": -1, "filename": "trie-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2b429643a5a31f93bd57f66f387836a5", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 10517, "upload_time": "2017-11-28T17:55:29", "url": "https://files.pythonhosted.org/packages/4f/0d/685804d1fe173efaa17c0414dd34ca10600900dcef680d2902de206a417e/trie-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "126e1c55eb37394a70c3c81c9392b335", "sha256": "3f483450ab858ff7ef8daee4b02179952eee8e1079cb39c852646e0014ae5680" }, "downloads": -1, "filename": "trie-0.3.1.tar.gz", "has_sig": false, "md5_digest": "126e1c55eb37394a70c3c81c9392b335", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8259, "upload_time": "2017-11-28T17:55:24", "url": "https://files.pythonhosted.org/packages/83/a6/13ce289fdec4c6b0f412390b146c6d048ddc71e325f9ee5cd2ed996e0c23/trie-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "5c6d6fd3e58093ac5044be00e8572708", "sha256": "b0410dcae793609413e6ea853a03bcc27db30494de1cc04238aa3e8329ef8407" }, "downloads": -1, "filename": "trie-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "5c6d6fd3e58093ac5044be00e8572708", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 10677, "upload_time": "2017-12-20T20:04:36", "url": "https://files.pythonhosted.org/packages/ec/07/1c0c9b4c4be58aa2b1b5d573008d503056f1982fc2cb12af9c0153b831a4/trie-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "54c80f57afc48c7fba68176c372b6e64", "sha256": "eb3feb50a896edb1e07c81a7707aa17a573daebffb61fc4083972172b8ba2df5" }, "downloads": -1, "filename": "trie-0.3.2.tar.gz", "has_sig": false, "md5_digest": "54c80f57afc48c7fba68176c372b6e64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8512, "upload_time": "2017-12-20T20:04:35", "url": "https://files.pythonhosted.org/packages/99/6c/f30391a03fc87f55bb010a381a4beed350731a85cda9483c3482499bb7f0/trie-0.3.2.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "b7ec5567e53a8ccecd2b0c6dda33d96a", "sha256": "c84e2f3b7942232bd46a7dc7e8e953074d97901898a42fd85ef703d9f6a31aee" }, "downloads": -1, "filename": "trie-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b7ec5567e53a8ccecd2b0c6dda33d96a", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 18225, "upload_time": "2018-01-02T21:16:30", "url": "https://files.pythonhosted.org/packages/de/ae/f154e7b52cf3321b540daf372fe3b1f2cd886e361599200f42f8574e1c4f/trie-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6f9525cc0b8a2b31123ee1a45135c372", "sha256": "6b9af44bbb3ca439481c9d4074634016ac4c262be1e2a22052c6e0c6bfcd5530" }, "downloads": -1, "filename": "trie-1.0.0.tar.gz", "has_sig": false, "md5_digest": "6f9525cc0b8a2b31123ee1a45135c372", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14682, "upload_time": "2018-01-02T21:16:23", "url": "https://files.pythonhosted.org/packages/f5/30/d884cc894eedb1bbf32448a7d3ea05184cf173a71c5ac176531f4a9ee4db/trie-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "3845fe6be45945875ebc728036ece760", "sha256": "2b6e95550360c29484ded6befe391013b0baf4e048c2675a8531d3ee4641b726" }, "downloads": -1, "filename": "trie-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3845fe6be45945875ebc728036ece760", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 18239, "upload_time": "2018-01-04T16:28:54", "url": "https://files.pythonhosted.org/packages/25/06/54ccbd64758a27fef3eb437a9f3cd72ba4a98e94beb28efb6c4a7f39cfd1/trie-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4cd5a1328f690ac8520056f0f5c9348e", "sha256": "15f8e8b94400e8a517bc64ea5c16f2ffa8793248249e1919026e66148aa0686b" }, "downloads": -1, "filename": "trie-1.0.1.tar.gz", "has_sig": false, "md5_digest": "4cd5a1328f690ac8520056f0f5c9348e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14700, "upload_time": "2018-01-04T16:28:45", "url": "https://files.pythonhosted.org/packages/37/66/97735d97d7e095fb5fec58ccfae8dcd69f8e3927deccff953d6a59c3eaab/trie-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "fc2df684c79887b4643bcf1c53f003db", "sha256": "a23d7f00ceffcae13ea5629c74cd05c88133e1927f5796347dd4f03a6476d827" }, "downloads": -1, "filename": "trie-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "fc2df684c79887b4643bcf1c53f003db", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 20568, "upload_time": "2018-01-10T17:58:22", "url": "https://files.pythonhosted.org/packages/af/29/602bca2e9799f4f217e9009f5ca9166f1f17c969dc5f0b97b4713b4d9de0/trie-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "29dabef1adf96342e69828a8c2d04621", "sha256": "24989a62b1db08d0b694fe5bf5c228f40f1474758e158c6ddda0c3f2719cf4b7" }, "downloads": -1, "filename": "trie-1.1.0.tar.gz", "has_sig": false, "md5_digest": "29dabef1adf96342e69828a8c2d04621", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16747, "upload_time": "2018-01-10T17:58:19", "url": "https://files.pythonhosted.org/packages/ea/7a/7e1203184f06ddb97a071117a122408108d71bc2923a4979598eda30edbb/trie-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "320d79ffe8d62283f13fc9af004d92fd", "sha256": "02ddb1d6cf8810638ac155c30edb0cc860444753e8b468b2f5277789abcc44e3" }, "downloads": -1, "filename": "trie-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "320d79ffe8d62283f13fc9af004d92fd", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 21842, "upload_time": "2018-02-05T18:24:49", "url": "https://files.pythonhosted.org/packages/cb/57/1397a39d6153641407d82084c36d4cfc4080cdd521d4ea71c1ca77dda839/trie-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2331f31627638238b7431d50c6125588", "sha256": "6ac484ef046f85c0150a93509293662a29faafb88ffc08e779c0f752092ef2df" }, "downloads": -1, "filename": "trie-1.1.1.tar.gz", "has_sig": false, "md5_digest": "2331f31627638238b7431d50c6125588", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17813, "upload_time": "2018-02-05T18:24:42", "url": "https://files.pythonhosted.org/packages/f8/be/952640170599772ec481bc726c79d917e292e6a9be2ed5f73ef8be40fc92/trie-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "b6075051cecfc20df952c756c05687c7", "sha256": "e785d82973774e6ffb69a90f365b6a74328812abbf411c2483c382f8f5797807" }, "downloads": -1, "filename": "trie-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b6075051cecfc20df952c756c05687c7", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 21840, "upload_time": "2018-02-05T18:33:36", "url": "https://files.pythonhosted.org/packages/c9/05/c6c35bb1a48bd58026007d76cc45f10ef076612c261057cd2877d7704ccd/trie-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5225d1096eeaefcd4323eafb4d77317b", "sha256": "4ff94b9bb0a8b115e34afd4ea1ef71cdb81115a086c6331ee1446b7d8c9872b9" }, "downloads": -1, "filename": "trie-1.2.0.tar.gz", "has_sig": false, "md5_digest": "5225d1096eeaefcd4323eafb4d77317b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17820, "upload_time": "2018-02-05T18:33:29", "url": "https://files.pythonhosted.org/packages/3a/75/851dea69b64b24a69f301d2046b9836cbe3d770a53aca5186bd7069fda6b/trie-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "c9b495f81e25df1a3da6b0afbb79f000", "sha256": "7b3c2f2230e66cb8c225c6ad3729f650851d40c8d8cb7d865ce36c58d3945d9f" }, "downloads": -1, "filename": "trie-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c9b495f81e25df1a3da6b0afbb79f000", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 21512, "upload_time": "2018-02-21T19:06:07", "url": "https://files.pythonhosted.org/packages/78/88/0864d0351cefae606cea6e9ca9b539c70aef8490c3d8b16f917b094954f0/trie-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "be51e8f27ab25aeaadb8fdbe795cdf46", "sha256": "694235f5b3f3411f8efbaae392a31aa436e7c674023cb21c4bba4eba66b7da56" }, "downloads": -1, "filename": "trie-1.3.0.tar.gz", "has_sig": false, "md5_digest": "be51e8f27ab25aeaadb8fdbe795cdf46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17720, "upload_time": "2018-02-21T19:06:03", "url": "https://files.pythonhosted.org/packages/79/19/a89400ec513d3331a3ec0b32bddf5a1b709861ca9a0add4799b96c91353c/trie-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "3a67f8610d0545f5ddc6baea45746446", "sha256": "2680f4c1f12cd3701b2f6896b1f72fee02e9c990abbe1376a15cdd45c7ba4692" }, "downloads": -1, "filename": "trie-1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3a67f8610d0545f5ddc6baea45746446", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 21503, "upload_time": "2018-03-06T20:58:51", "url": "https://files.pythonhosted.org/packages/2a/57/5306a0b3d32a0bd5d2e5912d05f4453289ea8a2b015c919b7e38d26b13ef/trie-1.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c7e3e8ae4bc3c6d85426ab9f47c5339a", "sha256": "3a863a289959eef1de93417eda0a2bf8a8de90d271c704faca698dce67ab5a65" }, "downloads": -1, "filename": "trie-1.3.1.tar.gz", "has_sig": false, "md5_digest": "c7e3e8ae4bc3c6d85426ab9f47c5339a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17720, "upload_time": "2018-03-06T20:58:50", "url": "https://files.pythonhosted.org/packages/08/5e/0a725b00d9ca8854de5785b71887f1e03163114936db90a2f9f0bbe2df2f/trie-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "655197b4d26f903db7fff10240721591", "sha256": "1360ed0aa938d4139d31af93e4bdf454d45eb35934f445b650743c88ef73b4ab" }, "downloads": -1, "filename": "trie-1.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "655197b4d26f903db7fff10240721591", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 21507, "upload_time": "2018-04-03T19:33:53", "url": "https://files.pythonhosted.org/packages/94/35/bc269b58be12309aae69a98e9dbd849c39308a905b7e554d6043717648e8/trie-1.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "df6a1cce1f07a49debb13775e8c2c9b7", "sha256": "a14be2d1e524a245624cdfdd8ee2338a2f05ea5de89cc0d16cc78cd43bc16cc4" }, "downloads": -1, "filename": "trie-1.3.2.tar.gz", "has_sig": false, "md5_digest": "df6a1cce1f07a49debb13775e8c2c9b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17728, "upload_time": "2018-04-03T19:33:52", "url": "https://files.pythonhosted.org/packages/b4/a4/33105458d5ee8f2011d3eb5371e78a297a66939f4eb2250f099acc220082/trie-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "31b5cddf4e94861935178a483bd4c127", "sha256": "8024855cb4e27162b0f7c7b1370761efdb9a7b972e5418dd52c7d64324d8be2f" }, "downloads": -1, "filename": "trie-1.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "31b5cddf4e94861935178a483bd4c127", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 21487, "upload_time": "2018-04-10T13:08:43", "url": "https://files.pythonhosted.org/packages/bb/f9/d0a48cb5bc56d85405164516f435b64343b51acd90164fe62fb03ba5ebc5/trie-1.3.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4ceeadf51e9b2cacca0cd889fc31bad4", "sha256": "80ae8f6509fee70c4a65e128e49a0d0a551ed5a2b1886f3a0e9333f7bc74bd77" }, "downloads": -1, "filename": "trie-1.3.3.tar.gz", "has_sig": false, "md5_digest": "4ceeadf51e9b2cacca0cd889fc31bad4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17709, "upload_time": "2018-04-10T13:08:41", "url": "https://files.pythonhosted.org/packages/db/b4/269b2163c09e99899283716fbc299869e62cdd5d832406d643b6d327edb8/trie-1.3.3.tar.gz" } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "b57114ee3906953149a1e06e58c5de18", "sha256": "7cd3bae20008657428e579b81b899efddc98851cab51391d54d6baeded7e1773" }, "downloads": -1, "filename": "trie-1.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "b57114ee3906953149a1e06e58c5de18", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 21646, "upload_time": "2018-04-13T12:34:20", "url": "https://files.pythonhosted.org/packages/bb/17/18b68372f5b762ff91f140a660991ee315cfc4d939754d08917892709d91/trie-1.3.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f3678f9417dfe15c03bfc1f1a3276286", "sha256": "45ea3a0380a4b010ccd12046ce9ad38ed276987676e717a5d4a70c39a6dce778" }, "downloads": -1, "filename": "trie-1.3.4.tar.gz", "has_sig": false, "md5_digest": "f3678f9417dfe15c03bfc1f1a3276286", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17883, "upload_time": "2018-04-13T12:34:19", "url": "https://files.pythonhosted.org/packages/d1/08/3874ebd33061467104517ca4a9202b5737bd618b970ebadce266ffe27432/trie-1.3.4.tar.gz" } ], "1.3.6": [ { "comment_text": "", "digests": { "md5": "d37e2d35a3e10c8e2dbd6732aa833288", "sha256": "1373e68e64d61328547afacb7508f7a987aee4d3c18e0af1a47d2f9b3fe11c85" }, "downloads": -1, "filename": "trie-1.3.6-py3-none-any.whl", "has_sig": false, "md5_digest": "d37e2d35a3e10c8e2dbd6732aa833288", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 22635, "upload_time": "2018-04-26T19:19:30", "url": "https://files.pythonhosted.org/packages/98/b2/99dab26da1cf106929d112ff4c8fd78d0763122a0dbcc2d08cfb2d9d1852/trie-1.3.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "380997e676eb0c105630dc956870a1ed", "sha256": "ad4b8b744cdc654639038de738b78df00061bd3dbea92741f5e02a751e97d2b0" }, "downloads": -1, "filename": "trie-1.3.6.tar.gz", "has_sig": false, "md5_digest": "380997e676eb0c105630dc956870a1ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18590, "upload_time": "2018-04-26T19:19:24", "url": "https://files.pythonhosted.org/packages/06/68/99b5f497bea8943d2775be4db9b2a66f8f104f965c1888fdcd3e1fa80c8f/trie-1.3.6.tar.gz" } ], "1.3.7": [ { "comment_text": "", "digests": { "md5": "a0a37a69f6c25b0b06ac0cd9af8df020", "sha256": "898bc8ededd9998fda16dfc926ff3d74ef71e584fa51bd690351aebacf1f2e17" }, "downloads": -1, "filename": "trie-1.3.7-py3-none-any.whl", "has_sig": false, "md5_digest": "a0a37a69f6c25b0b06ac0cd9af8df020", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 22670, "upload_time": "2018-05-27T20:15:18", "url": "https://files.pythonhosted.org/packages/26/56/0cdec8cd9b8cd2f25db40bc194e759caf547c6c0f4f500486d03b645b0cf/trie-1.3.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7f15b9c2a053f260e4bad17bd8ab4793", "sha256": "3ddf606e05b5fc3596334a3187ef9c871f76c33d6f746569eb81930f33c7279c" }, "downloads": -1, "filename": "trie-1.3.7.tar.gz", "has_sig": false, "md5_digest": "7f15b9c2a053f260e4bad17bd8ab4793", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18645, "upload_time": "2018-05-27T20:15:14", "url": "https://files.pythonhosted.org/packages/43/33/b49abdd15189d2e55d8338deea1531189913085b2becc3b6d4afa6c7e587/trie-1.3.7.tar.gz" } ], "1.3.8": [ { "comment_text": "", "digests": { "md5": "6cb51b6b70e44d2f5d23e71a5f8e6b71", "sha256": "028949f9c7d14c6635dc331ecd00fa760e6688c8926cc2fcafd044260b1211b5" }, "downloads": -1, "filename": "trie-1.3.8-py3-none-any.whl", "has_sig": false, "md5_digest": "6cb51b6b70e44d2f5d23e71a5f8e6b71", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19871, "upload_time": "2018-08-06T16:02:22", "url": "https://files.pythonhosted.org/packages/ff/3e/31368edb8fc350eb0ae8739956bdcbdac0688d455a41035b1cada93f940c/trie-1.3.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "05cad07336a730d545133bc852c6862f", "sha256": "8c76b26d18619dbc70badfe3abe8a8065f4ec5e8048193349bcad5779e26fc62" }, "downloads": -1, "filename": "trie-1.3.8.tar.gz", "has_sig": false, "md5_digest": "05cad07336a730d545133bc852c6862f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16345, "upload_time": "2018-08-06T16:02:23", "url": "https://files.pythonhosted.org/packages/4f/af/b0ee8f5a27024adb170a85780ec2368759532b0ca5e908152fe5a70eeaee/trie-1.3.8.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "8655fbc89b31dba49ca741505707e1e7", "sha256": "5b7dedfeedd03c0d6b486b1b21c8182242307daff1bb011fed150a6c8dc4e34b" }, "downloads": -1, "filename": "trie-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8655fbc89b31dba49ca741505707e1e7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3,<4", "size": 25966, "upload_time": "2019-04-24T18:34:34", "url": "https://files.pythonhosted.org/packages/53/b2/937df7c676aeb921a57092c3ce8ee6b9b81e45008960f81e1da6c66d17c0/trie-1.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8c8da1b29d9faa290b76782141367b9f", "sha256": "5c9501bc1af2c065502601370fc991c496c186c725ca408993d65a0792c2949b" }, "downloads": -1, "filename": "trie-1.4.0.tar.gz", "has_sig": false, "md5_digest": "8c8da1b29d9faa290b76782141367b9f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3,<4", "size": 22013, "upload_time": "2019-04-24T18:34:36", "url": "https://files.pythonhosted.org/packages/30/0c/1010330d772c8f9d1ac43a9ebfac1f9ab15e59b82f4cdc231d06bd605be7/trie-1.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8655fbc89b31dba49ca741505707e1e7", "sha256": "5b7dedfeedd03c0d6b486b1b21c8182242307daff1bb011fed150a6c8dc4e34b" }, "downloads": -1, "filename": "trie-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8655fbc89b31dba49ca741505707e1e7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3,<4", "size": 25966, "upload_time": "2019-04-24T18:34:34", "url": "https://files.pythonhosted.org/packages/53/b2/937df7c676aeb921a57092c3ce8ee6b9b81e45008960f81e1da6c66d17c0/trie-1.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8c8da1b29d9faa290b76782141367b9f", "sha256": "5c9501bc1af2c065502601370fc991c496c186c725ca408993d65a0792c2949b" }, "downloads": -1, "filename": "trie-1.4.0.tar.gz", "has_sig": false, "md5_digest": "8c8da1b29d9faa290b76782141367b9f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3,<4", "size": 22013, "upload_time": "2019-04-24T18:34:36", "url": "https://files.pythonhosted.org/packages/30/0c/1010330d772c8f9d1ac43a9ebfac1f9ab15e59b82f4cdc231d06bd605be7/trie-1.4.0.tar.gz" } ] }