{ "info": { "author": "Valentin Samir", "author_email": "valentin.samir@crans.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: C", "Programming Language :: Cython", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Topic :: Communications :: File Sharing", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "btdht: A python implementation of the Bittorrent distributed hash table\r\n=======================================================================\r\n\r\n|github_version| |pypi_version| |licence| |doc|\r\n\r\nThe aim of btdht is to provide a powerful implementation of the Bittorrent\r\nmainline DHT easily extended to build application over the DHT.\r\nThe author currently uses it to crawl the dht and has been able to retrieve\r\nmore than 200.000 torrents files a day.\r\n\r\nThe implementation is fully compliant with the `BEP5 `_\r\nand the kademlia paper [#]_ (with a predominance of the BEP5 over the paper)\r\nFor example, this implementation uses a bucket-based approach for the routing table.\r\n\r\n\r\n.. contents:: Table of Contents\r\n\r\nDependencies\r\n------------\r\n\r\n* python 2.7 or 3.4 or above\r\n* `datrie `_\r\n* `netaddr `_\r\n\r\n\r\nBuild dependencies\r\n------------------\r\n\r\n* A C compiler\r\n* `cython `_\r\n* python header files\r\n\r\n\r\nInstallation\r\n------------\r\n\r\nThe recommended installation mode is to use a `virtualenv `__.\r\n\r\nTo Install ``btdht`` using the last published release, run::\r\n\r\n $ pip install btdht\r\n\r\nAlternatively if you want to use the version of the git repository, you can clone it::\r\n\r\n $ git clone https://github.com/nitmir/btdht\r\n $ cd btdht\r\n $ pip install -r requirements-dev.txt\r\n\r\nThen, run ``make install`` to compile the sources and create a python package and install it with pip.\r\n\r\nFor installing or building on linux and unix systems, you will need a C compiler and the python\r\nheaders (installing the packages ``build-essential`` and ``python-dev`` should be enough on debian\r\nlike systems, you'll probably gonna need ``make``, ``gcc``, ``python2-devel`` and ``redhat-rpm-config``\r\non centos like systems).\r\n\r\nOn windows systems, we provide pre-builded releases for python 2.7 and 3.5 so just running\r\n``pip install btdht`` should be fine. If you want to build from the sources of the repository or,\r\nfor another python version, you will also need a `C compiler `__.\r\n\r\n\r\nUsage examples\r\n--------------\r\n\r\nSearch for the peers announcing the torrent ``0403fb4728bd788fbcb67e87d6feb241ef38c75a``\r\n(`Ubuntu 16.10 Desktop (64-bit) `__)\r\n\r\n.. code-block:: python\r\n\r\n >>> import btdht\r\n >>> import binascii\r\n >>> dht = btdht.DHT()\r\n >>> dht.start() # now wait at least 15s for the dht to boostrap\r\n init socket for 4c323257aa6c4c5c6ccae118db93ccce5bb05d92\r\n Bootstraping\r\n >>> dht.get_peers(binascii.a2b_hex(\"0403fb4728bd788fbcb67e87d6feb241ef38c75a\"))\r\n [\r\n ('81.171.107.75', 17744),\r\n ('94.242.250.86', 3813),\r\n ('88.175.164.228', 32428),\r\n ('82.224.107.213', 61667),\r\n ('85.56.118.178', 6881),\r\n ('78.196.28.4', 38379),\r\n ('82.251.140.70', 32529),\r\n ('78.198.108.3', 10088),\r\n ('78.235.153.136', 10619),\r\n ('88.189.113.32', 33192),\r\n ('81.57.9.183', 5514),\r\n ('82.251.17.155', 14721),\r\n ('88.168.207.178', 31466),\r\n ('82.238.89.236', 32970),\r\n ('78.226.209.88', 2881),\r\n ('5.164.219.48', 6881),\r\n ('78.225.252.39', 31002)\r\n ]\r\n\r\nSubsequent calls to get_peers may return more peers.\r\n\r\nYou may also inherit ``btdht.DHT_BASE`` and overload some of the ``on_`msg`_(query|response)``\r\nfunctions. See the `doc `_ for a full overview of the ``btdht`` API.\r\n\r\n\r\n.. [#] Maymounkov, P., & Mazieres, D. (2002, March). Kademlia: A peer-to-peer information system\r\n based on the xor metric. In International Workshop on Peer-to-Peer Systems (pp. 53-65).\r\n Springer Berlin Heidelberg.\r\n\r\n\r\n.. |pypi_version| image:: https://badges.genua.fr/pypi/v/btdht.svg\r\n :target: https://pypi.python.org/pypi/btdht\r\n\r\n.. |github_version| image:: https://badges.genua.fr/github/tag/nitmir/btdht.svg?label=github\r\n :target: https://github.com/nitmir/btdht/releases/latest\r\n\r\n.. |licence| image:: https://badges.genua.fr/pypi/l/btdht.svg\r\n :target: https://www.gnu.org/licenses/gpl-3.0.html\r\n\r\n.. |doc| image:: https://badges.genua.fr/local/readthedocs/?version=latest\r\n :target: http://btdht.readthedocs.io\r\n\r\n\r\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/nitmir/btdht/releases/latest", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/nitmir/btdht/", "keywords": "", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "btdht", "package_url": "https://pypi.org/project/btdht/", "platform": "", "project_url": "https://pypi.org/project/btdht/", "project_urls": { "Download": "https://github.com/nitmir/btdht/releases/latest", "Homepage": "https://github.com/nitmir/btdht/" }, "release_url": "https://pypi.org/project/btdht/0.3.3/", "requires_dist": [ "datrie (>=0.7)", "netaddr (>=0.7.12)", "six (>=1.8)" ], "requires_python": "", "summary": "efficent full implementation of the bittorent mainline dht", "version": "0.3.3" }, "last_serial": 5829270, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "00dee83c41971c2437a1bcb9eead2a09", "sha256": "10d6ae0b6cc077c4b7119ffaef9c9a6d6b4c31616a9a4ff982f2fec628e4d844" }, "downloads": -1, "filename": "btdht-0.1.1.tar.gz", "has_sig": true, "md5_digest": "00dee83c41971c2437a1bcb9eead2a09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 433882, "upload_time": "2016-10-13T14:06:21", "url": "https://files.pythonhosted.org/packages/2a/31/2942d9bb4bd9d92195eb198c0b3b655e12ad845995d4d070d53790b3ecde/btdht-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "a5a4815541252f54a768363c13f1b51c", "sha256": "413089b509ef9570d1ac5a849b27f6ccafc81f89f8e49dbd6f68fc0ede2468d7" }, "downloads": -1, "filename": "btdht-0.2.0.tar.gz", "has_sig": true, "md5_digest": "a5a4815541252f54a768363c13f1b51c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 478396, "upload_time": "2016-11-18T19:09:16", "url": "https://files.pythonhosted.org/packages/0e/92/23df19ae6751252105a40431730649d00876a79b1c219d628a1e3fcbfccb/btdht-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "3d4def69dc70fb0664aac58c480bfdb9", "sha256": "fa9931a7f5812fe3c2c519ddc7411b8bbfdd5af946f09dbea60b82d5d667ed57" }, "downloads": -1, "filename": "btdht-0.3.0-cp27-cp27m-win32.whl", "has_sig": true, "md5_digest": "3d4def69dc70fb0664aac58c480bfdb9", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 934627, "upload_time": "2016-12-06T11:38:54", "url": "https://files.pythonhosted.org/packages/ff/b4/30175771f5d4a569a33b28b13a437d460fc117c40c259a83ab552c1c5296/btdht-0.3.0-cp27-cp27m-win32.whl" }, { "comment_text": "", "digests": { "md5": "f4d335a099791452c54e65e753e4b50d", "sha256": "781ece97f73e0b80961d5b8940d34ae0268da5ded54d6a353645f8376bcf6d8f" }, "downloads": -1, "filename": "btdht-0.3.0-cp27-cp27m-win_amd64.whl", "has_sig": true, "md5_digest": "f4d335a099791452c54e65e753e4b50d", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 992293, "upload_time": "2016-12-06T11:39:14", "url": "https://files.pythonhosted.org/packages/0a/21/6d27ee824a2a274592aa8336eb0433ec1e4f9b8a709a4532d1b1e2555e77/btdht-0.3.0-cp27-cp27m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "7b5341ef0e7562ac2407f24319946b7d", "sha256": "20f7e272ef9455bc9d4895706a7a1f974c85430064aa8c2a2a000d3bf41a6671" }, "downloads": -1, "filename": "btdht-0.3.0-cp35-cp35m-win32.whl", "has_sig": true, "md5_digest": "7b5341ef0e7562ac2407f24319946b7d", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 928046, "upload_time": "2016-12-06T11:39:33", "url": "https://files.pythonhosted.org/packages/e2/aa/049d250230871d7afc94f2990d847e867746a335acd6b5ba5f0f755dc4fb/btdht-0.3.0-cp35-cp35m-win32.whl" }, { "comment_text": "", "digests": { "md5": "e5758ba64a8f80d252187431995c083d", "sha256": "84e4e475a15ff4c7835cd029b6f88b4778259be44c91bbfca0cdf12532832d8a" }, "downloads": -1, "filename": "btdht-0.3.0-cp35-cp35m-win_amd64.whl", "has_sig": true, "md5_digest": "e5758ba64a8f80d252187431995c083d", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 962254, "upload_time": "2016-12-06T11:39:53", "url": "https://files.pythonhosted.org/packages/f6/e6/b95bd4e64707f0e23c349852ce5d37b338984601d605b6cf34ca9f45c5d4/btdht-0.3.0-cp35-cp35m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "1c05e9c2682575e9058c573e870bf379", "sha256": "5a157c43704b462573402808e2e75464e2f9a5d433d3f6e5b54489eb11fc63b7" }, "downloads": -1, "filename": "btdht-0.3.0.tar.gz", "has_sig": true, "md5_digest": "1c05e9c2682575e9058c573e870bf379", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 579959, "upload_time": "2016-12-06T11:40:07", "url": "https://files.pythonhosted.org/packages/37/c0/d923fef89ae99cc511a914ccbca4dfb6e8b0ff1bcebb59b6dcd793c8aa30/btdht-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "744f29066a1647bb40b00d123e4cd793", "sha256": "368394e5826250eb78c11c950e77626fbd72a5e6019da7e6cb44be202ffd3c15" }, "downloads": -1, "filename": "btdht-0.3.1-cp27-cp27m-win32.whl", "has_sig": true, "md5_digest": "744f29066a1647bb40b00d123e4cd793", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 1026925, "upload_time": "2017-02-13T15:11:53", "url": "https://files.pythonhosted.org/packages/64/43/b928888675395c21a5d0bb601986cf4c68ca86f35afb308102bbc0fe9d1a/btdht-0.3.1-cp27-cp27m-win32.whl" }, { "comment_text": "", "digests": { "md5": "837307b1553fc37e65f6992b79ebc52d", "sha256": "883215f31050619d28bc01fa2c5a3693e6ec230508ada3845557462c8a8a9ba3" }, "downloads": -1, "filename": "btdht-0.3.1-cp27-cp27m-win_amd64.whl", "has_sig": true, "md5_digest": "837307b1553fc37e65f6992b79ebc52d", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 1100445, "upload_time": "2017-02-13T15:12:23", "url": "https://files.pythonhosted.org/packages/69/38/0b36ed4c3ffcf48ed15bf4747230ecce0346b580fcbb7521884ffb9fd45e/btdht-0.3.1-cp27-cp27m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "3bd907c1ea633f7ff778f4180f72907f", "sha256": "edb7e2a245db300aed0c4e9215ad1b8d42d9234e0c18faf3a39ee0994ef35bf5" }, "downloads": -1, "filename": "btdht-0.3.1-cp35-cp35m-win32.whl", "has_sig": true, "md5_digest": "3bd907c1ea633f7ff778f4180f72907f", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 1007440, "upload_time": "2017-02-13T15:12:51", "url": "https://files.pythonhosted.org/packages/74/64/366b9ed6b01f37435b898e5e65d4f058d765ff35f9ce68d774586ed62499/btdht-0.3.1-cp35-cp35m-win32.whl" }, { "comment_text": "", "digests": { "md5": "e29cc6d4d030d14dc9fdbb61e99c6d38", "sha256": "c0631835ac45956337da7456ebf251b3e81528398417a54afb1e57101f11c432" }, "downloads": -1, "filename": "btdht-0.3.1-cp35-cp35m-win_amd64.whl", "has_sig": true, "md5_digest": "e29cc6d4d030d14dc9fdbb61e99c6d38", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 1066806, "upload_time": "2017-02-13T15:13:21", "url": "https://files.pythonhosted.org/packages/3c/d9/556447eecc5ed15b9971b49e161bc11850eb728b3a6bfc8ab27a6ab57160/btdht-0.3.1-cp35-cp35m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "2efafde1b136455d947a0b6e543c506f", "sha256": "639253291b99ce1d752b307d2f49474f191539aca0902a0f6cad1df3417cbd09" }, "downloads": -1, "filename": "btdht-0.3.1.tar.gz", "has_sig": true, "md5_digest": "2efafde1b136455d947a0b6e543c506f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 605564, "upload_time": "2017-02-13T15:13:40", "url": "https://files.pythonhosted.org/packages/86/42/7f553bef69cc5e8df6410f1674d611d23eb60962195c4d93c6c23bb688a6/btdht-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "4e11944f2313bf04e725a85f30d3eea2", "sha256": "7aa7d1391ab30bae8428dfaf360c2500d038b57c34f6bebbbf87c1e1a29e9079" }, "downloads": -1, "filename": "btdht-0.3.2-cp27-cp27m-win32.whl", "has_sig": true, "md5_digest": "4e11944f2313bf04e725a85f30d3eea2", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 1027464, "upload_time": "2018-03-03T09:56:31", "url": "https://files.pythonhosted.org/packages/ef/b1/7acc9d66225c74dfb22abace921b6f266daf790f4667e43e91990ee48226/btdht-0.3.2-cp27-cp27m-win32.whl" }, { "comment_text": "", "digests": { "md5": "91340ba4a0cd95113475af91f24a0387", "sha256": "479a754c2bdfaa904555bf93fa49ef182476d17ddfb2aa2743e57de12caa17aa" }, "downloads": -1, "filename": "btdht-0.3.2-cp27-cp27m-win_amd64.whl", "has_sig": true, "md5_digest": "91340ba4a0cd95113475af91f24a0387", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 1101571, "upload_time": "2018-03-03T09:56:54", "url": "https://files.pythonhosted.org/packages/c4/26/b2a7d8ca79d055d8f415767828af0bd25dd2a2ff8683c43b8695fef998db/btdht-0.3.2-cp27-cp27m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "c7a5ea4005eb33187e4023b68f55a5a5", "sha256": "cfdb578677b1d8d55a15953623a305116e2474b0ebb5a94f2d22acab6201f989" }, "downloads": -1, "filename": "btdht-0.3.2-cp35-cp35m-win32.whl", "has_sig": true, "md5_digest": "c7a5ea4005eb33187e4023b68f55a5a5", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 1008409, "upload_time": "2018-03-03T09:57:17", "url": "https://files.pythonhosted.org/packages/c3/f8/2dcb6537b0b2e874dfaff4f995f54f5538fb96e170aff89da9772819c5ec/btdht-0.3.2-cp35-cp35m-win32.whl" }, { "comment_text": "", "digests": { "md5": "36ce425f6082301656e0d8e634fee65d", "sha256": "3964ab2a27294ab613fc6ea6d932bc230b99c1908be00a63ba565cbe9cb6ccdf" }, "downloads": -1, "filename": "btdht-0.3.2-cp35-cp35m-win_amd64.whl", "has_sig": true, "md5_digest": "36ce425f6082301656e0d8e634fee65d", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 1067916, "upload_time": "2018-03-03T09:57:40", "url": "https://files.pythonhosted.org/packages/b8/cd/403f9791d03877e7ead706b8d1651c61fddc13f7f5a16f445a364f82fa27/btdht-0.3.2-cp35-cp35m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "0a00e11e33dc105b1163d4588920fe8c", "sha256": "55efceaed699914a736d61a60b4f95131bbff3cfb1b04ee62e4df6168905e85f" }, "downloads": -1, "filename": "btdht-0.3.2-cp36-cp36m-win32.whl", "has_sig": true, "md5_digest": "0a00e11e33dc105b1163d4588920fe8c", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 1023786, "upload_time": "2018-03-03T09:58:03", "url": "https://files.pythonhosted.org/packages/00/ea/f9747e1a453de24f202b55a441706c5848ca61e83bf0a6be6c6d3baffff9/btdht-0.3.2-cp36-cp36m-win32.whl" }, { "comment_text": "", "digests": { "md5": "e9763980881bbc42d2b9c55c0e23e46e", "sha256": "01926d42f4218e5290ae0d45dd343235985da888c0fb23f174c858689a2c8caa" }, "downloads": -1, "filename": "btdht-0.3.2-cp36-cp36m-win_amd64.whl", "has_sig": true, "md5_digest": "e9763980881bbc42d2b9c55c0e23e46e", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 1086673, "upload_time": "2018-03-03T09:58:25", "url": "https://files.pythonhosted.org/packages/0c/f7/9067f1cad4151dfc1d1ef65a37a486efa5d78f0180a5c9e7a6b341324b63/btdht-0.3.2-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "7cd97f173db84e4f57dae6f82d87df31", "sha256": "f134f0dc1a135fcf36abc4889d9343190526a8e02145323df368b1dd9f3882cb" }, "downloads": -1, "filename": "btdht-0.3.2.tar.gz", "has_sig": true, "md5_digest": "7cd97f173db84e4f57dae6f82d87df31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 606146, "upload_time": "2018-03-03T09:58:39", "url": "https://files.pythonhosted.org/packages/ff/74/4449f3e7589cab22649ddecc75667b6053d92049a063fd4f9afa8380f889/btdht-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "06f1852c499602042668270806490308", "sha256": "ec94e760e8311b8d0d5d064a163d8e3acecd6cb04f749a99e2a4e7fd858d0a60" }, "downloads": -1, "filename": "btdht-0.3.3-cp27-cp27m-manylinux1_x86_64.whl", "has_sig": true, "md5_digest": "06f1852c499602042668270806490308", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 2789971, "upload_time": "2019-09-14T13:30:04", "url": "https://files.pythonhosted.org/packages/f4/46/03faa1f6eea8c3f780d638ec5cfd11d6e328a38f717470460175251cce2a/btdht-0.3.3-cp27-cp27m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "aa13d9c0114e1f865316e9fd1335c3c9", "sha256": "5b2d357550a07c0fe649ae463f6fd47d4bd41393832fa195e0ecab4f81bb8287" }, "downloads": -1, "filename": "btdht-0.3.3-cp27-cp27mu-manylinux1_x86_64.whl", "has_sig": true, "md5_digest": "aa13d9c0114e1f865316e9fd1335c3c9", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 2790287, "upload_time": "2019-09-14T13:30:07", "url": "https://files.pythonhosted.org/packages/d2/b1/6f1ec70b9ca78828e22ce5b10e6a8d0717c9bb5fe55c82160fb9a7cb9919/btdht-0.3.3-cp27-cp27mu-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "a950631c220491108026778383ff9e70", "sha256": "1639e43761cab6c2a227aa17bede6700f6bcbaf181510db559c9afefe76c8f54" }, "downloads": -1, "filename": "btdht-0.3.3-cp27-cp27m-win32.whl", "has_sig": true, "md5_digest": "a950631c220491108026778383ff9e70", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 1035518, "upload_time": "2019-09-14T09:35:22", "url": "https://files.pythonhosted.org/packages/95/52/41a267a3a9c494369a595850ea6a12d35898f2398659d4ef73cb14d89ac5/btdht-0.3.3-cp27-cp27m-win32.whl" }, { "comment_text": "", "digests": { "md5": "4a7be1942e88edfa98d300ad1251c7b3", "sha256": "7e60a2e1b1af1ebe296754cc46e833588a43540ae3c140daf5e3194cb27bb7b1" }, "downloads": -1, "filename": "btdht-0.3.3-cp27-cp27m-win_amd64.whl", "has_sig": true, "md5_digest": "4a7be1942e88edfa98d300ad1251c7b3", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 1114466, "upload_time": "2019-09-14T09:35:25", "url": "https://files.pythonhosted.org/packages/c6/0d/38d320f0573ef3fbf3773ee04f354a09aa1313950713a7f13f717070edf5/btdht-0.3.3-cp27-cp27m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "d4c6fbd6a6bae1ece9fe6ce9ecdc2ecc", "sha256": "b2f3be281853273d8d90b42095c6f81e26e53d10745a9875f649a184dbcc3b08" }, "downloads": -1, "filename": "btdht-0.3.3-cp34-cp34m-manylinux1_x86_64.whl", "has_sig": true, "md5_digest": "d4c6fbd6a6bae1ece9fe6ce9ecdc2ecc", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": null, "size": 3287771, "upload_time": "2019-09-14T13:30:11", "url": "https://files.pythonhosted.org/packages/82/98/f752f523a207254d1d7a1790556679016f107e3d10c9b183706028e2ff89/btdht-0.3.3-cp34-cp34m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "33f77ef8f422ff9cc7d8bf9490e6a037", "sha256": "135bac88ca4a38a028860a6361ca447d426c370e0245cb64da5c9b8c517aba62" }, "downloads": -1, "filename": "btdht-0.3.3-cp35-cp35m-manylinux1_x86_64.whl", "has_sig": true, "md5_digest": "33f77ef8f422ff9cc7d8bf9490e6a037", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 3235477, "upload_time": "2019-09-14T13:30:14", "url": "https://files.pythonhosted.org/packages/80/c4/37332a09b46db905004f9b97c04995cdbf4d9445851f03bb76d143d1505c/btdht-0.3.3-cp35-cp35m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "21725f9d2754c40494700d3a39aa7bf8", "sha256": "a4b8d800bd6ebe54161bb7702ec0ffdb077aad1440da842c74d5790735c0552b" }, "downloads": -1, "filename": "btdht-0.3.3-cp35-cp35m-win32.whl", "has_sig": true, "md5_digest": "21725f9d2754c40494700d3a39aa7bf8", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 1022205, "upload_time": "2019-09-14T09:35:28", "url": "https://files.pythonhosted.org/packages/15/a4/020d600b5d42a6fad0dca166194d0f7aa4bc07cd1799161bf4fd8b2bba77/btdht-0.3.3-cp35-cp35m-win32.whl" }, { "comment_text": "", "digests": { "md5": "87525d1a89c9d8a8075a01bcc40e3482", "sha256": "7b243e0752d81dd07c9261a77405e62e246986a55a3d0b7be5a429ba5a4c61ca" }, "downloads": -1, "filename": "btdht-0.3.3-cp35-cp35m-win_amd64.whl", "has_sig": true, "md5_digest": "87525d1a89c9d8a8075a01bcc40e3482", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 1091035, "upload_time": "2019-09-14T09:35:31", "url": "https://files.pythonhosted.org/packages/69/a2/aa09bfb43af5d89f307ecacfc8a2292433fa3a1094e9cf62a2e4d2c62ab7/btdht-0.3.3-cp35-cp35m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "379832aecc050f42fe97662ae9e562fb", "sha256": "dc243a1b49c69ff9677fe67ff0dff8ae09fe9729b64dfcccda7c3fa2daed35fb" }, "downloads": -1, "filename": "btdht-0.3.3-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": true, "md5_digest": "379832aecc050f42fe97662ae9e562fb", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 3368716, "upload_time": "2019-09-14T13:30:18", "url": "https://files.pythonhosted.org/packages/1f/98/f570292434e3d563e7194d23b6964705940add60c622e79495f27d0d4fb3/btdht-0.3.3-cp36-cp36m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "a932ffd6f4c4cf9e957f3253cf19e807", "sha256": "8b40f02938136e74abdedab5a9c968c27e49da4e0b6ca4a132fcaf77c205d4f5" }, "downloads": -1, "filename": "btdht-0.3.3-cp36-cp36m-win32.whl", "has_sig": true, "md5_digest": "a932ffd6f4c4cf9e957f3253cf19e807", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 1045696, "upload_time": "2019-09-14T09:35:34", "url": "https://files.pythonhosted.org/packages/29/e1/da13e4c950e906a0dcb10f79d692e63bdd50b6508921fc770ec87a1d3f25/btdht-0.3.3-cp36-cp36m-win32.whl" }, { "comment_text": "", "digests": { "md5": "88fb9249a6e5a8a37e96a0f647d8f898", "sha256": "08276276a9daa4bfeca453cdce53157ca21da3ef67bb47822f9a5cb748f11557" }, "downloads": -1, "filename": "btdht-0.3.3-cp36-cp36m-win_amd64.whl", "has_sig": true, "md5_digest": "88fb9249a6e5a8a37e96a0f647d8f898", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 1116023, "upload_time": "2019-09-14T09:35:37", "url": "https://files.pythonhosted.org/packages/b4/bf/960784d64e4894b63359b2ebc872bc12022f8b5bdba37055c3bf682f0858/btdht-0.3.3-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "55a930ef2136008420ae0554d91f296e", "sha256": "8d4448347ba06e1a15cdda9438187973237ce587a33f6a1da32a0aeee7995142" }, "downloads": -1, "filename": "btdht-0.3.3-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": true, "md5_digest": "55a930ef2136008420ae0554d91f296e", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 3321854, "upload_time": "2019-09-14T13:30:21", "url": "https://files.pythonhosted.org/packages/5c/be/4a3d8e70f4e2bb0fe454c6f1c42e497fe8eb49483461623f7067bd05dc3c/btdht-0.3.3-cp37-cp37m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "0973eac982ce1760f6e1d122f09d22b6", "sha256": "fda6d26e71eb832db7269ffbc14167abd25f869497f0d2056fddb888b81080f4" }, "downloads": -1, "filename": "btdht-0.3.3-cp37-cp37m-win32.whl", "has_sig": true, "md5_digest": "0973eac982ce1760f6e1d122f09d22b6", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 1045232, "upload_time": "2019-09-14T09:35:40", "url": "https://files.pythonhosted.org/packages/2e/84/b80ea35f1d9e219027e7754039f91508a0a49872ab937acebc2571467ca0/btdht-0.3.3-cp37-cp37m-win32.whl" }, { "comment_text": "", "digests": { "md5": "95d448266ddcaa8d2d4707142d9ee250", "sha256": "c7e6095cf0c4c5662d207f3a672dff57255ffca0db5fcc2c83028a7a99f16147" }, "downloads": -1, "filename": "btdht-0.3.3-cp37-cp37m-win_amd64.whl", "has_sig": true, "md5_digest": "95d448266ddcaa8d2d4707142d9ee250", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 1117555, "upload_time": "2019-09-14T09:35:43", "url": "https://files.pythonhosted.org/packages/f3/6e/2f6e7dd94c38d1a46c3befcf6d412f63c8a69381011a018ac3dbf1d65791/btdht-0.3.3-cp37-cp37m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "4dda0d09a9f537cb60e8cb328dcc7cd5", "sha256": "84ac598a13e1b732246c74724face46c05013da810b473d02cf539a4c70fd2a8" }, "downloads": -1, "filename": "btdht-0.3.3.tar.gz", "has_sig": true, "md5_digest": "4dda0d09a9f537cb60e8cb328dcc7cd5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 618498, "upload_time": "2019-09-14T09:35:51", "url": "https://files.pythonhosted.org/packages/a9/c7/96ef205f25ac29224f6a04a3d1236b42f835d7d872a674b39077649d83e0/btdht-0.3.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "06f1852c499602042668270806490308", "sha256": "ec94e760e8311b8d0d5d064a163d8e3acecd6cb04f749a99e2a4e7fd858d0a60" }, "downloads": -1, "filename": "btdht-0.3.3-cp27-cp27m-manylinux1_x86_64.whl", "has_sig": true, "md5_digest": "06f1852c499602042668270806490308", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 2789971, "upload_time": "2019-09-14T13:30:04", "url": "https://files.pythonhosted.org/packages/f4/46/03faa1f6eea8c3f780d638ec5cfd11d6e328a38f717470460175251cce2a/btdht-0.3.3-cp27-cp27m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "aa13d9c0114e1f865316e9fd1335c3c9", "sha256": "5b2d357550a07c0fe649ae463f6fd47d4bd41393832fa195e0ecab4f81bb8287" }, "downloads": -1, "filename": "btdht-0.3.3-cp27-cp27mu-manylinux1_x86_64.whl", "has_sig": true, "md5_digest": "aa13d9c0114e1f865316e9fd1335c3c9", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 2790287, "upload_time": "2019-09-14T13:30:07", "url": "https://files.pythonhosted.org/packages/d2/b1/6f1ec70b9ca78828e22ce5b10e6a8d0717c9bb5fe55c82160fb9a7cb9919/btdht-0.3.3-cp27-cp27mu-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "a950631c220491108026778383ff9e70", "sha256": "1639e43761cab6c2a227aa17bede6700f6bcbaf181510db559c9afefe76c8f54" }, "downloads": -1, "filename": "btdht-0.3.3-cp27-cp27m-win32.whl", "has_sig": true, "md5_digest": "a950631c220491108026778383ff9e70", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 1035518, "upload_time": "2019-09-14T09:35:22", "url": "https://files.pythonhosted.org/packages/95/52/41a267a3a9c494369a595850ea6a12d35898f2398659d4ef73cb14d89ac5/btdht-0.3.3-cp27-cp27m-win32.whl" }, { "comment_text": "", "digests": { "md5": "4a7be1942e88edfa98d300ad1251c7b3", "sha256": "7e60a2e1b1af1ebe296754cc46e833588a43540ae3c140daf5e3194cb27bb7b1" }, "downloads": -1, "filename": "btdht-0.3.3-cp27-cp27m-win_amd64.whl", "has_sig": true, "md5_digest": "4a7be1942e88edfa98d300ad1251c7b3", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 1114466, "upload_time": "2019-09-14T09:35:25", "url": "https://files.pythonhosted.org/packages/c6/0d/38d320f0573ef3fbf3773ee04f354a09aa1313950713a7f13f717070edf5/btdht-0.3.3-cp27-cp27m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "d4c6fbd6a6bae1ece9fe6ce9ecdc2ecc", "sha256": "b2f3be281853273d8d90b42095c6f81e26e53d10745a9875f649a184dbcc3b08" }, "downloads": -1, "filename": "btdht-0.3.3-cp34-cp34m-manylinux1_x86_64.whl", "has_sig": true, "md5_digest": "d4c6fbd6a6bae1ece9fe6ce9ecdc2ecc", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": null, "size": 3287771, "upload_time": "2019-09-14T13:30:11", "url": "https://files.pythonhosted.org/packages/82/98/f752f523a207254d1d7a1790556679016f107e3d10c9b183706028e2ff89/btdht-0.3.3-cp34-cp34m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "33f77ef8f422ff9cc7d8bf9490e6a037", "sha256": "135bac88ca4a38a028860a6361ca447d426c370e0245cb64da5c9b8c517aba62" }, "downloads": -1, "filename": "btdht-0.3.3-cp35-cp35m-manylinux1_x86_64.whl", "has_sig": true, "md5_digest": "33f77ef8f422ff9cc7d8bf9490e6a037", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 3235477, "upload_time": "2019-09-14T13:30:14", "url": "https://files.pythonhosted.org/packages/80/c4/37332a09b46db905004f9b97c04995cdbf4d9445851f03bb76d143d1505c/btdht-0.3.3-cp35-cp35m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "21725f9d2754c40494700d3a39aa7bf8", "sha256": "a4b8d800bd6ebe54161bb7702ec0ffdb077aad1440da842c74d5790735c0552b" }, "downloads": -1, "filename": "btdht-0.3.3-cp35-cp35m-win32.whl", "has_sig": true, "md5_digest": "21725f9d2754c40494700d3a39aa7bf8", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 1022205, "upload_time": "2019-09-14T09:35:28", "url": "https://files.pythonhosted.org/packages/15/a4/020d600b5d42a6fad0dca166194d0f7aa4bc07cd1799161bf4fd8b2bba77/btdht-0.3.3-cp35-cp35m-win32.whl" }, { "comment_text": "", "digests": { "md5": "87525d1a89c9d8a8075a01bcc40e3482", "sha256": "7b243e0752d81dd07c9261a77405e62e246986a55a3d0b7be5a429ba5a4c61ca" }, "downloads": -1, "filename": "btdht-0.3.3-cp35-cp35m-win_amd64.whl", "has_sig": true, "md5_digest": "87525d1a89c9d8a8075a01bcc40e3482", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 1091035, "upload_time": "2019-09-14T09:35:31", "url": "https://files.pythonhosted.org/packages/69/a2/aa09bfb43af5d89f307ecacfc8a2292433fa3a1094e9cf62a2e4d2c62ab7/btdht-0.3.3-cp35-cp35m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "379832aecc050f42fe97662ae9e562fb", "sha256": "dc243a1b49c69ff9677fe67ff0dff8ae09fe9729b64dfcccda7c3fa2daed35fb" }, "downloads": -1, "filename": "btdht-0.3.3-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": true, "md5_digest": "379832aecc050f42fe97662ae9e562fb", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 3368716, "upload_time": "2019-09-14T13:30:18", "url": "https://files.pythonhosted.org/packages/1f/98/f570292434e3d563e7194d23b6964705940add60c622e79495f27d0d4fb3/btdht-0.3.3-cp36-cp36m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "a932ffd6f4c4cf9e957f3253cf19e807", "sha256": "8b40f02938136e74abdedab5a9c968c27e49da4e0b6ca4a132fcaf77c205d4f5" }, "downloads": -1, "filename": "btdht-0.3.3-cp36-cp36m-win32.whl", "has_sig": true, "md5_digest": "a932ffd6f4c4cf9e957f3253cf19e807", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 1045696, "upload_time": "2019-09-14T09:35:34", "url": "https://files.pythonhosted.org/packages/29/e1/da13e4c950e906a0dcb10f79d692e63bdd50b6508921fc770ec87a1d3f25/btdht-0.3.3-cp36-cp36m-win32.whl" }, { "comment_text": "", "digests": { "md5": "88fb9249a6e5a8a37e96a0f647d8f898", "sha256": "08276276a9daa4bfeca453cdce53157ca21da3ef67bb47822f9a5cb748f11557" }, "downloads": -1, "filename": "btdht-0.3.3-cp36-cp36m-win_amd64.whl", "has_sig": true, "md5_digest": "88fb9249a6e5a8a37e96a0f647d8f898", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 1116023, "upload_time": "2019-09-14T09:35:37", "url": "https://files.pythonhosted.org/packages/b4/bf/960784d64e4894b63359b2ebc872bc12022f8b5bdba37055c3bf682f0858/btdht-0.3.3-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "55a930ef2136008420ae0554d91f296e", "sha256": "8d4448347ba06e1a15cdda9438187973237ce587a33f6a1da32a0aeee7995142" }, "downloads": -1, "filename": "btdht-0.3.3-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": true, "md5_digest": "55a930ef2136008420ae0554d91f296e", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 3321854, "upload_time": "2019-09-14T13:30:21", "url": "https://files.pythonhosted.org/packages/5c/be/4a3d8e70f4e2bb0fe454c6f1c42e497fe8eb49483461623f7067bd05dc3c/btdht-0.3.3-cp37-cp37m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "0973eac982ce1760f6e1d122f09d22b6", "sha256": "fda6d26e71eb832db7269ffbc14167abd25f869497f0d2056fddb888b81080f4" }, "downloads": -1, "filename": "btdht-0.3.3-cp37-cp37m-win32.whl", "has_sig": true, "md5_digest": "0973eac982ce1760f6e1d122f09d22b6", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 1045232, "upload_time": "2019-09-14T09:35:40", "url": "https://files.pythonhosted.org/packages/2e/84/b80ea35f1d9e219027e7754039f91508a0a49872ab937acebc2571467ca0/btdht-0.3.3-cp37-cp37m-win32.whl" }, { "comment_text": "", "digests": { "md5": "95d448266ddcaa8d2d4707142d9ee250", "sha256": "c7e6095cf0c4c5662d207f3a672dff57255ffca0db5fcc2c83028a7a99f16147" }, "downloads": -1, "filename": "btdht-0.3.3-cp37-cp37m-win_amd64.whl", "has_sig": true, "md5_digest": "95d448266ddcaa8d2d4707142d9ee250", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 1117555, "upload_time": "2019-09-14T09:35:43", "url": "https://files.pythonhosted.org/packages/f3/6e/2f6e7dd94c38d1a46c3befcf6d412f63c8a69381011a018ac3dbf1d65791/btdht-0.3.3-cp37-cp37m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "4dda0d09a9f537cb60e8cb328dcc7cd5", "sha256": "84ac598a13e1b732246c74724face46c05013da810b473d02cf539a4c70fd2a8" }, "downloads": -1, "filename": "btdht-0.3.3.tar.gz", "has_sig": true, "md5_digest": "4dda0d09a9f537cb60e8cb328dcc7cd5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 618498, "upload_time": "2019-09-14T09:35:51", "url": "https://files.pythonhosted.org/packages/a9/c7/96ef205f25ac29224f6a04a3d1236b42f835d7d872a674b39077649d83e0/btdht-0.3.3.tar.gz" } ] }