46 lines
46 KiB
YAML
46 lines
46 KiB
YAML
|
|
---
|
||
|
|
version_control: pypi
|
||
|
|
src_repo: construct
|
||
|
|
tag_prefix: "^v"
|
||
|
|
seperator: "."
|
||
|
|
last_query:
|
||
|
|
time_stamp: 2020-04-26 03:17:13.067408110 +00:00
|
||
|
|
raw_data: '{"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 :: 3","Programming
|
||
|
|
Language :: Python :: 3.6","Programming Language :: Python :: 3.7","Programming
|
||
|
|
Language :: Python :: 3.8","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]]","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,kaitai,declarative,data
|
||
|
|
structure,struct,binary,symmetric,parser,builder,parsing,building,pack,unpack,packer,unpacker","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.10.56/","requires_dist":null,"requires_python":">=3.6","summary":"A
|
||
|
|
powerful declarative symmetric parser/builder for binary data","version":"2.10.56","yanked":false},"last_serial":6534010,"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","upload_time_iso_8601":"2013-05-04T17:52:02.760981Z","url":"https://files.pythonhosted.org/packages/98/56/e33adb412a81186cd8acd576c1686a6559728de00f77892fb7bd20004c92/construct-2.0.0.tar.gz","yanked":false}],"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","upload_time_iso_8601":"2013-05-05T07:12:51.243041Z","url":"https://files.pythonhosted.org/packages/e7/3a/6fb85b3cc60e6a2cfe1242237c2d8fc49dea4ef37d25df644f09a4d1c3e0/construct-2.0.4.tar.gz","yanked":false}],"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","upload_time_iso_8601":"2013-05-05T07:10:48.673025Z","url":"https://files.pythonhosted.org/packages/ef/26/dd7618fe69d1f5ef462576cdc82d0a5a4e62fb690b923b7a3da3614656db/construct-2.0.5.tar.gz","yanked":false}],"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","upload_time_iso_8601":"2013-05-05T07:11:56.524345Z","url":"https://files.pythonhosted.org/packages/9b/97/a8304e56c5c79d4e132a7ecdf44b051fe1bfbe35cef6c94ce0552def649d/construct-2.0.6.tar.gz","yanked":false}],"2.10.53":[{"comment_text":"","digests":{"md5":"610bebda9f06d8fed1013c3e3b749a31","sha256":"350b19153f31f535d897261b0e6d956b9759e3ab5beaa1f1d37f81a672e6c6a3"},"downloads":-1,"filename":"construct-2.10.53.tar.gz","has_sig":false,"md5_digest":"610bebda9f06d8fed1013c3e3b749a31","packagetype":"sdist","python_version":"source","requires_python":null,"size":55270,"upload_time":"2020-01-19T18:10:27","upload_time_iso_8601":"2020-01-19T18:10:27.873096Z","url":"https://files.pythonhosted.org/packages/a6/cb/6fc4b67dfd713a5e62430802161ded17380b38ec9b11a3e333fe1d7b8e1f/construct-2.10.53.tar.gz","yanked":false}],"2.10.54":[{"comment_text":"","digests":{"md5":"e76cce8b85079d0419ef735461d2c6e4","sha256":"3c130a67f05610557dd1b27e062a7165f92b517f9ed50db880ebe068696fd712"},"downloads":-1,"filename":"construct-2.10.54.tar.gz","has_sig":false,"md5_digest":"e76cce8b85079d0419ef735461d2c6e4","packagetype":"sdist","python_version":"source","requires_python":null,"size":55318,"upload_time":"2020-01-24T09:57:59","upload_time_iso_8601":"2020-01-24T09:57:59.421333Z","url":"https://files.pythonhosted.org/packages/30/2f/e2e6bad1b80f744cf5c2a6d622e3dee698b43e6c040f980ae0ac0edd5e54/construct-2.10.54.tar.gz","yanked":false}],"2.10.56":[{"comment_text":"","digests":{"md5":"649f73ca811ab6f59fab3bb9fa8b158b","sha256":"97ba13edcd98546f10f7555af41c8ce7ae9d8221525ec4062c03f9adbf940661"},"downloads":-1,"filename":"construct-2.10.56.tar.gz","has_sig":false,"md5_digest":"649f73ca811ab6f59fab3bb9fa8b158b","packagetype":"sdist","python_version":"source","requires_python":">=3
|