{ "info": { "author": "Manolis Tsoukalas", "author_email": "emmtsoukalas@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "## Bendercoder\n[![Build Status](https://travis-ci.org/m19t12/bendercoder.svg?branch=master)](https://travis-ci.org/m19t12/bendercoder)\n[![Coverage Status](https://coveralls.io/repos/github/m19t12/bencoder/badge.svg?branch=master)](https://coveralls.io/github/m19t12/bencoder?branch=master)\n\nLibrary for encoding and decoding bencode data.\n\n## Table of content\n- [Introduction](#introduction)\n- [Installing](#installing)\n- [Usage](#usage)\n- [Useful Links](#links)\n\n## Introduction\nBencode (pronounced like B-encode) is the encoding used by the peer-to-peer file sharing system BitTorrent for storing and transmitting loosely structured data.\nIt supports four different types of values:\n- byte strings,\n- integers,\n- lists,\n- dictionaries (associative arrays).\n\nBencoding is most commonly used in torrent files. These metadata files are simply bencoded dictionaries.\n\nDescription from [wikipedia](https://en.wikipedia.org/wiki/Bencode).\n\n## Installing\n```\npip install bendercoder\n```\n\n## Usage\nFor decoding and encoding the integer number 10.\n```python\n# coding=utf-8\nfrom decoder import Decoder\nfrom encoder import Encoder\n\ndecoder = Decoder(payload=b'i10e')\ndecoded_value = decoder.decode()\nprint(decoded_value)\n\nencoder = Encoder(payload=decoded_value)\nencoded_value = encoder.encode()\nprint(encoded_value)\n```\nFor decoding and encoding the string foo.\n```python\n# coding=utf-8\nfrom decoder import Decoder\nfrom encoder import Encoder\n\ndecoder = Decoder(payload=b'3:foo')\ndecoded_value = decoder.decode()\nprint(decoded_value)\n\nencoder = Encoder(payload=decoded_value)\nencoded_value = encoder.encode()\nprint(encoded_value)\n```\nFor decoding and encoding the list [1, 2, 3, 'bar']\n```python\n# coding=utf-8\nfrom decoder import Decoder\nfrom encoder import Encoder\n\ndecoder = Decoder(payload=b'li1ei2ei3e3:bare')\ndecoded_value = decoder.decode()\nprint(decoded_value)\n\nencoder = Encoder(payload=decoded_value)\nencoded_value = encoder.encode()\nprint(encoded_value)\n```\nFor decoding and encoding the dictionary {'test': 'foo', 'bar': 2}\n```python\n# coding=utf-8\nfrom decoder import Decoder\nfrom encoder import Encoder\n\ndecoder = Decoder(payload=b'd4:test3:foo3:bari2ee')\ndecoded_value = decoder.decode()\nprint(decoded_value)\n\nencoder = Encoder(payload=decoded_value)\nencoded_value = encoder.encode()\nprint(encoded_value)\n```\n\n## Links\n- [Wikipedia](https://en.wikipedia.org/wiki/Bencode)\n- [Theory.org](https://wiki.theory.org/index.php/BitTorrentSpecification)\n- [bittorrent.org](http://www.bittorrent.org/beps/bep_0003.html)\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/m19t12/bendercoder", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "bendercoder", "package_url": "https://pypi.org/project/bendercoder/", "platform": "", "project_url": "https://pypi.org/project/bendercoder/", "project_urls": { "Homepage": "https://github.com/m19t12/bendercoder" }, "release_url": "https://pypi.org/project/bendercoder/1.2.1/", "requires_dist": null, "requires_python": "", "summary": "Library for encoding and decoding bencode data.", "version": "1.2.1" }, "last_serial": 4335852, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "d6f98a032a0ed9f4a9c89fd8154d203b", "sha256": "db72462f103fc94d2e1297923bcb6c1367fc08defede07d323b5060a113c1601" }, "downloads": -1, "filename": "bendercoder-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d6f98a032a0ed9f4a9c89fd8154d203b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4854, "upload_time": "2018-09-21T13:13:29", "url": "https://files.pythonhosted.org/packages/39/58/5cd9e92eef30ab6f181f7efd172021556474efdef1208515b20fd5757bb6/bendercoder-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f8c6dbe55e440b101619319ddfb74d88", "sha256": "18280a339504b06a8fbe6021a5973fd8e988d5b005c24907991b3d994a61e3c4" }, "downloads": -1, "filename": "bendercoder-1.0.tar.gz", "has_sig": false, "md5_digest": "f8c6dbe55e440b101619319ddfb74d88", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3616, "upload_time": "2018-09-21T13:13:30", "url": "https://files.pythonhosted.org/packages/70/96/5a4b9d376ab08e54acae00806cdedc9a5f2d4770bf8150513c43dbfd0b25/bendercoder-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "597dfb977b12edc22eef3760e5b65b01", "sha256": "4f12299c38d5cbb6097fb5754f62cc6532b7f47d4ac779c96cab986ec1aa85a3" }, "downloads": -1, "filename": "bendercoder-1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "597dfb977b12edc22eef3760e5b65b01", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4928, "upload_time": "2018-10-01T14:26:38", "url": "https://files.pythonhosted.org/packages/39/f3/819be9560ccc56381040cc480693cec8312ed71d798661716e82df21f689/bendercoder-1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c7e46dbfc928205b3171f6eaa59db30a", "sha256": "05d4c898701cf4f2e147a9eab9b200e7ad76ed0bfb05566c0e2ed7ab45e1823e" }, "downloads": -1, "filename": "bendercoder-1.1.tar.gz", "has_sig": false, "md5_digest": "c7e46dbfc928205b3171f6eaa59db30a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3772, "upload_time": "2018-10-01T14:26:39", "url": "https://files.pythonhosted.org/packages/54/45/d963d86b31661049a310f974e8d4dac3f292e01a2aad4ec4a15996db5a07/bendercoder-1.1.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "63319996630f904bba8cba4e98be066b", "sha256": "0dcd42a4d3bb4aaa9296803ee3321f272144c42a510a68bcbf524c6e882ea889" }, "downloads": -1, "filename": "bendercoder-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "63319996630f904bba8cba4e98be066b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4947, "upload_time": "2018-10-01T14:31:45", "url": "https://files.pythonhosted.org/packages/f3/19/8e60934db07741d2c292f9ce562f4018cb2237fd25e2ef64dc8c0c13ff72/bendercoder-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e9f3a8631c6c0529082f9f1c5a5c0556", "sha256": "b9287a186b65cb9f37a6cc754824c3ecceba5331ad8cd4e92ac9859123b56bac" }, "downloads": -1, "filename": "bendercoder-1.1.1.tar.gz", "has_sig": false, "md5_digest": "e9f3a8631c6c0529082f9f1c5a5c0556", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3770, "upload_time": "2018-10-01T14:31:46", "url": "https://files.pythonhosted.org/packages/fa/11/e55b4f23fad2105cbbc9bae017d0392dbd5520093e1035557425acf7e659/bendercoder-1.1.1.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "02abc0fc6b840bfa53e074b647a7f835", "sha256": "04ceb77c53d834634cd4266459e93603af0e14b6e5c23c433ec6439f9725d34d" }, "downloads": -1, "filename": "bendercoder-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "02abc0fc6b840bfa53e074b647a7f835", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5447, "upload_time": "2018-10-03T09:14:48", "url": "https://files.pythonhosted.org/packages/52/6e/272e0a306fb5c2ab41e98d49958a411cf2caec16361fc33e63c94c1c08ce/bendercoder-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c895d3eeea599e9c65d5ecea1d5eeea", "sha256": "b85a8a56732a19853e277640cc752502c70c46fc6635580fc35cf32ae35807c3" }, "downloads": -1, "filename": "bendercoder-1.2.1.tar.gz", "has_sig": false, "md5_digest": "7c895d3eeea599e9c65d5ecea1d5eeea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3876, "upload_time": "2018-10-03T09:14:50", "url": "https://files.pythonhosted.org/packages/ea/31/71b06381a9aead39a32878cae0fc6ce7cc7e7fdf276231487687afebf2cc/bendercoder-1.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "02abc0fc6b840bfa53e074b647a7f835", "sha256": "04ceb77c53d834634cd4266459e93603af0e14b6e5c23c433ec6439f9725d34d" }, "downloads": -1, "filename": "bendercoder-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "02abc0fc6b840bfa53e074b647a7f835", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5447, "upload_time": "2018-10-03T09:14:48", "url": "https://files.pythonhosted.org/packages/52/6e/272e0a306fb5c2ab41e98d49958a411cf2caec16361fc33e63c94c1c08ce/bendercoder-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c895d3eeea599e9c65d5ecea1d5eeea", "sha256": "b85a8a56732a19853e277640cc752502c70c46fc6635580fc35cf32ae35807c3" }, "downloads": -1, "filename": "bendercoder-1.2.1.tar.gz", "has_sig": false, "md5_digest": "7c895d3eeea599e9c65d5ecea1d5eeea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3876, "upload_time": "2018-10-03T09:14:50", "url": "https://files.pythonhosted.org/packages/ea/31/71b06381a9aead39a32878cae0fc6ce7cc7e7fdf276231487687afebf2cc/bendercoder-1.2.1.tar.gz" } ] }