{ "info": { "author": "D.Bashkirtsevich", "author_email": "bashkirtsevich@gmail.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python" ], "description": "# Python 3 bencoding library\n[![Build Status](https://travis-ci.org/bashkirtsevich-llc/py3bencode.svg?branch=master)](https://travis-ci.org/bashkirtsevich-llc/py3bencode)\n\nPython 3 bytearray bencoding library.\n\nEncode all data into `byte`. Useful for networking.\n\n\n## Example\n\n```python\n>>> from bencode import bencode, bdecode\n\n\n>>> foo = bencode({\"foo\": [0, -1, 2, \"3\", {\"4\": 5}], \"bar\": {\"baz\": 1}})\n>>> print(foo)\nb'd3:bard3:bazi1ee3:fooli0ei-1ei2e1:3d1:4i5eeee'\n\n>>> bar = bdecode(foo)\n>>> print(bar)\n{b'bar': {b'baz': 1}, b'foo': [0, -1, 2, b'3', {b'4': 5}]}\n\n```\n\n## `decoder` for `bdecode`\n\nOptional argument in `bdecode` function, provide decode bytes to another types. It can be helpful for decode dict key into strings.\n\n`decoder` is a callback function with arguments: `field_type`, `value`\n* `field_type` **str**, possible values: `\"key\"`, `\"value\"`;\n* `value` **bytes**.\n\n\n```python\n>>> def custom_decoder(field_type, value):\n... if field_type == \"key\":\n... return str(value, \"ascii\")\n... elif field_type == \"value\":\n... return str(value, \"utf-8\")\n... else:\n... raise Exception(\"'field_type' can pass only 'key' and 'value' values\")\n... \n\n>>> bar = bdecode(foo, decoder=custom_decoder)\n>>> print(bar)\n{'bar': {'baz': 1}, 'foo': [0, -1, 2, '3', {'4': 5}]}\n```\n\n\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/bashkirtsevich-llc/py3bencode", "keywords": "bencode rawbytes torrent bittorrent", "license": "GPL3 License", "maintainer": "", "maintainer_email": "", "name": "py3-bencode", "package_url": "https://pypi.org/project/py3-bencode/", "platform": "", "project_url": "https://pypi.org/project/py3-bencode/", "project_urls": { "Homepage": "https://github.com/bashkirtsevich-llc/py3bencode" }, "release_url": "https://pypi.org/project/py3-bencode/0.0.3/", "requires_dist": null, "requires_python": ">=3.6.*", "summary": "Python 3 bencoding implementation", "version": "0.0.3" }, "last_serial": 5356780, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "a6861553443aeda73895fbb31165a5b8", "sha256": "677d8f2ab73c05ef50063e3632018c903fc44f88a01af92869e574ac2e510bc4" }, "downloads": -1, "filename": "py3_bencode-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a6861553443aeda73895fbb31165a5b8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3419, "upload_time": "2018-03-18T16:12:16", "url": "https://files.pythonhosted.org/packages/20/07/88a2f4f3b6ca6b92dcb46b36be1f97de210ae27409ba87c97a5a615f630a/py3_bencode-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b3e24ffd7dc0050d53833223e21ebf52", "sha256": "4f07e40aa110bdaad797fc84c46667b79beed5bdf68b731d6d424fa584d92177" }, "downloads": -1, "filename": "py3-bencode-0.0.2.tar.gz", "has_sig": false, "md5_digest": "b3e24ffd7dc0050d53833223e21ebf52", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1996, "upload_time": "2018-03-18T16:12:17", "url": "https://files.pythonhosted.org/packages/24/c7/100a32d1c039f3330db4cddd694f454ac832b676b73bbd3bce83a4fbb260/py3-bencode-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "dd23d6914098c7e99814fbb53467abd0", "sha256": "ac451a07a712ebbeb5bf9b56f0dfbb9196dff86cdba1d519c478e8794d6f0ef2" }, "downloads": -1, "filename": "py3_bencode-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "dd23d6914098c7e99814fbb53467abd0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.*", "size": 15323, "upload_time": "2019-06-04T10:43:03", "url": "https://files.pythonhosted.org/packages/e7/dd/a1fa118566f27359cf4b38fbe0bcb865427379047e254a1bafc751e75b1b/py3_bencode-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "442cff4be09ff88bc310ce966553090c", "sha256": "154c08a9014c563df1495d41992c587e594de9a45ef745a9554035830541ea9b" }, "downloads": -1, "filename": "py3-bencode-0.0.3.tar.gz", "has_sig": false, "md5_digest": "442cff4be09ff88bc310ce966553090c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.*", "size": 2678, "upload_time": "2019-06-04T10:43:04", "url": "https://files.pythonhosted.org/packages/cb/d9/ffa41e93662879e1f1592df5244337dda783f4d871bbf6e531d611d65f7a/py3-bencode-0.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dd23d6914098c7e99814fbb53467abd0", "sha256": "ac451a07a712ebbeb5bf9b56f0dfbb9196dff86cdba1d519c478e8794d6f0ef2" }, "downloads": -1, "filename": "py3_bencode-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "dd23d6914098c7e99814fbb53467abd0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.*", "size": 15323, "upload_time": "2019-06-04T10:43:03", "url": "https://files.pythonhosted.org/packages/e7/dd/a1fa118566f27359cf4b38fbe0bcb865427379047e254a1bafc751e75b1b/py3_bencode-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "442cff4be09ff88bc310ce966553090c", "sha256": "154c08a9014c563df1495d41992c587e594de9a45ef745a9554035830541ea9b" }, "downloads": -1, "filename": "py3-bencode-0.0.3.tar.gz", "has_sig": false, "md5_digest": "442cff4be09ff88bc310ce966553090c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.*", "size": 2678, "upload_time": "2019-06-04T10:43:04", "url": "https://files.pythonhosted.org/packages/cb/d9/ffa41e93662879e1f1592df5244337dda783f4d871bbf6e531d611d65f7a/py3-bencode-0.0.3.tar.gz" } ] }