{ "info": { "author": "moreal", "author_email": "dev.moreal@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Programming Language :: Python :: 3.7" ], "description": "# pystructs\n\n[![Documentation Status](https://readthedocs.org/projects/pystructs/badge/?version=0.2.1)](https://pystructs.readthedocs.io/en/latest/?badge=0.2.1)\n[![Build Status](https://travis-ci.com/moreal/pystructs.svg?branch=master)](https://travis-ci.com/moreal/pystructs)\n[![codecov](https://codecov.io/gh/moreal/pystructs/branch/master/graph/badge.svg)](https://codecov.io/gh/moreal/pystructs)\n[![slack](https://img.shields.io/badge/slack-pystructs-yellow.svg?logo=slack)](https://pystructs-slack-application.herokuapp.com/)\n\n`pystructs` is useful `c-like struct` package for human\n\n## How to install\n\n```bash\n$ pip install pystructs\n```\n\n## Example codes\n\n```python\nfrom typing import List\nfrom pystructs import fields\n\n\nclass Attribute(fields.Struct):\n type = fields.BytesField(size=1)\n length = fields.Int32Field(byteorder='big')\n value = fields.VariableBytesField(related_field='length')\n\n\nclass StunMessage(fields.Struct):\n type = fields.BytesField(size=1)\n length = fields.Int32Field(byteorder='big')\n attributes: List[Attribute] = fields.MultipleField(count='length', field=Attribute())\n\n\nmessage = StunMessage(\n b'\\x09\\x00\\x00\\x00\\x02'\n b'\\x01\\x00\\x00\\x00\\x03\\x12\\x34\\x56'\n b'\\x02\\x00\\x00\\x00\\x03\\x12\\x34\\x56')\n\nmessage.initialize()\n\nprint(message.length) # 2\nprint(message.attributes[0].length) # 3\nprint(message.attributes[1].length) # 3\n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/moreal/pystructs", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pystructs", "package_url": "https://pypi.org/project/pystructs/", "platform": "", "project_url": "https://pypi.org/project/pystructs/", "project_urls": { "Homepage": "https://github.com/moreal/pystructs" }, "release_url": "https://pypi.org/project/pystructs/0.3.0/", "requires_dist": null, "requires_python": "", "summary": "c-like struct implementation for human", "version": "0.3.0" }, "last_serial": 5737361, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "11db591fcf5082729edd0d4b528d3843", "sha256": "11c500bbf3108b287e85a4f875fe6eca02917e2011ed95e238c1bc5e4dc96120" }, "downloads": -1, "filename": "pystructs-0.1.0.tar.gz", "has_sig": false, "md5_digest": "11db591fcf5082729edd0d4b528d3843", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2516, "upload_time": "2019-06-09T15:20:22", "url": "https://files.pythonhosted.org/packages/5e/04/02769d273eaa2443a81028205e49811efe5b5bca7f17b565ef0196afb6cd/pystructs-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "57e274190eed82ec6ed391c182215250", "sha256": "f906d9bf99b3c22c72a520ce6007099b7fc152a46afd502ddf20ec6c031a4ae7" }, "downloads": -1, "filename": "pystructs-0.1.1.tar.gz", "has_sig": false, "md5_digest": "57e274190eed82ec6ed391c182215250", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2517, "upload_time": "2019-06-09T22:34:51", "url": "https://files.pythonhosted.org/packages/68/7b/c53ea26887f8373da71cde763594f11e5eec363c24e9b7741babf80f9ca6/pystructs-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "e0c7636c4830605296bac5eff2da053f", "sha256": "e21dff106c5f2c07a657c4e94a82eff20f3d4b917b4e237f46f825fde6461ac3" }, "downloads": -1, "filename": "pystructs-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e0c7636c4830605296bac5eff2da053f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4547, "upload_time": "2019-06-22T05:01:04", "url": "https://files.pythonhosted.org/packages/6b/63/87adcddf9da839ff9ec46137f39327a65ac7764f7b25629ea4f8a1993312/pystructs-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "16d6cf7d4609840e09898d7517fbc299", "sha256": "9ef53fff8f2246bc362df1c0766f649ab4cbaeab78d8557bcbb0c1a775697d61" }, "downloads": -1, "filename": "pystructs-0.2.1.tar.gz", "has_sig": false, "md5_digest": "16d6cf7d4609840e09898d7517fbc299", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5046, "upload_time": "2019-06-26T08:13:46", "url": "https://files.pythonhosted.org/packages/e0/f3/437d065b2cefa91162d74660e7f5bbef349ef143c165abcd2c92a2c0e2e5/pystructs-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "7add1591e4e5f1f61a0b83c43404f8b3", "sha256": "6655d3ed06bae82ed6508272eebd783f5c316d946e751470ab473ec2b28deff8" }, "downloads": -1, "filename": "pystructs-0.3.0.tar.gz", "has_sig": false, "md5_digest": "7add1591e4e5f1f61a0b83c43404f8b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5170, "upload_time": "2019-08-27T15:01:09", "url": "https://files.pythonhosted.org/packages/b5/be/afa2f932b20a5e0cf532bedfacf3e042aa6e88a36b4bc7c0b78d941caeff/pystructs-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7add1591e4e5f1f61a0b83c43404f8b3", "sha256": "6655d3ed06bae82ed6508272eebd783f5c316d946e751470ab473ec2b28deff8" }, "downloads": -1, "filename": "pystructs-0.3.0.tar.gz", "has_sig": false, "md5_digest": "7add1591e4e5f1f61a0b83c43404f8b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5170, "upload_time": "2019-08-27T15:01:09", "url": "https://files.pythonhosted.org/packages/b5/be/afa2f932b20a5e0cf532bedfacf3e042aa6e88a36b4bc7c0b78d941caeff/pystructs-0.3.0.tar.gz" } ] }