{ "info": { "author": "Invisigoth Kenshoto", "author_email": "visi@vertex.link", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4" ], "description": "vstruct2 ( Mark II )\n===================\n\nVivisect Structure Definition/Parsing Library\n|Build Status|\n\nInstalling\n==========\n\n.. code::\n\n python3.4 -m pip install vstruct2\n\nvstruct2 can now be installed via pip!\n\nAdditionally, a repository of existing structure definitions\nis available as a seperate package named fracture.\n\nExamples\n========\n\nBasic Parsing\n-------------\n\nSimple vstruct2 byte parsing:\n\n.. code:: python\n\n from vstruct2.types import *\n\n class Foo(VStruct):\n\n def __init__(self):\n VStruct.__init__(self)\n self.bar = uint32()\n self.baz = vbytes(20)\n\n\n foo = Foo()\n\n # read in byts from somewhere...\n foo.vsParse(byts)\n\n # access struct fields by name\n if foo.bar == 30:\n print('bar == 30!')\n\n # assign fields by name\n foo.bar = 90\n\n # emit modified bytes back out\n byts = bytes(foo) # same as foo.vsEmit()\n\nParser Callbacks\n----------------\n\nWriteBack Bytes/Files\n---------------------\n\nvstruct2 supports \"writeback\" functionality for both files and mutable\nbytearray types, allowing field assignments to change the underlying file\nor bytearray immediately.\n\n.. code:: python\n\n class Foo(VStruct):\n\n def __init__(self):\n VStruct.__init__(self)\n self.bar = uint32()\n self.baz = uint32()\n\n\n foo = Foo()\n\n # ba is a bytearray\n foo.vsParse(ba, writeback=True)\n\n # if bar is 30, set baz to 99\n if foo.bar == 30:\n foo.baz = 99\n\n # ba bytearray has now been modified\n\nEnum Types\n----------\n\n.. |Build Status| image:: https://travis-ci.org/vivisect/vstruct2.svg\n :target: https://travis-ci.org/vivisect/vstruct2\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/vivisect/vstruct2", "keywords": "", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "vstruct2", "package_url": "https://pypi.org/project/vstruct2/", "platform": "", "project_url": "https://pypi.org/project/vstruct2/", "project_urls": { "Homepage": "https://github.com/vivisect/vstruct2" }, "release_url": "https://pypi.org/project/vstruct2/2.0.2/", "requires_dist": null, "requires_python": "", "summary": "Vivisect Structure Definition/Parsing Library", "version": "2.0.2" }, "last_serial": 2680575, "releases": { "2.0.2": [ { "comment_text": "", "digests": { "md5": "db4b0f0d215a0b952d20f735356df73d", "sha256": "420ae2f24f151f0a6f5d4e1de1d0e5b2f36a65a264dcae12b4f91d19c9abe33d" }, "downloads": -1, "filename": "vstruct2-2.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "db4b0f0d215a0b952d20f735356df73d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 9541, "upload_time": "2017-03-03T14:32:59", "url": "https://files.pythonhosted.org/packages/72/cf/bb858f783dcbe7d3efeed409fa8ad4828a553853fc9af79f3794d1298b1e/vstruct2-2.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c056226e9f59e380dd596c0bc694b957", "sha256": "8045ca13eda143177a883e1b62100782356d30e70085e5527e3062d28cb08096" }, "downloads": -1, "filename": "vstruct2-2.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c056226e9f59e380dd596c0bc694b957", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 9540, "upload_time": "2017-03-03T14:32:41", "url": "https://files.pythonhosted.org/packages/79/35/b9bced7b73f2e8992e8d07f622353c45e981d32b9b10d18449b471fe27df/vstruct2-2.0.2-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "db4b0f0d215a0b952d20f735356df73d", "sha256": "420ae2f24f151f0a6f5d4e1de1d0e5b2f36a65a264dcae12b4f91d19c9abe33d" }, "downloads": -1, "filename": "vstruct2-2.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "db4b0f0d215a0b952d20f735356df73d", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 9541, "upload_time": "2017-03-03T14:32:59", "url": "https://files.pythonhosted.org/packages/72/cf/bb858f783dcbe7d3efeed409fa8ad4828a553853fc9af79f3794d1298b1e/vstruct2-2.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c056226e9f59e380dd596c0bc694b957", "sha256": "8045ca13eda143177a883e1b62100782356d30e70085e5527e3062d28cb08096" }, "downloads": -1, "filename": "vstruct2-2.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c056226e9f59e380dd596c0bc694b957", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 9540, "upload_time": "2017-03-03T14:32:41", "url": "https://files.pythonhosted.org/packages/79/35/b9bced7b73f2e8992e8d07f622353c45e981d32b9b10d18449b471fe27df/vstruct2-2.0.2-py3-none-any.whl" } ] }