{ "info": { "author": "FOR.ai", "author_email": "team@for.ai", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.5" ], "description": "# Cloud Utilities for Deep Learning \u26c5\ufe0f \n\nA super lightweight cloud management tool designed with deep learning applications in mind.\n\n\n**Built with the belief that managing cloud resources should be as easy as:**\n\n```python\nimport cloud\n\ncloud.connect()\ntrain_my_network()\ncloud.down()\n```\n\nWe welcome all contributions, suggestions, and use-cases. Reach out to us over GitHub or at team@for.ai with ideas!\n\n## Contents\n- [Quickstart](#quickstart)\n - [Install](#install)\n - [Config](#config)\n - [Usage](#usage)\n- [Documentation](#documentation)\n - [Amazon EC2](#amazon-ec2)\n - [Azure](#azure)\n - [Google Cloud](#google-cloud)\n\n## Quickstart\n\n### Install:\nSort of stable:\n```python\nsudo pip install dl-cloud\n```\nBleeding edge:\n```python\ngit clone git@github.com:for-ai/cloud.git\nsudo pip install -e cloud\n```\n\n### Config:\n\nSee `configs/cloud.toml-*` for instructions on how to authenticate for each provider (Google Cloud, AWS EC2, and Azure).\n\nPlace your completed configuration file (named `cloud.toml`) in either root `/` or `$HOME`. Otherwise, provide a full path to the file in `$CLOUD_CFG`.\n\n### Usage:\n#### GPU\n```python\nimport cloud\ncloud.connect()\n\n# gpu instances have a dedicated GPU so we don't need to worry\n# about preemption or acquiring/releasing accelerators online.\n\nwhile True:\n # train your model or w/e\n\ncloud.down() # stop the instance (does not delete instance)\n```\n\n#### TPU (Only on GCP)\n```python\nimport cloud\ncloud.connect()\n\ntpu = cloud.instance.tpu.get(preemptible=True) # acquire an accelerator\nwhile True:\n if not tpu.usable:\n tpu.delete(background=True) # release the accelerator in the background\n tpu = cloud.instance.tpu.get(preemptible=True) # acquire a new accelerator\n else:\n # train your model or w/e\n\ncloud.down() # release all resources, then stop the instance (does not delete instance)\n```\n\n---\n\n# Documentation\n\n### cloud.connect()\nTakes/Creates a `cloud.Instance` object and sets `cloud.instance` to it. \n\n| **returns** | **desc.** |\n| :------- | :------- |\n| cloud_env | a cloud.Instance. |\n\n### cloud.down()\nCalls `cloud.instance.down()`.\n\n### cloud.delete(confirm=True)\nCalls `cloud.instance.delete(confirm)`.\n\n### cloud.Resource\nTakes/Creates a `cloud.Instance` object and sets `cloud.instance` to it. \n\n| properties | desc. |\n| :------- | :------- |\n| `name` | str, name of the instance |\n| `usable ` | bool, whether this resource is usable |\n| **methods** | **desc.** |\n| `up(background=False)` | start an existing stopped resource |\n| `down(background=False)` | stop the resource. Note: this should not necessarily delete this resource |\n| `delete(background=False)` | delete this resource |\n\n### cloud.Instance(Resource)\n\nAn object representing a cloud instance with a set of Resources that can be allocated/deallocated.\n\n| properties | desc. |\n| :------- | :------- |\n| `resource_managers` | list of ResourceManagers |\n| **methods** | **desc.** |\n| `down(background=False, delete_resources=True)` | stop this instance and optionally delete all managed resources |\n| `delete(background=False, confirm=True)` | delete this instance with optional user confirmation |\n\n### cloud.ResourceManager\n\nClass for managing the creation and maintanence of `cloud.Resources`.\n\n| properties | desc. |\n| :------- | :------- |\n| `instance ` | `cloud.Instance` instance owning this resource manager |\n| `resource_cls ` | `cloud.Resource` type, the class of the resource to be managed |\n| `resources ` | list of `cloud.Resource`s, managed resources |\n| **methods** | **desc.** |\n| `__init__(instance, resource_cls)` | `instance`: the `cloud.Instance` object operating this ResourceManager |\n| | `resource_cls `: the `cloud.Resource` class this object manages |\n| `add(*args, **kwargs)` | add an existing resource to this manager |\n| `remove(*args, **kwargs)` | remove an existing resource from this manager |\n\n## Amazon EC2\n### cloud.AWSInstance(Instance)\n\nA `cloud.Instance` object for AWS EC2 instances.\n\n## Azure\n### cloud.AzureInstance(Instance)\n\nA `cloud.Instance` object for Microsoft Azure instances.\n\n## Google Cloud\n\nOur GCPInstance requires that your instances have `gcloud` installed and properly authenticated so that `gcloud alpha compute tpus create test_name` runs without issue.\n\n### cloud.GCPInstance(Instance)\n\nA `cloud.Instance` object for Google Cloud instances.\n\n| properties | desc. |\n| :------- | :------- |\n| `tpu ` | `cloud.TPUManager`, a resource manager for this instance's TPUs |\n| `resource_managers ` | list of owned `cloud.ResourceManager`s |\n| **methods** | **desc.** |\n| `__init__(collect_existing_tpus=True, **kwargs)` | `collect_existing_tpus `: bool, whether to add existing TPUs to this manager |\n| | `**kwargs `: passed to `cloud.Instance`'s initializer |\n\n\n### cloud.TPU(Resource)\n\nResource class for TPU accelerators.\n\n| properties | desc. |\n| :------- | :------- |\n| `ip` | str, IP address of the TPU |\n| `preemptible` | bool, whether this TPU is preemptible or not |\n| `details` | dict {str: str}, properties of this TPU |\n| **methods** | **desc.** |\n| `up(background=False)` | start this TPU |\n| `down(background=False)` | stop this TPU |\n| `delete(background=False)` | delete this TPU |\n\n### cloud.TPUManager(ResourceManager)\n\nResourceManager class for TPU accelerators.\n\n| properties | desc. |\n| :------- | :------- |\n| `names` | list of str, names of the managed TPUs |\n| `ips` | list of str, ips of the managed TPUs |\n| **methods** | **desc.** |\n| `__init__(instance, collect_existing=True)` | `instance`: the `cloud.GCPInstance` object operating this TPUManager |\n| | `collect_existing`: bool, whether to add existing TPUs to this manager |\n| `clean(background=True)` | delete all managed TPUs with unhealthy states |\n| `get(preemptible=True)` | get an available TPU, or create one using `up()` if none exist |\n| `up(preemptible=True, background=False)` | allocate and manage a new instance of `resource_cls ` |\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/for-ai/cloud", "keywords": "deep learning cloud", "license": "", "maintainer": "", "maintainer_email": "", "name": "dl-cloud", "package_url": "https://pypi.org/project/dl-cloud/", "platform": "", "project_url": "https://pypi.org/project/dl-cloud/", "project_urls": { "Homepage": "https://github.com/for-ai/cloud" }, "release_url": "https://pypi.org/project/dl-cloud/0.1.4/", "requires_dist": [ "numpy", "apache-libcloud", "toml", "errand-boy" ], "requires_python": "", "summary": "Cloud resource management for deep learning applications.", "version": "0.1.4" }, "last_serial": 5932297, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "241062e3032b3873ee21f5c008cbafdc", "sha256": "8b4e37d883beb3f0b886ac095444faf0d71503dae3b15fabc7435351165699b2" }, "downloads": -1, "filename": "dl_cloud-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "241062e3032b3873ee21f5c008cbafdc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11675, "upload_time": "2018-10-28T13:37:40", "url": "https://files.pythonhosted.org/packages/be/e9/7cf37ba05455cea083073bae558e8d35650b094b682f7eb89254cd1054b3/dl_cloud-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ea35ecc81c6a6ac480f6a58f53b2828c", "sha256": "320bb73560905ab52a68b560ae08323fad34642025de83d8d0fecbe1a2d936dc" }, "downloads": -1, "filename": "dl-cloud-0.0.1.tar.gz", "has_sig": false, "md5_digest": "ea35ecc81c6a6ac480f6a58f53b2828c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7088, "upload_time": "2018-10-28T13:37:41", "url": "https://files.pythonhosted.org/packages/b5/a5/cc16571eaab76a097e830e788fcfdb21590f0897064a44b68052b7d0df6a/dl-cloud-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "7ae34ba51ce66e861e2990ba9d40b472", "sha256": "9a96eb091ef3d6514560950fe5b7643675006fd7096117c515c0b7ce4930de62" }, "downloads": -1, "filename": "dl_cloud-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7ae34ba51ce66e861e2990ba9d40b472", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12153, "upload_time": "2018-11-06T14:57:39", "url": "https://files.pythonhosted.org/packages/1e/08/399aea3567ffa55fabbe1c0ba578824960c66554700aa69a2c36972c82b1/dl_cloud-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "432334618f77c3546487a88dba79f216", "sha256": "b8dea006800ca17586b5e136f895ac435d6f4475e84862e89aadf7d288e341c3" }, "downloads": -1, "filename": "dl-cloud-0.0.2.tar.gz", "has_sig": false, "md5_digest": "432334618f77c3546487a88dba79f216", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7484, "upload_time": "2018-11-06T14:57:40", "url": "https://files.pythonhosted.org/packages/bc/f3/500a47b6a116ef4b917a38e32b13f69379a2e67e67f51e534166930c07af/dl-cloud-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "951c9f90b10941df7f7be21f2e94dee4", "sha256": "164f894b200e81f5f9cdc1cbcae15226a61973ff8d1eed5e7164ec535a9f77ca" }, "downloads": -1, "filename": "dl_cloud-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "951c9f90b10941df7f7be21f2e94dee4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12344, "upload_time": "2018-11-07T14:26:43", "url": "https://files.pythonhosted.org/packages/36/56/dabc234623f2fff7dc5a9ef2c31e64e9c8ca4f53d456a9135840d8c4b072/dl_cloud-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f04eddf52678e6cebc797eeca4ffb0f2", "sha256": "cef46758c661d7cc65e4cdb34f68828b309f58f796e56b8286dfc66b1049fc44" }, "downloads": -1, "filename": "dl-cloud-0.0.3.tar.gz", "has_sig": false, "md5_digest": "f04eddf52678e6cebc797eeca4ffb0f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7674, "upload_time": "2018-11-07T14:26:44", "url": "https://files.pythonhosted.org/packages/04/7d/a3ec4e24b13e17ce1c0b11638a2564363462b9b32ddd9bd0458d01d8be4a/dl-cloud-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "4ad6f941be13bd0eed0e6f5804f492be", "sha256": "940bc003afb415c17007ce128ef728563f451a53f78a4947181ec702d8242cc0" }, "downloads": -1, "filename": "dl_cloud-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "4ad6f941be13bd0eed0e6f5804f492be", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12440, "upload_time": "2018-11-09T14:26:10", "url": "https://files.pythonhosted.org/packages/2c/04/0ae9b0b1daad8ff84fd0a9e83d29b66d125a50a8f7b26e3dfbc51bc41654/dl_cloud-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f9775e8f37f481b195440d60017b39f3", "sha256": "fa6e17b8bdc02c60c74971508f233ea2d98bfd0915ff3fefaef7f45ebae145b0" }, "downloads": -1, "filename": "dl-cloud-0.0.4.tar.gz", "has_sig": false, "md5_digest": "f9775e8f37f481b195440d60017b39f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7737, "upload_time": "2018-11-09T14:26:12", "url": "https://files.pythonhosted.org/packages/e7/63/bcd39c702deeac3cc8603a3f3ee287866ee69581dd9c40e02ca66cf949e9/dl-cloud-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "8cd6f2b58a0603f4d12a15b06dc02cc4", "sha256": "edc2f079d09acbf2a189965b53b4ed5738fe8fd1cd01e34e5309f7df387947a5" }, "downloads": -1, "filename": "dl_cloud-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "8cd6f2b58a0603f4d12a15b06dc02cc4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12593, "upload_time": "2018-12-14T01:32:19", "url": "https://files.pythonhosted.org/packages/6e/18/5cf25f72eebd6d90b1f327bf0a8ce82c1675e096fb63bacc97cd7868c813/dl_cloud-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1d966890bc6e0e60407b73aef2e29973", "sha256": "309ab92bdf5ca699fc5e946985cda251efae2958a16d9d48a7fab3977dcbe893" }, "downloads": -1, "filename": "dl-cloud-0.0.5.tar.gz", "has_sig": false, "md5_digest": "1d966890bc6e0e60407b73aef2e29973", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7863, "upload_time": "2018-12-14T01:32:20", "url": "https://files.pythonhosted.org/packages/07/ed/9ba33d9613e78dbc2ba5caf9a8edd29cd44c20628f10fce5671bbaeaf890/dl-cloud-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "cb44628edcd4005fc0c632222da2af30", "sha256": "87db01bf61fb2402f17be93ce13ba308aeb64c50059dae644094e9816dba38fe" }, "downloads": -1, "filename": "dl_cloud-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "cb44628edcd4005fc0c632222da2af30", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12744, "upload_time": "2019-01-16T11:21:18", "url": "https://files.pythonhosted.org/packages/c4/f0/932a66bd2a9fda9cbb1f6f3447c74a50d2bb4870e2991c7ee0d9b5ad4e19/dl_cloud-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f4d91f043884386dc89e17f0c55464bc", "sha256": "7a7fb3d5682be4abbbaf57308e6a3cb7e8fb088c8fdacb74fa1395414e470363" }, "downloads": -1, "filename": "dl-cloud-0.0.6.tar.gz", "has_sig": false, "md5_digest": "f4d91f043884386dc89e17f0c55464bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8022, "upload_time": "2019-01-16T11:21:20", "url": "https://files.pythonhosted.org/packages/e2/58/826db2a34abf6f4d15dbbd38f679f03a2360850cda5131f295c38f695c30/dl-cloud-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "168059e464996583143cdfa06b49cd79", "sha256": "8108707093e36b654357590389a4f966420debdad22a591eb7aadc545df2242f" }, "downloads": -1, "filename": "dl_cloud-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "168059e464996583143cdfa06b49cd79", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12750, "upload_time": "2019-01-17T12:32:40", "url": "https://files.pythonhosted.org/packages/7f/6f/c58475d8ef36e721a520cf5f2c9cd2f6dd72fc1721e10d2f4e9a73320ed4/dl_cloud-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a986d70f89d8800a121e445f2fbdac16", "sha256": "9b1d96ff27b74d83e9f296cf2a8f6e6823a452ce0afd934f1eb35b9ce2ac095c" }, "downloads": -1, "filename": "dl-cloud-0.0.7.tar.gz", "has_sig": false, "md5_digest": "a986d70f89d8800a121e445f2fbdac16", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8029, "upload_time": "2019-01-17T12:32:42", "url": "https://files.pythonhosted.org/packages/c4/e7/28c4d8dc7dbf49a33444de6206ad484ca18af48f9c948937272395797cb4/dl-cloud-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "ccd5f303ac3f60157deb06dc431cc73a", "sha256": "b843350d898cd50468a75e06f328965935c50b14a5c6af6757f7a4155b7a97fd" }, "downloads": -1, "filename": "dl_cloud-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "ccd5f303ac3f60157deb06dc431cc73a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12749, "upload_time": "2019-02-13T15:26:36", "url": "https://files.pythonhosted.org/packages/b4/69/0fe14c36d8a57ea635be55ace01c37710b9e0f61789edd2a60e94535df02/dl_cloud-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bd706945031343d238a5582be60358a5", "sha256": "0662bc30d2375fe288f8c3bd0dea99be3bf6f75b0b1dcad1b1c4362774af409e" }, "downloads": -1, "filename": "dl-cloud-0.0.8.tar.gz", "has_sig": false, "md5_digest": "bd706945031343d238a5582be60358a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8023, "upload_time": "2019-02-13T15:26:38", "url": "https://files.pythonhosted.org/packages/84/1b/5a0b29a4f6134f32345c9b490fd1023d341c913cbd0254622c6f0b624419/dl-cloud-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "938bce55f54e12ec445161ab7b5e0bf8", "sha256": "642769b7d7e7eec3f070698d428cd3f4b11554aab6f906a2f624ce2ca3256a41" }, "downloads": -1, "filename": "dl_cloud-0.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "938bce55f54e12ec445161ab7b5e0bf8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12793, "upload_time": "2019-03-13T15:18:11", "url": "https://files.pythonhosted.org/packages/39/50/44b075394ed3b8c82ba7947169ca6d6c41199b59cec183711e50f068364c/dl_cloud-0.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "31dde87d2bf7aa0ac6547e9e846a2c0f", "sha256": "095f0086d66acea74206870aeed76dc0cbbc69df229c8392d2c6a31effe4c4c3" }, "downloads": -1, "filename": "dl-cloud-0.0.9.tar.gz", "has_sig": false, "md5_digest": "31dde87d2bf7aa0ac6547e9e846a2c0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8043, "upload_time": "2019-03-13T15:18:13", "url": "https://files.pythonhosted.org/packages/c1/0f/e9a1f60a3e43e20c0953f7903df9c8cd37659cbb267bd23ab1a5ca58c42c/dl-cloud-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "4c1f0ac5bba04a4a7acc3c72c0544464", "sha256": "52733da1a689383cc2c169dacb4e1f5eb72be853adcaa03f4f05d2f977f57b09" }, "downloads": -1, "filename": "dl_cloud-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4c1f0ac5bba04a4a7acc3c72c0544464", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22480, "upload_time": "2019-06-20T12:57:29", "url": "https://files.pythonhosted.org/packages/0d/b4/2f6eb34eda6f3baecfda4723668fc54ae693ce25d0870bffd1ee06b5a769/dl_cloud-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c907d6d20ac6e408b08bfa9372b7837f", "sha256": "86da37282a8907c6445d3d09fdc2d164c50003eca7d0282452f94a3b989dc131" }, "downloads": -1, "filename": "dl-cloud-0.1.0.tar.gz", "has_sig": false, "md5_digest": "c907d6d20ac6e408b08bfa9372b7837f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8246, "upload_time": "2019-06-20T12:57:30", "url": "https://files.pythonhosted.org/packages/d4/b5/81e8b4d9d5e4049a502f39327b640abeaae9d48619a411774702a6104c25/dl-cloud-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "ef8a25744bdb67d1e397086e4c60548e", "sha256": "0ff3e7c560b835e1a4089dabcf293f92aa7c5ef27951c4e94bf59b986e20b4b5" }, "downloads": -1, "filename": "dl_cloud-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ef8a25744bdb67d1e397086e4c60548e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22594, "upload_time": "2019-07-10T16:50:28", "url": "https://files.pythonhosted.org/packages/fb/cb/4f7e4ede308cddfb3d4b9e296b13cec5e731d0a372f72d9bc18f256af55b/dl_cloud-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "172dd9646d72e118d5938fad4aa82d62", "sha256": "dc811b81ae611aaf60fb0fdce787c24ea3374f73732be055d86afeaba7394dc0" }, "downloads": -1, "filename": "dl-cloud-0.1.1.tar.gz", "has_sig": false, "md5_digest": "172dd9646d72e118d5938fad4aa82d62", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8336, "upload_time": "2019-07-10T16:50:29", "url": "https://files.pythonhosted.org/packages/a9/99/db4bb969f20c5cc9ab4c8fab2ca063ece85e57d5e3cd71066562e42832dd/dl-cloud-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "d9f58a07f3dd4a40c394793ab920d344", "sha256": "62c662c4e42be172cc8221f4893ed18619c4d3dcd4f4d384fe4197f4771b8e74" }, "downloads": -1, "filename": "dl_cloud-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d9f58a07f3dd4a40c394793ab920d344", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22604, "upload_time": "2019-07-11T14:08:51", "url": "https://files.pythonhosted.org/packages/2b/c7/75a6913a8d8ac3873ddcea967de2b4fba23234e99b578c755ef1fbbd9266/dl_cloud-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c71b0af55b07cab5c39b672cc91feca9", "sha256": "7e88a497c4cf7d6392b93f905f8d9fb0cd5ba2c0fc662358c35ffe576c084892" }, "downloads": -1, "filename": "dl-cloud-0.1.2.tar.gz", "has_sig": false, "md5_digest": "c71b0af55b07cab5c39b672cc91feca9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8352, "upload_time": "2019-07-11T14:08:53", "url": "https://files.pythonhosted.org/packages/2c/2d/283c832e8dea7798297f98c2d1d9bba9be73601f91a67d801a84dfd84189/dl-cloud-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "71402b426d7ef2424a4f6079667fe6ca", "sha256": "49cd60c01bafbaae76de304b0d918e2cfd62908b49936f6528ffb91e98b1569a" }, "downloads": -1, "filename": "dl_cloud-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "71402b426d7ef2424a4f6079667fe6ca", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22638, "upload_time": "2019-10-05T15:10:13", "url": "https://files.pythonhosted.org/packages/fe/69/63197410e3f4c2fa3a96aaded36fcac850cb090cdc55622e96d4e3b5be0d/dl_cloud-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a5b36a08d443ddcb112ae49196fe765", "sha256": "60b8f62759027bb21b489f365263599a113b65fa363cd114311dc6fff7a11d73" }, "downloads": -1, "filename": "dl-cloud-0.1.3.tar.gz", "has_sig": false, "md5_digest": "2a5b36a08d443ddcb112ae49196fe765", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8397, "upload_time": "2019-10-05T15:10:15", "url": "https://files.pythonhosted.org/packages/03/66/b865650c254d84f1003928b8103939f10efafd6be2e6c0553a0a4dc30703/dl-cloud-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "4e884aefe32ff16e22348366ea449820", "sha256": "07aaa6975793330f21caac4c74fd34e58d98024348dd8507f3257352f19e7048" }, "downloads": -1, "filename": "dl_cloud-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "4e884aefe32ff16e22348366ea449820", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22650, "upload_time": "2019-10-05T15:29:38", "url": "https://files.pythonhosted.org/packages/de/1f/8f86241329631a398add0fab16f7296da12bd22128e970ec8269fceb549c/dl_cloud-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "546a4927bf7e433ca16bd394885615b9", "sha256": "c88b442d8ab211537f0067833ebdb6908d77b09d8bf696c77e47b8c6f2399ab0" }, "downloads": -1, "filename": "dl-cloud-0.1.4.tar.gz", "has_sig": false, "md5_digest": "546a4927bf7e433ca16bd394885615b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8398, "upload_time": "2019-10-05T15:29:40", "url": "https://files.pythonhosted.org/packages/b0/06/bbf0dd2cdd5ac698c56e370edf66bb6ede0fd9c67afe95086b57e5291b8e/dl-cloud-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4e884aefe32ff16e22348366ea449820", "sha256": "07aaa6975793330f21caac4c74fd34e58d98024348dd8507f3257352f19e7048" }, "downloads": -1, "filename": "dl_cloud-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "4e884aefe32ff16e22348366ea449820", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22650, "upload_time": "2019-10-05T15:29:38", "url": "https://files.pythonhosted.org/packages/de/1f/8f86241329631a398add0fab16f7296da12bd22128e970ec8269fceb549c/dl_cloud-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "546a4927bf7e433ca16bd394885615b9", "sha256": "c88b442d8ab211537f0067833ebdb6908d77b09d8bf696c77e47b8c6f2399ab0" }, "downloads": -1, "filename": "dl-cloud-0.1.4.tar.gz", "has_sig": false, "md5_digest": "546a4927bf7e433ca16bd394885615b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8398, "upload_time": "2019-10-05T15:29:40", "url": "https://files.pythonhosted.org/packages/b0/06/bbf0dd2cdd5ac698c56e370edf66bb6ede0fd9c67afe95086b57e5291b8e/dl-cloud-0.1.4.tar.gz" } ] }