{ "info": { "author": "Mohammad Alghafli", "author_email": "thebsom@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python :: 3.4" ], "description": ":Date: 2019-10-13\n:Version: 1.2.0\n:Authors:\n * Mohammad Alghafli \n\nEvent driven http download library with automatic resume and other features.\nThe goal of this module is to ease the process of downloading files and resuming\ninterrupted downloads. The library is written in an event-driven style similar\nto GTK. The module defines the class ``Downloader``. Instances of this class\ndownload a file from an http server and call callback functions whenever an\nevent happens ralated to this download. Examples of events are download state\nchange (start, pause, complete, error) and download speed change. The following\nis a typical usage example::\n \n import bitpit\n \n #will download this\n url = 'https://www.python.org/static/img/python-logo.png'\n d = bitpit.Downloader(url) #downloader instance\n \n #listen to download events and call a function whenever an event happens\n #print state when state changes\n d.listen('state-changed', lambda var: print('download state:', var.state))\n \n #print speed in human readable format whenever speed changes\n #speed is updated and callback is called every 1 second by default\n d.listen('speed-changed', lambda var: print('download speed:', *var.human_speed))\n \n #register another callback function to the speed change signal\n #print percentage downloaded whenever speed changes\n d.listen('speed-changed', lambda var: print(int(var.percentage), '%'))\n \n #print total file size in human readable format when the downloader knows the file size\n d.listen('size-changed', lambda var: print('total file size:', *var.human_size))\n \n #done registering callbacks. lets start our download\n #the following call will not block. it will start a new download thread\n d.start()\n \n #do some other work while download is taking place...\n \n #wait for download completion or error\n d.join()\n\nThis module can also be run as a main python script to download a file. You can\nhave a look at the main function for another usage example.\n\ncommandline syntax::\n\n python -m bitpit.py [-r rate_limit] [-m max_running] url [url ...]\n \nargs:\n * url: one or more urls to download.\n * -r rate_limit: total rate limit for all running downloads.\n * -m max_running: maximum number of running downloads at any single time.\n\n--------\nTutorial\n--------\n\nCheck out bitpit tutorial at http://bitpit.readthedocs.io/", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/alghafli/bitpit", "keywords": "download manager", "license": "", "maintainer": "", "maintainer_email": "", "name": "bitpit", "package_url": "https://pypi.org/project/bitpit/", "platform": "", "project_url": "https://pypi.org/project/bitpit/", "project_urls": { "Homepage": "https://github.com/alghafli/bitpit" }, "release_url": "https://pypi.org/project/bitpit/1.2.0/", "requires_dist": null, "requires_python": "", "summary": "event driven http download library with automatic resume and other features.", "version": "1.2.0" }, "last_serial": 5967868, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "89db750d1cf9d707cda92890d2bc1e3f", "sha256": "8cde3153b882b684d2aa4e50b68b7e8cc77d0cfa22c974c117b8f8b0355292b7" }, "downloads": -1, "filename": "bitpit-0.0.1.tar.gz", "has_sig": false, "md5_digest": "89db750d1cf9d707cda92890d2bc1e3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9238, "upload_time": "2018-03-15T03:09:27", "url": "https://files.pythonhosted.org/packages/7b/d3/3f78c796238c3ff0cf4a7a8e54ae20fb4198fae0bbc68f7ad76f5b6b0e44/bitpit-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "1ada280dfcf98589e9c459b0bfb710a1", "sha256": "b14a1db23a9d2060bcc09f7c8a9e986b583386da494f52da7f2b1057c795e34c" }, "downloads": -1, "filename": "bitpit-0.0.2.tar.gz", "has_sig": false, "md5_digest": "1ada280dfcf98589e9c459b0bfb710a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9239, "upload_time": "2018-03-15T03:18:34", "url": "https://files.pythonhosted.org/packages/bc/a5/8243e90947362d82a6fe3218ffd76c2cca204a75b100ebb1faf7a3b7e7c4/bitpit-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "0f841d507ed6807b15e563da8b01c69e", "sha256": "ecae5b6f5d4892d979163f19dbde20ff4c3a96bc7bfbb7bc63acf15857cf9992" }, "downloads": -1, "filename": "bitpit-0.0.3.tar.gz", "has_sig": false, "md5_digest": "0f841d507ed6807b15e563da8b01c69e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9278, "upload_time": "2018-03-15T03:23:48", "url": "https://files.pythonhosted.org/packages/9d/8a/7212dbccfe78257394458793d310471a07d974f74517dd924754bb382e99/bitpit-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "142b8af39959e22e2e67917891578325", "sha256": "c0d3f288ce0a4bda30a6234ae510601e23040766eef64dc3b85c1d5118f08573" }, "downloads": -1, "filename": "bitpit-0.0.4.tar.gz", "has_sig": false, "md5_digest": "142b8af39959e22e2e67917891578325", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9284, "upload_time": "2018-03-15T03:28:14", "url": "https://files.pythonhosted.org/packages/5f/e0/85c8966b836a8eb09080d24c78899c750afca874585909cce479ec1767c9/bitpit-0.0.4.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "cacef80e2aa1067e01754815c09727a0", "sha256": "972777e5eba8124a62e98c05392426789bda24e2fa6d68f8d16d2eed0c24a84c" }, "downloads": -1, "filename": "bitpit-0.0.6.tar.gz", "has_sig": false, "md5_digest": "cacef80e2aa1067e01754815c09727a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32868, "upload_time": "2018-03-21T08:21:28", "url": "https://files.pythonhosted.org/packages/f2/c6/fde38ece330ae801e8108be72d8106b820def37bbc176f9117405756920b/bitpit-0.0.6.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "ce7b2c7a433be68e91ce3d7a89ea8d02", "sha256": "8e9da0f9c8bb66a1d7e377d4ccd1855e51901e45b24c58ac3f53472779d5804d" }, "downloads": -1, "filename": "bitpit-1.0.0.tar.gz", "has_sig": false, "md5_digest": "ce7b2c7a433be68e91ce3d7a89ea8d02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44157, "upload_time": "2018-07-31T22:52:12", "url": "https://files.pythonhosted.org/packages/e4/61/ce9094822d6cccb74673ee4b324b10784a995c5c24e97a6ab6f0944a0b66/bitpit-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "8e4af111c803e60a7aa6da2126adad7a", "sha256": "c6120944bbddf63240fc2b3e4c2ef1c6f3a6c3f3dd492f7b9c8257dec16dbb56" }, "downloads": -1, "filename": "bitpit-1.1.0.tar.gz", "has_sig": false, "md5_digest": "8e4af111c803e60a7aa6da2126adad7a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44339, "upload_time": "2018-08-03T21:21:38", "url": "https://files.pythonhosted.org/packages/d1/96/db96666179a85c64b5c9fcaf2c057626cc63b8d07185b7d9ae346962a41c/bitpit-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "b7b3a1695e06458b467417574bd0636b", "sha256": "bbb669e312a2196d87af3e4c7996fbc520d6a4e87b4dca310937cef2458c27fe" }, "downloads": -1, "filename": "bitpit-1.1.1.tar.gz", "has_sig": false, "md5_digest": "b7b3a1695e06458b467417574bd0636b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47726, "upload_time": "2019-01-30T21:49:26", "url": "https://files.pythonhosted.org/packages/38/b9/d76316963ab6e0666cf30f50462193db7cf4b4a5c4f43f1b95beae4524c5/bitpit-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "1bd215b9df24c2219bc19e98152e6476", "sha256": "8d393307adc6689cebf415a75c365b8c395bd0a21f91d37d7ed2dd4ba6073e72" }, "downloads": -1, "filename": "bitpit-1.2.0.tar.gz", "has_sig": false, "md5_digest": "1bd215b9df24c2219bc19e98152e6476", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48804, "upload_time": "2019-10-13T16:12:34", "url": "https://files.pythonhosted.org/packages/50/09/f7d827f6fbf26f3af685afecc7e0d11b88cd5b3ead7d92b103e11fd09dd9/bitpit-1.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1bd215b9df24c2219bc19e98152e6476", "sha256": "8d393307adc6689cebf415a75c365b8c395bd0a21f91d37d7ed2dd4ba6073e72" }, "downloads": -1, "filename": "bitpit-1.2.0.tar.gz", "has_sig": false, "md5_digest": "1bd215b9df24c2219bc19e98152e6476", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48804, "upload_time": "2019-10-13T16:12:34", "url": "https://files.pythonhosted.org/packages/50/09/f7d827f6fbf26f3af685afecc7e0d11b88cd5b3ead7d92b103e11fd09dd9/bitpit-1.2.0.tar.gz" } ] }