{ "info": { "author": "Arkadiusz Bulski, Tomer Filiba, Corbin Simpson", "author_email": "arek.bulski@gmail.com, tomerfiliba@gmail.com, MostAwesomeDude@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Build Tools", "Topic :: Software Development :: Code Generators", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Construct 2.9\n===================\n\nConstruct is a powerful **declarative** and **symmetrical** parser and builder for binary data.\n\nInstead of writing *imperative code* to parse a piece of data, you declaratively define a *data structure* that describes your data. As this data structure is not code, you can use it in one direction to *parse* data into Pythonic objects, and in the other direction, to *build* objects into binary data.\n\nThe library provides both simple, atomic constructs (such as integers of various sizes), as well as composite ones which allow you form hierarchical and sequential structures of increasing complexity. Construct features **bit and byte granularity**, easy debugging and testing, an **easy-to-extend subclass system**, and lots of primitive constructs to make your work easier:\n\n* Fields: raw bytes or numerical types\n* Structs and Sequences: combine simpler constructs into more complex ones\n* Bitwise: splitting bytes into bit-grained fields\n* Adapters: change how data is represented\n* Arrays/Ranges: duplicate constructs\n* Meta-constructs: use the context (history) to compute the size of data\n* If/Switch: branch the computational path based on the context\n* On-demand (lazy) parsing: read and parse only what you require\n* Pointers: jump from here to there in the data stream\n* Tunneling: prefix data with a byte count or compress it\n\n\nExample\n---------\n\nA ``Struct`` is a collection of ordered, named fields::\n\n >>> format = Struct(\n ... \"signature\" / Const(b\"BMP\"),\n ... \"width\" / Int8ub,\n ... \"height\" / Int8ub,\n ... \"pixels\" / Array(this.width * this.height, Byte),\n ... )\n >>> format.build(dict(width=3,height=2,pixels=[7,8,9,11,12,13]))\n b'BMP\\x03\\x02\\x07\\x08\\t\\x0b\\x0c\\r'\n >>> format.parse(b'BMP\\x03\\x02\\x07\\x08\\t\\x0b\\x0c\\r')\n Container(signature=b'BMP')(width=3)(height=2)(pixels=[7, 8, 9, 11, 12, 13])\n\nA ``Sequence`` is a collection of ordered fields, and differs from ``Array`` and ``GreedyRange`` in that those two are homogenous::\n\n >>> format = Sequence(PascalString(Byte, \"utf8\"), GreedyRange(Byte))\n >>> format.build([u\"lalaland\", [255,1,2]])\n b'\\nlalaland\\xff\\x01\\x02'\n >>> format.parse(b\"\\x004361789432197\")\n ['', [52, 51, 54, 49, 55, 56, 57, 52, 51, 50, 49, 57, 55]]\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://construct.readthedocs.org", "keywords": "construct", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "construct", "package_url": "https://pypi.org/project/construct/", "platform": "POSIX", "project_url": "https://pypi.org/project/construct/", "project_urls": { "Homepage": "http://construct.readthedocs.org" }, "release_url": "https://pypi.org/project/construct/2.9.45/", "requires_dist": null, "requires_python": "", "summary": "A powerful declarative symmetric parser/builder for binary data", "version": "2.9.45" }, "last_serial": 3747128, "releases": { "2.0.0": [ { "comment_text": "", "digests": { "md5": "e7f458422cd74e381f23972055f072da", "sha256": "5605930dd106b9af3785003ea86398a6e9feb07b74e5f6cef18de78bb20504c0" }, "downloads": -1, "filename": "construct-2.0.0.tar.gz", "has_sig": false, "md5_digest": "e7f458422cd74e381f23972055f072da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55464, "upload_time": "2013-05-04T17:52:02", "url": "https://files.pythonhosted.org/packages/98/56/e33adb412a81186cd8acd576c1686a6559728de00f77892fb7bd20004c92/construct-2.0.0.tar.gz" } ], "2.0.4": [ { "comment_text": "", "digests": { "md5": "1aa73e771236f2ee6543ff5f3e535ce7", "sha256": "b48dbb92b80976453ee04e874e259afc19bed1956845c94c9275faee70149fa1" }, "downloads": -1, "filename": "construct-2.0.4.tar.gz", "has_sig": false, "md5_digest": "1aa73e771236f2ee6543ff5f3e535ce7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 83458, "upload_time": "2013-05-05T07:12:51", "url": "https://files.pythonhosted.org/packages/e7/3a/6fb85b3cc60e6a2cfe1242237c2d8fc49dea4ef37d25df644f09a4d1c3e0/construct-2.0.4.tar.gz" } ], "2.0.5": [ { "comment_text": "", "digests": { "md5": "7c7b113ac4879bbd5783e5a640082388", "sha256": "f3e34e3effbc467f3a887bbf837ee1276906f496cf38de6f1a9c15e8cbfb3aeb" }, "downloads": -1, "filename": "construct-2.0.5.tar.gz", "has_sig": false, "md5_digest": "7c7b113ac4879bbd5783e5a640082388", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 83924, "upload_time": "2013-05-05T07:10:48", "url": "https://files.pythonhosted.org/packages/ef/26/dd7618fe69d1f5ef462576cdc82d0a5a4e62fb690b923b7a3da3614656db/construct-2.0.5.tar.gz" } ], "2.0.6": [ { "comment_text": "", "digests": { "md5": "6d1bbd5bc3093371304fe5e31f88b6ab", "sha256": "b10a720d22277089b48b6d952af388242f3c0b8b2c864bbb29e2e4cf6f4aaf5a" }, "downloads": -1, "filename": "construct-2.0.6.tar.gz", "has_sig": false, "md5_digest": "6d1bbd5bc3093371304fe5e31f88b6ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 83635, "upload_time": "2013-05-05T07:11:56", "url": "https://files.pythonhosted.org/packages/9b/97/a8304e56c5c79d4e132a7ecdf44b051fe1bfbe35cef6c94ce0552def649d/construct-2.0.6.tar.gz" } ], "2.5.0": [ { "comment_text": "", "digests": { "md5": "05ac994e51d32a011e650b4410ceb72c", "sha256": "467ffa7ba0964ee3d47d52b3deda7fffb095936c7b2764ee7b92cb60d6f4b921" }, "downloads": -1, "filename": "construct-2.5.0.tar.gz", "has_sig": false, "md5_digest": "05ac994e51d32a011e650b4410ceb72c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56073, "upload_time": "2013-01-17T17:00:21", "url": "https://files.pythonhosted.org/packages/ef/25/843c5f2498f45bca50dcca389d55c5a3becf70bf15a980680bc72a007405/construct-2.5.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "e44886b58636e9d9b41dadb9dac6d20a", "sha256": "7f44ecc0475ee24579492cea86415d73cfd10d11fa85009a21cd5a3fdea90c68" }, "downloads": -1, "filename": "construct-2.5.0.win32.exe", "has_sig": false, "md5_digest": "e44886b58636e9d9b41dadb9dac6d20a", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 269444, "upload_time": "2013-01-17T17:00:49", "url": "https://files.pythonhosted.org/packages/39/2a/5e9f1abdf24ae1197e018697319d61dc53c0bc93020be65234e5073b1733/construct-2.5.0.win32.exe" }, { "comment_text": "", "digests": { "md5": "f151a16cc0655a41d79a30b643ef7fa7", "sha256": "2ed6c44f6d166ede1c3c8973a5dc963b3c1b1220c99bc9dd51cfb6d6b825d1c0" }, "downloads": -1, "filename": "construct-2.5.0.zip", "has_sig": false, "md5_digest": "f151a16cc0655a41d79a30b643ef7fa7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 75677, "upload_time": "2013-01-17T17:00:26", "url": "https://files.pythonhosted.org/packages/d9/5e/4acb886eebcf95427b21730956e71cef93c3e57f117a2834caf71d16a1c8/construct-2.5.0.zip" } ], "2.5.1": [ { "comment_text": "", "digests": { "md5": "4881ed2208f6ee226b61e2310f696924", "sha256": "5ae387cfde856f9ce3b1f4b1fc58750b6dc30994d96bde2517cfe47d10d51323" }, "downloads": -1, "filename": "construct-2.5.1.tar.gz", "has_sig": false, "md5_digest": "4881ed2208f6ee226b61e2310f696924", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56287, "upload_time": "2013-05-04T20:09:54", "url": "https://files.pythonhosted.org/packages/a3/0c/228d95226ee8a09ee6e3ba329008286612628dfac3bea4ab33cadb189256/construct-2.5.1.tar.gz" }, { "comment_text": "", "digests": { "md5": "99d8062dd1035b59ae523e8001cbfdd7", "sha256": "14eee8ff1d30bc75b8024796693ec8bc25a61b3323f6bfd4c0768f08acae19df" }, "downloads": -1, "filename": "construct-2.5.1.win32.exe", "has_sig": false, "md5_digest": "99d8062dd1035b59ae523e8001cbfdd7", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 269667, "upload_time": "2013-05-04T20:10:00", "url": "https://files.pythonhosted.org/packages/7b/e3/b622c56268b6f458e5f8f19b70025ce520fc56be5c14881742e7eadce74d/construct-2.5.1.win32.exe" }, { "comment_text": "", "digests": { "md5": "4616eb3c12e86ba859ff2ed2f01ddb1c", "sha256": "9d123b2590a5645385cf881f25960a2e2a262337e4697dfdbcac4b4496da44b3" }, "downloads": -1, "filename": "construct-2.5.1.zip", "has_sig": false, "md5_digest": "4616eb3c12e86ba859ff2ed2f01ddb1c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 75897, "upload_time": "2013-05-04T20:09:49", "url": "https://files.pythonhosted.org/packages/30/fb/555abffe84e89c0a464809ba3fd49a0af1d64e58d507b69709259045b939/construct-2.5.1.zip" } ], "2.5.2": [ { "comment_text": "", "digests": { "md5": "ea5e648645f07d275405f98623a67484", "sha256": "528022ced585c2694e4523d6a4c1e90d979b4a9f8b758402c1ff74bf86e32a89" }, "downloads": -1, "filename": "construct-2.5.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ea5e648645f07d275405f98623a67484", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 72985, "upload_time": "2014-04-28T15:42:52", "url": "https://files.pythonhosted.org/packages/14/d7/f94299cc597f74c558907aa76c635966b029d5c58d8cda7ecc4035fb8ab4/construct-2.5.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "75fc5e311ee5624e63268067e4b0d97b", "sha256": "665b6271eeadf15219c726b180c8d7a641d026784d72ca3dad90a20aae009020" }, "downloads": -1, "filename": "construct-2.5.2.tar.gz", "has_sig": false, "md5_digest": "75fc5e311ee5624e63268067e4b0d97b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58373, "upload_time": "2014-04-28T15:42:49", "url": "https://files.pythonhosted.org/packages/fd/5a/e3105c79b3b0bbf7a80dc8218d7416df6551f9f2fe389c9ce6690a621c00/construct-2.5.2.tar.gz" }, { "comment_text": "", "digests": { "md5": "a0ae23ca1d6a42e09cd1afa2484b61b6", "sha256": "4b750b5410e137cdcd167c52de290ac7212bf4d2b8968743fc3f4dbaadce4241" }, "downloads": -1, "filename": "construct-2.5.2.zip", "has_sig": false, "md5_digest": "a0ae23ca1d6a42e09cd1afa2484b61b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 76080, "upload_time": "2014-04-28T15:42:46", "url": "https://files.pythonhosted.org/packages/b3/c3/d5a2cc64a2044a77def737499b6b273a9481a3540e85d43ae11e72c6c241/construct-2.5.2.zip" } ], "2.5.3": [ { "comment_text": "", "digests": { "md5": "b36319c85d49e4b68ab72a12fd30ef4f", "sha256": "b2233bc7c6a4d73803f5806bc3167e4935daa3ea8a5cd056cbabbdb9c3d79a36" }, "downloads": -1, "filename": "construct-2.5.3.tar.gz", "has_sig": false, "md5_digest": "b36319c85d49e4b68ab72a12fd30ef4f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 688072, "upload_time": "2016-08-22T23:57:19", "url": "https://files.pythonhosted.org/packages/7f/2e/939111841b78ca556b84725827daefd69a50f39b0269341df0c8e58ac785/construct-2.5.3.tar.gz" } ], "2.5.4": [ { "comment_text": "", "digests": { "md5": "332b10e1b388153ad160232525f2ba0f", "sha256": "fa620fa47b7d1677341a44fb90d57bdc2b9c3e55e4b1aa5f7d61019f339eb08f" }, "downloads": -1, "filename": "construct-2.5.4-reupload.tar.gz", "has_sig": false, "md5_digest": "332b10e1b388153ad160232525f2ba0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 688121, "upload_time": "2016-09-08T09:23:01", "url": "https://files.pythonhosted.org/packages/bc/7e/3d9973add2a8a3731fe7ba1e333e6558f04d98c3a7dbd46c0d2c5c0c5b27/construct-2.5.4-reupload.tar.gz" } ], "2.5.5": [ { "comment_text": "", "digests": { "md5": "6a8d549c1002e556533b7d6a23dca12a", "sha256": "6eef7869dca32dabee1797350e3161e8f073ecac9fc0cf36f9264a941c107111" }, "downloads": -1, "filename": "construct-2.5.5-reupload.tar.gz", "has_sig": false, "md5_digest": "6a8d549c1002e556533b7d6a23dca12a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 688114, "upload_time": "2016-09-10T14:26:34", "url": "https://files.pythonhosted.org/packages/bc/e8/8db5c4d4e4afda5e12a50ba72144e888635aeb329be55806461f6af19bbe/construct-2.5.5-reupload.tar.gz" } ], "2.8.10": [ { "comment_text": "", "digests": { "md5": "bf23a4ea54e906d1383397f42d9f4aac", "sha256": "e947312a5dd4fcc55c92064b5c333d68a3258f6d51afa3907f34c7b3333db4af" }, "downloads": -1, "filename": "construct-2.8.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bf23a4ea54e906d1383397f42d9f4aac", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 72417, "upload_time": "2016-12-31T21:29:10", "url": "https://files.pythonhosted.org/packages/16/6b/a0fd603f8a8d071219a8247f7704e9a256dfd1a48858cc71e43b87ff5cfe/construct-2.8.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c1bbcce7daf218ef6a1dc20280d18b8a", "sha256": "9030e9db1163b7786d2c058a97ad92640f45d38f2795384cbac5e2ece77921b9" }, "downloads": -1, "filename": "construct-2.8.10.tar.gz", "has_sig": false, "md5_digest": "c1bbcce7daf218ef6a1dc20280d18b8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 719537, "upload_time": "2017-02-25T16:03:14", "url": "https://files.pythonhosted.org/packages/69/77/dd3d3b4cb4130a3fafa488e0ac3b973fbef2f38fdef30e98b2062309a338/construct-2.8.10.tar.gz" } ], "2.8.11": [ { "comment_text": "", "digests": { "md5": "e0336975b41f0b783d8b57fb20e4047e", "sha256": "4d59bdef0209678c54805120dff03a0423d88989018eaa559e713ecb13ab6eb1" }, "downloads": -1, "filename": "construct-2.8.11.tar.gz", "has_sig": false, "md5_digest": "e0336975b41f0b783d8b57fb20e4047e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 719949, "upload_time": "2017-04-05T21:09:15", "url": "https://files.pythonhosted.org/packages/87/cb/f805124acb4473de8cf400ff9f0dafeb68d671f37273b65636ffbe2f8a90/construct-2.8.11.tar.gz" } ], "2.8.12": [ { "comment_text": "", "digests": { "md5": "1206faf6bd705ba066bc1e1cdc7cf6e0", "sha256": "67ee2c69a11bdadc0705c7e0de0ff16ef74b730932537e22ac1f64f479240ffa" }, "downloads": -1, "filename": "construct-2.8.12.tar.gz", "has_sig": false, "md5_digest": "1206faf6bd705ba066bc1e1cdc7cf6e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 720277, "upload_time": "2017-04-24T22:43:31", "url": "https://files.pythonhosted.org/packages/b5/78/3a49752baea1578019384a873adbec5782ab13ea71d066781a0c9c5d1e38/construct-2.8.12.tar.gz" } ], "2.8.13": [ { "comment_text": "", "digests": { "md5": "8c0bd505e68696c4e15ba21358ee4ce3", "sha256": "3c2a8f37317115620f9d4d6fe6836b9e7dc4d7deab9919cd3cdf7d74a311252f" }, "downloads": -1, "filename": "construct-2.8.13.tar.gz", "has_sig": false, "md5_digest": "8c0bd505e68696c4e15ba21358ee4ce3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63772, "upload_time": "2017-08-28T21:25:56", "url": "https://files.pythonhosted.org/packages/7c/5a/bea33a04195d5a7b91d4dfd4deb3f8c82a4f4aa3d98917c8c0bba50d09e4/construct-2.8.13.tar.gz" } ], "2.8.14": [ { "comment_text": "", "digests": { "md5": "d1d742f7c7ea389584cfd7a03a676d23", "sha256": "654e8a0f78c7e66191ae7e4e42451560fea222c73c71052b32401e80af227e9f" }, "downloads": -1, "filename": "construct-2.8.14.tar.gz", "has_sig": false, "md5_digest": "d1d742f7c7ea389584cfd7a03a676d23", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63501, "upload_time": "2017-08-29T20:55:31", "url": "https://files.pythonhosted.org/packages/47/b7/f0940e0230b4bf69e915f079a23758179d3cbf58644feef292bda1456c0c/construct-2.8.14.tar.gz" } ], "2.8.15": [ { "comment_text": "", "digests": { "md5": "5ea2bbaac78401f5c766d055ecd85fe0", "sha256": "08e12cabd6f452f41cc6ccc6bc1348fac6bcaa5d6aab40881a05f2ee8a352005" }, "downloads": -1, "filename": "construct-2.8.15.tar.gz", "has_sig": false, "md5_digest": "5ea2bbaac78401f5c766d055ecd85fe0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63666, "upload_time": "2017-10-01T07:38:34", "url": "https://files.pythonhosted.org/packages/e5/f7/1de22d64d22c580f7f03228c772411aa32800610201a3583d75e0a2349fa/construct-2.8.15.tar.gz" } ], "2.8.16": [ { "comment_text": "", "digests": { "md5": "a49609bc99c22ca248910d4e858c8a0d", "sha256": "9a5dbd459e26933bd572389d99c26a0db180b3e2f5fd06950a38b1944cff2548" }, "downloads": -1, "filename": "construct-2.8.16.tar.gz", "has_sig": false, "md5_digest": "a49609bc99c22ca248910d4e858c8a0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63629, "upload_time": "2017-10-01T07:48:01", "url": "https://files.pythonhosted.org/packages/60/92/285d9a28ac6a80174111d2b3c2e640099eaae642b748d76699ae420dd3d4/construct-2.8.16.tar.gz" } ], "2.8.17": [ { "comment_text": "", "digests": { "md5": "638b73fc7439d9d54751f45c0b70dd45", "sha256": "2a7091be49575f8a93d38ad24f8911a4180742a25f1117ff922ea92db2868965" }, "downloads": -1, "filename": "construct-2.8.17.tar.gz", "has_sig": false, "md5_digest": "638b73fc7439d9d54751f45c0b70dd45", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63097, "upload_time": "2017-12-08T17:14:06", "url": "https://files.pythonhosted.org/packages/e6/20/8b91da1e233b041b55797c75e8b0e6934d909a5ddc41a6a71b88e4870224/construct-2.8.17.tar.gz" } ], "2.8.18": [ { "comment_text": "", "digests": { "md5": "d8093edf9e3af4d7d40f24a686329616", "sha256": "a5628e51b3f402d03054a11686fc782915a5771b5f98df0e9c9494407fed4280" }, "downloads": -1, "filename": "construct-2.8.18.tar.gz", "has_sig": false, "md5_digest": "d8093edf9e3af4d7d40f24a686329616", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62963, "upload_time": "2018-01-03T09:17:00", "url": "https://files.pythonhosted.org/packages/82/1e/9f84bf43d87e0178a41ebbd3ad507e7f1bf86ff8c3f8cdc537bd0287b1fb/construct-2.8.18.tar.gz" } ], "2.8.19": [ { "comment_text": "", "digests": { "md5": "fb7c078b17328fe517042b3f467a230e", "sha256": "3da2dbf3f8120103aa7bfbdc06beeaf25e5cb7e3c8ef9321172d0154d11b05fb" }, "downloads": -1, "filename": "construct-2.8.19.tar.gz", "has_sig": false, "md5_digest": "fb7c078b17328fe517042b3f467a230e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62142, "upload_time": "2018-01-03T09:21:40", "url": "https://files.pythonhosted.org/packages/90/56/e1afb03798a8c8454bd263bf203f970142c633235127340379cad790034c/construct-2.8.19.tar.gz" } ], "2.8.2": [ { "comment_text": "", "digests": { "md5": "407561fa710eac4a7534bf6682d517cc", "sha256": "4dbd6d94854d5d3028254de11f46c0ace97fb7919c60fa65bfb6adf6503b005d" }, "downloads": -1, "filename": "construct-2.8.2.tar.gz", "has_sig": false, "md5_digest": "407561fa710eac4a7534bf6682d517cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 693171, "upload_time": "2016-09-23T01:08:56", "url": "https://files.pythonhosted.org/packages/ab/f3/2fd76fee090f4e8953cc214540bc14358fe06cb416d044fd01a9ca65ed7f/construct-2.8.2.tar.gz" } ], "2.8.20": [ { "comment_text": "", "digests": { "md5": "827f8aa8c5bacbe19cd083df6fbfae78", "sha256": "a1d5af7aa1d1977eb0ac90e2a4b13ddd30274ce3a8e4d6542700d5b5a2472df7" }, "downloads": -1, "filename": "construct-2.8.20.tar.gz", "has_sig": false, "md5_digest": "827f8aa8c5bacbe19cd083df6fbfae78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62964, "upload_time": "2018-01-03T09:29:35", "url": "https://files.pythonhosted.org/packages/00/94/f136b4b319387ff0f551ce780376b3a461209a296967ed15a82562e7ba87/construct-2.8.20.tar.gz" } ], "2.8.21": [ { "comment_text": "", "digests": { "md5": "019ec7e9c5d839acf3bef61ae2f9ba37", "sha256": "c38d3600547930e49d5ca9210d72371fa67edbf13f5633295a613e3b80b77073" }, "downloads": -1, "filename": "construct-2.8.21.tar.gz", "has_sig": false, "md5_digest": "019ec7e9c5d839acf3bef61ae2f9ba37", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63085, "upload_time": "2018-01-13T11:32:17", "url": "https://files.pythonhosted.org/packages/26/dc/1a2f590fea5201eaac871c746fcc09e1e0c36d114a28f329ca1198ba4177/construct-2.8.21.tar.gz" } ], "2.8.22": [ { "comment_text": "", "digests": { "md5": "817e7a7d552b1a923fb5369561c5d71a", "sha256": "8977b75fc396eaf9e3ba269db0d46d13944bd8fd7e2b5539a4c4d990b6d6dded" }, "downloads": -1, "filename": "construct-2.8.22.tar.gz", "has_sig": false, "md5_digest": "817e7a7d552b1a923fb5369561c5d71a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 63339, "upload_time": "2018-01-18T06:16:45", "url": "https://files.pythonhosted.org/packages/e5/c6/3e3aeef38bb0c27364af3d21493d9690c7c3925f298559bca3c48b7c9419/construct-2.8.22.tar.gz" } ], "2.8.3": [ { "comment_text": "", "digests": { "md5": "0879e4bcccd3809134338af7c21c8ec6", "sha256": "80ff6b28bb9107435074ff10198ef8eed4380b979f3910dafe19437ddbb4c800" }, "downloads": -1, "filename": "construct-2.8.3.tar.gz", "has_sig": false, "md5_digest": "0879e4bcccd3809134338af7c21c8ec6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 693953, "upload_time": "2016-09-23T18:44:47", "url": "https://files.pythonhosted.org/packages/03/05/d730e3c0ce5177c00feb3238d40db44390af5de122cef33ed9d6631b4dbf/construct-2.8.3.tar.gz" } ], "2.8.4": [ { "comment_text": "", "digests": { "md5": "97ccf73e6fdd9058fbf57d722316aefc", "sha256": "e5cc4920efc1d26011902785d1384ca742399253bd9b325910c758b9dabdad09" }, "downloads": -1, "filename": "construct-2.8.4.tar.gz", "has_sig": false, "md5_digest": "97ccf73e6fdd9058fbf57d722316aefc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 695408, "upload_time": "2016-09-25T21:54:07", "url": "https://files.pythonhosted.org/packages/57/47/76aa795a605583ff504fd9ba57f9c9cf2a07cef4148abf3efb4356250535/construct-2.8.4.tar.gz" } ], "2.8.5": [ { "comment_text": "", "digests": { "md5": "3a92ea9e88b1bf4b707549d0aa6a4bd3", "sha256": "0ec059390b96a4be27bb9102c1ce632cec8758a075d6133332b4718360c282b1" }, "downloads": -1, "filename": "construct-2.8.5.tar.gz", "has_sig": false, "md5_digest": "3a92ea9e88b1bf4b707549d0aa6a4bd3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 696415, "upload_time": "2016-09-30T18:10:30", "url": "https://files.pythonhosted.org/packages/9b/c0/b6de12fd76538c6f0aa24b34d953b146766399cca885d6519819bf094e9c/construct-2.8.5.tar.gz" } ], "2.8.6": [ { "comment_text": "", "digests": { "md5": "3b68bfcdec2993108995d8993b9528f4", "sha256": "da756733ff99282f13c42a253b76f7e543c22c44c7aa8a8e91a28b7d7eac0306" }, "downloads": -1, "filename": "construct-2.8.6.tar.gz", "has_sig": false, "md5_digest": "3b68bfcdec2993108995d8993b9528f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 713901, "upload_time": "2016-10-04T19:56:37", "url": "https://files.pythonhosted.org/packages/46/dc/e037544096e936d4600fab442e2cb0a0c748f574b202bc4c2463a81ee703/construct-2.8.6.tar.gz" } ], "2.8.7": [ { "comment_text": "", "digests": { "md5": "142275ede2c8f6595cdee01d50ee8555", "sha256": "d41727620fd75715d3da286acfada5fd423af28d24acd402915151a1476acef6" }, "downloads": -1, "filename": "construct-2.8.7.tar.gz", "has_sig": false, "md5_digest": "142275ede2c8f6595cdee01d50ee8555", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 715796, "upload_time": "2016-10-07T19:33:32", "url": "https://files.pythonhosted.org/packages/86/8a/740a6a7b20621c51b99ff61b9e47c6d33c4c25e9b78e633d83d21d72d01a/construct-2.8.7.tar.gz" } ], "2.8.8": [ { "comment_text": "", "digests": { "md5": "39781ff6cb36af0834c306933e2cbb3f", "sha256": "1b84b8147f6fd15bcf64b737c3e8ac5100811ad80c830cb4b2545140511c4157" }, "downloads": -1, "filename": "construct-2.8.8.tar.gz", "has_sig": false, "md5_digest": "39781ff6cb36af0834c306933e2cbb3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 717694, "upload_time": "2016-10-20T22:29:12", "url": "https://files.pythonhosted.org/packages/b6/2c/66bab4fef920ef8caa3e180ea601475b2cbbe196255b18f1c58215940607/construct-2.8.8.tar.gz" } ], "2.9.23": [ { "comment_text": "", "digests": { "md5": "7129ab1cb66552f2235cdf9d65101483", "sha256": "89d3d6b7cad8fb3ba251e97547295138ddbd4b17612542fdac0a112c7a39213c" }, "downloads": -1, "filename": "construct-2.9.23.tar.gz", "has_sig": false, "md5_digest": "7129ab1cb66552f2235cdf9d65101483", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69214, "upload_time": "2018-01-28T20:42:01", "url": "https://files.pythonhosted.org/packages/49/20/a83d33b47e95c6d74489bcab70580e58091dce9c3e09985d107632bf8009/construct-2.9.23.tar.gz" } ], "2.9.24": [ { "comment_text": "", "digests": { "md5": "2619b6e69ac259cdb216b847af1e2cd6", "sha256": "0a6a1694af4867a33897475d43439d42d01835e468efa127e7067d690120515b" }, "downloads": -1, "filename": "construct-2.9.24.tar.gz", "has_sig": false, "md5_digest": "2619b6e69ac259cdb216b847af1e2cd6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69567, "upload_time": "2018-01-29T18:48:38", "url": "https://files.pythonhosted.org/packages/60/7b/cdc7a58962054cf6320552865f7068bd5cd05233a78c5afc7fa8228fc949/construct-2.9.24.tar.gz" } ], "2.9.25": [ { "comment_text": "", "digests": { "md5": "4c3c1b4e3feeb4049b5228af204b25db", "sha256": "34265ad09112ce14ee1668259f0ae3dd87aa9cfa41b317195d584e1de18a11b9" }, "downloads": -1, "filename": "construct-2.9.25.tar.gz", "has_sig": false, "md5_digest": "4c3c1b4e3feeb4049b5228af204b25db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 70311, "upload_time": "2018-01-30T10:32:00", "url": "https://files.pythonhosted.org/packages/d4/40/f30ddaf5da13bb48d9a2c1ad3cab591947df735126bd7c4e6d296d5a3e11/construct-2.9.25.tar.gz" } ], "2.9.26": [ { "comment_text": "", "digests": { "md5": "4bc2ac44c7d5b3da053dadb9f7d8982e", "sha256": "437c3cbfa48604a9707377a030dba2efc15523e12e498a4042f6e82ea169cadb" }, "downloads": -1, "filename": "construct-2.9.26.tar.gz", "has_sig": false, "md5_digest": "4bc2ac44c7d5b3da053dadb9f7d8982e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 68679, "upload_time": "2018-02-01T19:33:49", "url": "https://files.pythonhosted.org/packages/4e/8f/99a78174475336b83061523f81ef0452ee42052440037e7fc815d242c14e/construct-2.9.26.tar.gz" } ], "2.9.27": [ { "comment_text": "", "digests": { "md5": "6ea0c3aada6ad0c00c50fa89e5b1b792", "sha256": "3ba20b9616d7242a5f622f3a51bc47a3167275fa43705b1e43a9bacebc28ca6d" }, "downloads": -1, "filename": "construct-2.9.27.tar.gz", "has_sig": false, "md5_digest": "6ea0c3aada6ad0c00c50fa89e5b1b792", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69247, "upload_time": "2018-02-03T17:37:03", "url": "https://files.pythonhosted.org/packages/04/f6/526ec0614d2f48712f0a8c534f7ef90cc7acb7a27323f298e796f7897b15/construct-2.9.27.tar.gz" } ], "2.9.28": [ { "comment_text": "", "digests": { "md5": "14845599a3ee82314c78717352b956c7", "sha256": "edec0c8e26e5a4555c417c6abdeb15adde98159c5b097e4d52c19e6d86736f10" }, "downloads": -1, "filename": "construct-2.9.28.tar.gz", "has_sig": false, "md5_digest": "14845599a3ee82314c78717352b956c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66663, "upload_time": "2018-02-08T02:22:38", "url": "https://files.pythonhosted.org/packages/1f/d3/61bc684f2c16ae64a485f27e9efd26664509bba27a6f784e9c09488eb442/construct-2.9.28.tar.gz" } ], "2.9.29": [ { "comment_text": "", "digests": { "md5": "78bbd9da71eedd626a710530f3de8119", "sha256": "2181f607e34f311f0850d1b6e780b46d3a9cee8eb3ca440ce25202a000eb180a" }, "downloads": -1, "filename": "construct-2.9.29.tar.gz", "has_sig": false, "md5_digest": "78bbd9da71eedd626a710530f3de8119", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 67278, "upload_time": "2018-02-11T07:53:12", "url": "https://files.pythonhosted.org/packages/d6/8a/228f1d6ff5c45e0e9c00b823c81342677246f90e681b831e1abd4f321078/construct-2.9.29.tar.gz" } ], "2.9.30": [ { "comment_text": "", "digests": { "md5": "0d6c79963e1f64e95de515b91e12c485", "sha256": "297363860be836d0815ba6b98e6051d952d189c9926d36efca931b725e9529f0" }, "downloads": -1, "filename": "construct-2.9.30.tar.gz", "has_sig": false, "md5_digest": "0d6c79963e1f64e95de515b91e12c485", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 68744, "upload_time": "2018-02-12T23:25:36", "url": "https://files.pythonhosted.org/packages/18/85/0461b2d9444bb07008649a2bd3a564ac1307c0bee9f8abfcb89551142d70/construct-2.9.30.tar.gz" } ], "2.9.31": [ { "comment_text": "", "digests": { "md5": "147ae4d55da29c961438480ca16832fb", "sha256": "9c3f4273e8978b7a5ef17b1a54e8858fb11d0f1e50f3d51d399cce3efc434bf1" }, "downloads": -1, "filename": "construct-2.9.31.tar.gz", "has_sig": false, "md5_digest": "147ae4d55da29c961438480ca16832fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 68869, "upload_time": "2018-02-17T09:45:13", "url": "https://files.pythonhosted.org/packages/f7/c4/bd185548331e512ad0d3cafd0cefcf69221faede77530f476e6dea3a887d/construct-2.9.31.tar.gz" } ], "2.9.32": [ { "comment_text": "", "digests": { "md5": "334884d16ca2d03b444ad67776b761dc", "sha256": "508bfc0c7ba42f0553440d4c6201b446239e9f0974539b3bfccf43736891b5f2" }, "downloads": -1, "filename": "construct-2.9.32.tar.gz", "has_sig": false, "md5_digest": "334884d16ca2d03b444ad67776b761dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 70126, "upload_time": "2018-02-18T12:42:06", "url": "https://files.pythonhosted.org/packages/89/42/d92719a878bc845611020f031fdac849ad8ee04506e5af0fb786e155f52e/construct-2.9.32.tar.gz" } ], "2.9.33": [ { "comment_text": "", "digests": { "md5": "4d90ec367695bfc98c0b990eeb946797", "sha256": "c80e34bb76bb8ed58c7ecce6c309ef67bf92434cab42d753ad752cbd2d114e4e" }, "downloads": -1, "filename": "construct-2.9.33.tar.gz", "has_sig": false, "md5_digest": "4d90ec367695bfc98c0b990eeb946797", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69450, "upload_time": "2018-02-20T21:04:53", "url": "https://files.pythonhosted.org/packages/e9/d3/b53b7d6777aae5505100ca60bde3009df6a6455594b5675b6e359e282762/construct-2.9.33.tar.gz" } ], "2.9.34": [ { "comment_text": "", "digests": { "md5": "86435cf0c5ca909b1edba1c4b20e3ec1", "sha256": "cdaf075caa6fe164efddc85d803b3bd8aa57d168307c91d5d789c25479400c9d" }, "downloads": -1, "filename": "construct-2.9.34.tar.gz", "has_sig": false, "md5_digest": "86435cf0c5ca909b1edba1c4b20e3ec1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69458, "upload_time": "2018-02-22T13:07:41", "url": "https://files.pythonhosted.org/packages/7e/a2/9022f3ede5dff474d57b8dcbdeb497c43f4a2d35fd2a1a6b1341d2c18bdd/construct-2.9.34.tar.gz" } ], "2.9.35": [ { "comment_text": "", "digests": { "md5": "335ad9c8898a8fd727831f9665c6d591", "sha256": "256ddd805d42dc18292959163d110bab08c58cbaa31683cb403d2ed65921bdf4" }, "downloads": -1, "filename": "construct-2.9.35.tar.gz", "has_sig": false, "md5_digest": "335ad9c8898a8fd727831f9665c6d591", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69465, "upload_time": "2018-02-28T02:35:58", "url": "https://files.pythonhosted.org/packages/89/a6/7482f2d45afd29eb405a21bc00a960b2b1596d572be101c0767df1487b9a/construct-2.9.35.tar.gz" } ], "2.9.36": [ { "comment_text": "", "digests": { "md5": "b00ab9b586431bf5e9c97c9fc7bcf57c", "sha256": "10772408e63fa806ab0b0f95421012a3a65ec4eee234c63c08faee793c64ed57" }, "downloads": -1, "filename": "construct-2.9.36.tar.gz", "has_sig": false, "md5_digest": "b00ab9b586431bf5e9c97c9fc7bcf57c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69423, "upload_time": "2018-03-05T04:10:45", "url": "https://files.pythonhosted.org/packages/76/d8/31f7671d5c34f4aad295a18c0fa65214ab2e9cd0c6f505c5ccae7ce9d9d7/construct-2.9.36.tar.gz" } ], "2.9.37": [ { "comment_text": "", "digests": { "md5": "a9328f86a7c30c6ddbc7908c8d2c48ff", "sha256": "6410a63fbffd7e3f9291137b27747efa3b4375a2b29db02ed7faf93e167bba4d" }, "downloads": -1, "filename": "construct-2.9.37.tar.gz", "has_sig": false, "md5_digest": "a9328f86a7c30c6ddbc7908c8d2c48ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 70821, "upload_time": "2018-03-10T12:23:14", "url": "https://files.pythonhosted.org/packages/ad/17/11af41b04717ded6b2cc4bfb73f4fd28327f291af9d55b4a8df7b11a6e50/construct-2.9.37.tar.gz" } ], "2.9.38": [ { "comment_text": "", "digests": { "md5": "756c9575d317b557db230a01151711f7", "sha256": "92495830c4ec931d8253db199e259dd83239ace0df27a4cd6ffe7ece2c23edbd" }, "downloads": -1, "filename": "construct-2.9.38.tar.gz", "has_sig": false, "md5_digest": "756c9575d317b557db230a01151711f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50817, "upload_time": "2018-03-12T11:22:59", "url": "https://files.pythonhosted.org/packages/ed/35/f5e259f80cfd99adf68a8a2a51656153f394b61f5a3bea2fa37362e772e6/construct-2.9.38.tar.gz" } ], "2.9.39": [ { "comment_text": "", "digests": { "md5": "39407f91407138f687ea2ecf8d758a1f", "sha256": "c23ef47fd5751d821e5c17d9b3b02d1f3c465e66b8a205b9c791c4abef747138" }, "downloads": -1, "filename": "construct-2.9.39.tar.gz", "has_sig": false, "md5_digest": "39407f91407138f687ea2ecf8d758a1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51357, "upload_time": "2018-03-16T12:05:00", "url": "https://files.pythonhosted.org/packages/8e/6b/213a77e314a44c2656c2a9bb950ca7068e617ea87881b5150e007b5c14c9/construct-2.9.39.tar.gz" } ], "2.9.40": [ { "comment_text": "", "digests": { "md5": "2df4b85af0554b7bd0cbb711f6f5bfb6", "sha256": "b4b9c5b698f82daf6310e4b45f3ec685b9eac99d0181c152b7bcc73c6af3e3ec" }, "downloads": -1, "filename": "construct-2.9.40.tar.gz", "has_sig": false, "md5_digest": "2df4b85af0554b7bd0cbb711f6f5bfb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54349, "upload_time": "2018-03-23T21:38:45", "url": "https://files.pythonhosted.org/packages/c1/be/0b417df280ddfe340c24b147ad725a59dba15008ad089e3c007b15baeff3/construct-2.9.40.tar.gz" } ], "2.9.41": [ { "comment_text": "", "digests": { "md5": "c708aa0458929073ef390a34e0e360ed", "sha256": "38bd3e5d18b7ced243c9b7ebb7eb60b11bbb69e16cea5df68bc0eecaf8b94cfa" }, "downloads": -1, "filename": "construct-2.9.41.tar.gz", "has_sig": false, "md5_digest": "c708aa0458929073ef390a34e0e360ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54589, "upload_time": "2018-03-26T21:25:38", "url": "https://files.pythonhosted.org/packages/e6/f5/064be5013506d54212b396e8fc3e9890e60ed6a27df6d52529f0b8361cd5/construct-2.9.41.tar.gz" } ], "2.9.42": [ { "comment_text": "", "digests": { "md5": "435be3c396129799f446299351a7fb87", "sha256": "52e4fdd1028a5cc8e59bd112c859bef181a5b04638e71598e0e0a56e1533bf47" }, "downloads": -1, "filename": "construct-2.9.42.tar.gz", "has_sig": false, "md5_digest": "435be3c396129799f446299351a7fb87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55958, "upload_time": "2018-03-28T11:22:41", "url": "https://files.pythonhosted.org/packages/4a/c5/11efa6e8e6e390df173742261b47fef239146f760c4daaaf3ff33c7d276e/construct-2.9.42.tar.gz" } ], "2.9.43": [ { "comment_text": "", "digests": { "md5": "a109df0e21529a67b3e3302723189437", "sha256": "46dcd22ae35479be82a6c92a43c0b9f5c80ed0efd69a971972089ce6af8df502" }, "downloads": -1, "filename": "construct-2.9.43.tar.gz", "has_sig": false, "md5_digest": "a109df0e21529a67b3e3302723189437", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55557, "upload_time": "2018-03-31T08:50:30", "url": "https://files.pythonhosted.org/packages/b6/89/49ba5183877f8d993f54d2d0ed89b467ce481b1b9b1d589589bbc16d893c/construct-2.9.43.tar.gz" } ], "2.9.44": [ { "comment_text": "", "digests": { "md5": "59934a7306cec5f39082e8182fecbb65", "sha256": "b3e9c2a258d89a0b1268f5175b767185ca3eac4a217ab7805764f9d4ae93ea63" }, "downloads": -1, "filename": "construct-2.9.44.tar.gz", "has_sig": false, "md5_digest": "59934a7306cec5f39082e8182fecbb65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55573, "upload_time": "2018-04-06T19:31:08", "url": "https://files.pythonhosted.org/packages/6c/91/b935f54d7acbe9b998ebc7d1937342657b76399defefc3b39a3e7fc33b31/construct-2.9.44.tar.gz" } ], "2.9.45": [ { "comment_text": "", "digests": { "md5": "2498a8fd0782c56df915be4948402db5", "sha256": "2271a0efd0798679dea825ff47e22a4c550456a5db0ba8baa82f7eae0af0118c" }, "downloads": -1, "filename": "construct-2.9.45.tar.gz", "has_sig": false, "md5_digest": "2498a8fd0782c56df915be4948402db5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56397, "upload_time": "2018-04-09T00:16:07", "url": "https://files.pythonhosted.org/packages/19/c0/f054941fa33d14378de66d2c0477d31f7ad97aa2e298a5771a7b20bc2039/construct-2.9.45.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2498a8fd0782c56df915be4948402db5", "sha256": "2271a0efd0798679dea825ff47e22a4c550456a5db0ba8baa82f7eae0af0118c" }, "downloads": -1, "filename": "construct-2.9.45.tar.gz", "has_sig": false, "md5_digest": "2498a8fd0782c56df915be4948402db5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56397, "upload_time": "2018-04-09T00:16:07", "url": "https://files.pythonhosted.org/packages/19/c0/f054941fa33d14378de66d2c0477d31f7ad97aa2e298a5771a7b20bc2039/construct-2.9.45.tar.gz" } ] }