{ "info": { "author": "whtsky", "author_email": "whtsky@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Other Environment", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: Implementation :: CPython" ], "description": "Maga\n====\n\n\nA DHT crawler framework using asyncio.\n\n\nUsage\n-----\n.. code-block:: python\n\n from maga import Maga\n \n import logging\n logging.basicConfig(level=logging.INFO)\n \n \n class Crawler(Maga):\n async def handler(self, infohash, addr):\n logging.info(addr)\n logging.info(infohash)\n\n\n # Or, if you want to have more control\n\n class Crawler(Maga):\n async def handle_get_peers(self, infohash, addr):\n logging.info(\n \"Receive get peers message from DHT {}. Infohash: {}.\".format(\n addr, infohash\n )\n )\n\n async def handle_announce_peer(self, infohash, addr, peer_addr):\n logging.info(\n \"Receive announce peer message from DHT {}. Infohash: {}. Peer address:{}\".format(\n addr, infohash, peer_addr\n )\n )\n\n\n crawler = Crawler()\n # Set port to 0 will use a random available port\n crawler.run(port=0)\n\n\nChangeLog\n----------\n\nVersion 3.0.0\n~~~~~~~~~~~~~~~\n\n+ Add `peer_addr` param to `handle_announce_peer` method.\n+ Don't raise NotImplementedError on `handler`\n\nVersion 2.0.1\n~~~~~~~~~~~~~~~\n\n+ Don't fail when signals are not implemented.( `#3 `_ )\n\nVersion 2.0.0\n~~~~~~~~~~~~~~~\n\n+ Add `handle_get_peers`, `handle_announce_peer` method.\n+ Add `addr` param to `handler`", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/whtsky/maga", "keywords": "dht,asyncio,crawler,bt,kad", "license": "BSDv3", "maintainer": null, "maintainer_email": null, "name": "Maga", "package_url": "https://pypi.org/project/Maga/", "platform": "any", "project_url": "https://pypi.org/project/Maga/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/whtsky/maga" }, "release_url": "https://pypi.org/project/Maga/3.0.0/", "requires_dist": null, "requires_python": null, "summary": "A DHT crawler framework using asyncio.", "version": "3.0.0" }, "last_serial": 2282304, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "7eee19e13a722d81f78b13be952a1d25", "sha256": "466897a17fd048ebd3cecff0f65725b58597ae2453eee8d4839514739a0a8f62" }, "downloads": -1, "filename": "Maga-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7eee19e13a722d81f78b13be952a1d25", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4162, "upload_time": "2016-01-28T11:59:09", "url": "https://files.pythonhosted.org/packages/3d/fd/7ac29023a67c9c5f6f2c531c8645820b14db8a548279a6be9ece77e8c361/Maga-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "19c7b5e41e94316be2bc2c207fbd27f2", "sha256": "d088e4fecbfc177b03d1cd7f59c64167f182af665e79571391e0541d80fc0068" }, "downloads": -1, "filename": "Maga-1.0.0.zip", "has_sig": false, "md5_digest": "19c7b5e41e94316be2bc2c207fbd27f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6067, "upload_time": "2016-01-28T11:57:54", "url": "https://files.pythonhosted.org/packages/cb/23/02a072eb2400d420d71f4d453ae19e7f0811a88900c4092ae7d2ee02cd26/Maga-1.0.0.zip" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "26976b9787159018f88cf3bb82d99b81", "sha256": "e0d27fe6586f553d423518d8064f9b086c3d99fb90853d9e67cdec1ccf8cfbda" }, "downloads": -1, "filename": "Maga-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "26976b9787159018f88cf3bb82d99b81", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 4147, "upload_time": "2016-01-30T14:13:28", "url": "https://files.pythonhosted.org/packages/e3/01/99af4cb999577134c5385a30d0dea0d617caab6a0eb703873be454ccce71/Maga-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1adf4a310d1a453b9a2dd525b8eb42da", "sha256": "719621f44b4749f26f3064c2a9a84264530a9e39e5d1fbada7dadd1671116d71" }, "downloads": -1, "filename": "Maga-1.1.0.tar.gz", "has_sig": false, "md5_digest": "1adf4a310d1a453b9a2dd525b8eb42da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3910, "upload_time": "2016-01-30T14:13:22", "url": "https://files.pythonhosted.org/packages/ec/20/fc0a7fec747ce4c8c9d3423b56d9b2450bb5a09492bb1ee4b1372a13e5ab/Maga-1.1.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "b89f574b05e57d83c76fec241dc05ffc", "sha256": "72ce7d9280f918597840cbfd46aa1315ef2e3777848bc4314855f90a5f7a2cba" }, "downloads": -1, "filename": "Maga-1.1.0.zip", "has_sig": false, "md5_digest": "b89f574b05e57d83c76fec241dc05ffc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6052, "upload_time": "2016-01-30T14:13:14", "url": "https://files.pythonhosted.org/packages/cd/24/e755f1bc692890ecbc0db982489c765cc2c1c656cf4c742fc1cbe6b648ed/Maga-1.1.0.zip" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "9a23164ed9090061d73764c0d341ac55", "sha256": "4b7d071effdfd1acc08ec29fe5f69f1a1a318100919babd59fcca8e793bf9db3" }, "downloads": -1, "filename": "Maga-2.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9a23164ed9090061d73764c0d341ac55", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 4416, "upload_time": "2016-04-27T23:57:37", "url": "https://files.pythonhosted.org/packages/bd/f5/45177e5e1b63149f9144a8b300880db8711cb64273c4112b7e2819cc3de4/Maga-2.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8e51c56922e8d4dca804d71059d70dff", "sha256": "4f00621ab29fd325edfba72005c0f6e5489a15a5026e0894c634586e9912068b" }, "downloads": -1, "filename": "Maga-2.0.0.tar.gz", "has_sig": false, "md5_digest": "8e51c56922e8d4dca804d71059d70dff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4093, "upload_time": "2016-04-27T23:57:08", "url": "https://files.pythonhosted.org/packages/dc/33/97c3685fcc129d81f724274bcc1f8662b3aa67e0a3176777b4ced3d6a6af/Maga-2.0.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "53e8fae2493108180577c3ae5619b0b9", "sha256": "58b531df8ee3b81803558501d9dd772cbef339ff1afacfe6b5bb477800069443" }, "downloads": -1, "filename": "Maga-2.0.0.zip", "has_sig": false, "md5_digest": "53e8fae2493108180577c3ae5619b0b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6462, "upload_time": "2016-04-27T23:56:52", "url": "https://files.pythonhosted.org/packages/f2/92/4a4d4d1cde8551396cc9dbb31622c948e56e947aacf399200760512d7bde/Maga-2.0.0.zip" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "589ac99a8329c9a942c172f857d4321c", "sha256": "0cdcb55db1fd2798e199745a3e1949f537ffa394515028cdbba36a309d4969ea" }, "downloads": -1, "filename": "Maga-2.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "589ac99a8329c9a942c172f857d4321c", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 4420, "upload_time": "2016-05-10T05:02:39", "url": "https://files.pythonhosted.org/packages/b7/9c/1a5f66ff45685038c24e7033a4471d9969bd7cba7b8270b77bda269155ff/Maga-2.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "173c92b9a7310784f4424de0a3f6b260", "sha256": "7930d1206c468bac44a334de5f1d0697b35c1e4c18b56a65076e27662ba3d451" }, "downloads": -1, "filename": "Maga-2.0.1.tar.gz", "has_sig": false, "md5_digest": "173c92b9a7310784f4424de0a3f6b260", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4093, "upload_time": "2016-05-10T05:02:32", "url": "https://files.pythonhosted.org/packages/f2/65/b5fbf7145d3b7e097bbf7950672d1d2906ac1e31e7bd2a12d938e46ee32c/Maga-2.0.1.tar.gz" }, { "comment_text": "", "digests": { "md5": "208ef9e94e304550b3a3185f8d626edd", "sha256": "e59adcb20ce81c6f90846ec35dc9d5b9c947702fd5765619a8ebf2c264c7e950" }, "downloads": -1, "filename": "Maga-2.0.1.zip", "has_sig": false, "md5_digest": "208ef9e94e304550b3a3185f8d626edd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6465, "upload_time": "2016-05-10T05:02:24", "url": "https://files.pythonhosted.org/packages/5a/f5/df13046268f8a893aeed94422a4d232e78a7e4ca5794fba5ecf77236b5c4/Maga-2.0.1.zip" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "f501f20054475f752e6f6047bb4c7fdf", "sha256": "b955137d818325399c81c1a45fd380fcc6510a715be7eab533f6a0bafd20ad0f" }, "downloads": -1, "filename": "Maga-3.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f501f20054475f752e6f6047bb4c7fdf", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 4932, "upload_time": "2016-08-15T15:06:14", "url": "https://files.pythonhosted.org/packages/7b/ac/0de163f6cb7a6e3082fae3ffbed46116537c19d85eac423a0dc834ba966a/Maga-3.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c10fc4250e9f69e19e385ca6e04e1fc", "sha256": "d9278c3c57ae653b5d6fe01790ef7f93d98ca258eba128a4d974d8e81fc36a91" }, "downloads": -1, "filename": "Maga-3.0.0.tar.gz", "has_sig": false, "md5_digest": "0c10fc4250e9f69e19e385ca6e04e1fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4383, "upload_time": "2016-08-15T15:06:10", "url": "https://files.pythonhosted.org/packages/0e/85/875d75198325ce30b2fce20332fed281ed1dcc64d0d45d96ad99fab31fec/Maga-3.0.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "9cd16f175a4cc76e804ec632be93d6ee", "sha256": "c913766318c34f5c51f3456f23861445d9c2c1890fe98c471d20fa0d48e38aaf" }, "downloads": -1, "filename": "Maga-3.0.0.zip", "has_sig": false, "md5_digest": "9cd16f175a4cc76e804ec632be93d6ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7188, "upload_time": "2016-08-15T15:06:06", "url": "https://files.pythonhosted.org/packages/82/fe/4a873349eaf76d4e60ae23902bbc0367a3a2de417a34dd56a50c34186e17/Maga-3.0.0.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f501f20054475f752e6f6047bb4c7fdf", "sha256": "b955137d818325399c81c1a45fd380fcc6510a715be7eab533f6a0bafd20ad0f" }, "downloads": -1, "filename": "Maga-3.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f501f20054475f752e6f6047bb4c7fdf", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 4932, "upload_time": "2016-08-15T15:06:14", "url": "https://files.pythonhosted.org/packages/7b/ac/0de163f6cb7a6e3082fae3ffbed46116537c19d85eac423a0dc834ba966a/Maga-3.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c10fc4250e9f69e19e385ca6e04e1fc", "sha256": "d9278c3c57ae653b5d6fe01790ef7f93d98ca258eba128a4d974d8e81fc36a91" }, "downloads": -1, "filename": "Maga-3.0.0.tar.gz", "has_sig": false, "md5_digest": "0c10fc4250e9f69e19e385ca6e04e1fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4383, "upload_time": "2016-08-15T15:06:10", "url": "https://files.pythonhosted.org/packages/0e/85/875d75198325ce30b2fce20332fed281ed1dcc64d0d45d96ad99fab31fec/Maga-3.0.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "9cd16f175a4cc76e804ec632be93d6ee", "sha256": "c913766318c34f5c51f3456f23861445d9c2c1890fe98c471d20fa0d48e38aaf" }, "downloads": -1, "filename": "Maga-3.0.0.zip", "has_sig": false, "md5_digest": "9cd16f175a4cc76e804ec632be93d6ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7188, "upload_time": "2016-08-15T15:06:06", "url": "https://files.pythonhosted.org/packages/82/fe/4a873349eaf76d4e60ae23902bbc0367a3a2de417a34dd56a50c34186e17/Maga-3.0.0.zip" } ] }