{ "info": { "author": "Oleg Polosin", "author_email": "apls777@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "\n\n[![Documentation](https://img.shields.io/badge/documentation-reference-brightgreen.svg)](https://apls777.github.io/spotty)\n[![PyPI](https://img.shields.io/pypi/v/spotty.svg)](https://pypi.org/project/spotty/)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/spotty.svg)\n![PyPI - License](https://img.shields.io/pypi/l/spotty.svg)\n\nSpotty drastically simplifies training of deep learning models on [AWS](https://aws.amazon.com/) \nand [GCP](https://cloud.google.com/):\n\n- it makes training on GPU instances as simple as training on your local machine\n- it automatically manages all necessary cloud resources including images, volumes, snapshots and SSH keys\n- it makes your model trainable in the cloud by everyone with a couple of commands\n- it uses [tmux](https://en.wikipedia.org/wiki/Tmux) to easily detach remote processes from their terminals\n- it saves you up to 70% of the costs by using [AWS Spot Instances](https://aws.amazon.com/ec2/spot/) \nand [GCP Preemtible VMs](https://cloud.google.com/preemptible-vms/)\n\n## Documentation\n\n- See the [documentation page](https://apls777.github.io/spotty).\n- Read [this](https://medium.com/@apls/how-to-train-deep-learning-models-on-aws-spot-instances-using-spotty-8d9e0543d365) \narticle on Medium for a real-world example.\n\n## Installation\n\nRequirements:\n * Python >=3.5\n * AWS CLI (see [Installing the AWS Command Line Interface](http://docs.aws.amazon.com/cli/latest/userguide/installing.html)) \n if you're using AWS\n * Google Cloud SDK (see [Installing Google Cloud SDK](https://cloud.google.com/sdk/install)) \n if you're using GCP\n\nUse [pip](http://www.pip-installer.org/en/latest/) to install or upgrade Spotty:\n\n $ pip install -U spotty\n\n## Get Started\n\n1. Prepare a `spotty.yaml` file and put it to the root directory of your project:\n\n - See the file specification [here](https://apls777.github.io/spotty/docs/configuration/).\n - Read [this](https://medium.com/@apls/how-to-train-deep-learning-models-on-aws-spot-instances-using-spotty-8d9e0543d365) \n article for a real-world example.\n\n2. Start an instance:\n\n ```bash\n $ spotty start\n ```\n\n It will run a Spot Instance, restore snapshots if any, synchronize the project with the running instance \n and start the Docker container with the environment.\n\n3. Train a model or run notebooks.\n\n To connect to the running container via SSH, use the following command:\n\n ```bash\n $ spotty ssh\n ```\n\n It runs a [tmux](https://github.com/tmux/tmux/wiki) session, so you can always detach this session using\n __`Ctrl + b`__, then __`d`__ combination of keys. To be attached to that session later, just use the\n `spotty ssh` command again.\n\n Also, you can run your custom scripts inside the Docker container using the `spotty run ` command. Read more\n about custom scripts in the documentation: \n [Configuration: \"scripts\" section](https://apls777.github.io/spotty/docs/configuration/#scripts-section-optional).\n\n## Contributions\n\nAny feedback or contributions are welcome! Please check out the [guidelines](CONTRIBUTING.md).\n\n## License\n\n[MIT License](LICENSE)\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": "http://github.com/apls777/spotty", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "spotty", "package_url": "https://pypi.org/project/spotty/", "platform": "", "project_url": "https://pypi.org/project/spotty/", "project_urls": { "Homepage": "http://github.com/apls777/spotty" }, "release_url": "https://pypi.org/project/spotty/1.2.3/", "requires_dist": [ "boto3 (>=1.9.0)", "google-api-python-client (>=1.7.8)", "google-cloud-storage (>=1.15.0)", "cfn-flip", "schema", "chevron" ], "requires_python": "", "summary": "Training deep learning models on AWS Spot Instances and GCP Preemtible VMs", "version": "1.2.3" }, "last_serial": 5739966, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "794c5f1b5766ef31febb1866a0e12f89", "sha256": "6911634943e01e09208f61aceadcfd68721cf170446ca1c9e930380c47e984fc" }, "downloads": -1, "filename": "spotty-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "794c5f1b5766ef31febb1866a0e12f89", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31178, "upload_time": "2018-07-31T22:47:47", "url": "https://files.pythonhosted.org/packages/ed/f0/77a41167bc50983b43b2edf85ed74b800eff55bf5c75656ec66aa2d13d0a/spotty-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6e83342d6438b74648ce4dbb6ccf8e8d", "sha256": "fa570bdceb5c0875d05b1a31a0bb86f42102a4332c88667dfc56c509c4a4d5e6" }, "downloads": -1, "filename": "spotty-1.0.1.tar.gz", "has_sig": false, "md5_digest": "6e83342d6438b74648ce4dbb6ccf8e8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19272, "upload_time": "2018-07-31T22:47:49", "url": "https://files.pythonhosted.org/packages/81/3f/51d6bcaa7dce0247ff1f0dffda7c27760db4e413b8bf322c11bf575accb7/spotty-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "669783a9c4b7e16fa40574567329b989", "sha256": "4ebf77d57a404ce9a418088c9cd59300e19759d9f9ab28b8bb3eb5ce31b9d7b2" }, "downloads": -1, "filename": "spotty-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "669783a9c4b7e16fa40574567329b989", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32651, "upload_time": "2018-08-05T01:50:06", "url": "https://files.pythonhosted.org/packages/7b/53/1e0f78a4befbd3da76312fb89787d71ff0a228bfb9d249337ed254eac997/spotty-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4476d9a84bd8fc945dfc84b0722359b6", "sha256": "28c6e88f29e4e41c2a8150103b60cc1ce2ca7481412d46449cea297d150ac5d3" }, "downloads": -1, "filename": "spotty-1.0.2.tar.gz", "has_sig": false, "md5_digest": "4476d9a84bd8fc945dfc84b0722359b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19753, "upload_time": "2018-08-05T01:50:07", "url": "https://files.pythonhosted.org/packages/3f/61/1d5e1c4df2cc504b5e9ba72506c6c23895a02288683fe7d1f8d1fd4ed6c0/spotty-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "2acbedaa0656e2826ded7b796edac58b", "sha256": "420877476249d24122bf2836b32a8bf27e0511f86f560d40694d7aa2175767f2" }, "downloads": -1, "filename": "spotty-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "2acbedaa0656e2826ded7b796edac58b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 33873, "upload_time": "2018-08-06T23:49:30", "url": "https://files.pythonhosted.org/packages/3b/1c/64288bb4990f2cf3a52483997a48019e6bd2de797b2e99e5eb770fe5b151/spotty-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b1d8163bcf6def8c576889b54cca9a60", "sha256": "19eb6e87336562a979857e2480f82b77f021fae67bca779081b6b0ba2fd153a2" }, "downloads": -1, "filename": "spotty-1.0.3.tar.gz", "has_sig": false, "md5_digest": "b1d8163bcf6def8c576889b54cca9a60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20574, "upload_time": "2018-08-06T23:49:39", "url": "https://files.pythonhosted.org/packages/94/37/c90d2e2046efccd8e9260b8c2daa2e95f18e812f5a66b2a96e32f9c0a05c/spotty-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "4e96ff1cb4610bf1c28feb7c0b67c695", "sha256": "445cb3fa0ad4a32ace4ed23692f71a357b28727add949e850327af36ac59c004" }, "downloads": -1, "filename": "spotty-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "4e96ff1cb4610bf1c28feb7c0b67c695", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 33903, "upload_time": "2018-08-09T00:01:28", "url": "https://files.pythonhosted.org/packages/3c/8d/f78aa20611d1cf06c7076c825cef97b007d1182b32bece11341a1b638326/spotty-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2602e6f1bcb48545c46a2cd630c82035", "sha256": "fc205b4c44e0fd26f9b337b21424888853a6fb35e91affe607dd22500454d9c3" }, "downloads": -1, "filename": "spotty-1.0.4.tar.gz", "has_sig": false, "md5_digest": "2602e6f1bcb48545c46a2cd630c82035", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20610, "upload_time": "2018-08-09T00:01:29", "url": "https://files.pythonhosted.org/packages/11/bc/46527f8c9213e340d04be685d79119b15c386cad0ec4af09ceb4882a5a71/spotty-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "334e78a4c779f70526e97da947aba358", "sha256": "7366ebf607cc224b49a7aada0ee6a1cabee6679c8a9e7cc8ae2ad41b5496733e" }, "downloads": -1, "filename": "spotty-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "334e78a4c779f70526e97da947aba358", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 35929, "upload_time": "2018-09-02T16:26:32", "url": "https://files.pythonhosted.org/packages/87/fe/9879693c9061a378538a6b93cf799bddf4715290dc5a0b824772c7e3b66f/spotty-1.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "446bb513fd64d9140cf511a5dabbeb9a", "sha256": "14384bd431fc0d8a191b557c8dc143a114a46252816d0aacd610b34c09e196b8" }, "downloads": -1, "filename": "spotty-1.0.5.tar.gz", "has_sig": false, "md5_digest": "446bb513fd64d9140cf511a5dabbeb9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22042, "upload_time": "2018-09-02T16:26:34", "url": "https://files.pythonhosted.org/packages/83/22/6ca6d4598faa0a2532e0179fd6dbf8620b9b64de0cb0e996acd1137ac557/spotty-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "a128b81d5c25b249d2f4d00bd6043a36", "sha256": "a49f66dd4c1adf99180c424d4373c9749ddea2d02ed40ed3df661c0915c29030" }, "downloads": -1, "filename": "spotty-1.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "a128b81d5c25b249d2f4d00bd6043a36", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36514, "upload_time": "2018-09-07T23:10:00", "url": "https://files.pythonhosted.org/packages/0c/c4/b639f46c795c75b63e3597a5ed8533bf542f3faac832290debe38320a5e6/spotty-1.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "238cd5fc4a77306e0d480284b4848da1", "sha256": "fef2d0cbb73e409b33b3c26b7630a5419eeeb8e9ef89f878ba4375d66981795b" }, "downloads": -1, "filename": "spotty-1.0.6.tar.gz", "has_sig": false, "md5_digest": "238cd5fc4a77306e0d480284b4848da1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22476, "upload_time": "2018-09-07T23:10:02", "url": "https://files.pythonhosted.org/packages/de/f9/cc8181a0d418ef27392dc4855acb08f28f9b30a1f3d03598c5ac6851b2fc/spotty-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "21171b5a0d7ba1315513f56ed6c3cc0e", "sha256": "9c47e7297aed8787d1c8f0892656b676ac71663df350fa6a52348c273e4ee466" }, "downloads": -1, "filename": "spotty-1.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "21171b5a0d7ba1315513f56ed6c3cc0e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36668, "upload_time": "2018-09-08T17:15:18", "url": "https://files.pythonhosted.org/packages/dd/b6/c97bbc57031d6b4930206d406f7307e34c2de7bfb42e0329fb58c8906350/spotty-1.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "91a67c112a40a9c42d5774139a5c646a", "sha256": "2077dd1bd624cb2eddeb048b74ea1b02499163ae2327c971d3d08b085f9d129e" }, "downloads": -1, "filename": "spotty-1.0.7.tar.gz", "has_sig": false, "md5_digest": "91a67c112a40a9c42d5774139a5c646a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22437, "upload_time": "2018-09-08T17:15:19", "url": "https://files.pythonhosted.org/packages/a0/ed/bb986d2ed2ed9a0b2b85272f110a790f2d8654a870a394c12e6e1b00281c/spotty-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "ce3fe9bcaf42f8b94e82be2d9af64200", "sha256": "4fca91fe52daab93ceae38644f4fe5eee19fdeb19a12a4bb73ffe6659d848a5a" }, "downloads": -1, "filename": "spotty-1.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "ce3fe9bcaf42f8b94e82be2d9af64200", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36691, "upload_time": "2018-09-08T23:58:31", "url": "https://files.pythonhosted.org/packages/57/29/dd6c0957f10b93699b8e3a7f37ad68af07ba2249acc19285d2b660be7e51/spotty-1.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f07074483d9c51141cb1167bf1e7233f", "sha256": "506fce3f90d9397729aa0127f396081814a3e4b5346857ac89db68c6160a0207" }, "downloads": -1, "filename": "spotty-1.0.8.tar.gz", "has_sig": false, "md5_digest": "f07074483d9c51141cb1167bf1e7233f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22477, "upload_time": "2018-09-08T23:58:33", "url": "https://files.pythonhosted.org/packages/ac/4e/4436ee5fddb2d345d02ba5d73ee196dd14b35e6f3d2f559d964aab0efae4/spotty-1.0.8.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "4e5830539c06419769d898c694bb8d11", "sha256": "909a9156ab717bfe593502cc158dca54228033db0c93f20eba6332527e72ea6e" }, "downloads": -1, "filename": "spotty-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4e5830539c06419769d898c694bb8d11", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 38243, "upload_time": "2018-09-18T19:47:16", "url": "https://files.pythonhosted.org/packages/e3/7a/0b28bf6d3a00d2ccf6539e069997e1f22758763f197b782fc251d5fb42f1/spotty-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "94441f3ecca83f4a34dd16607fed5079", "sha256": "d5845d57e877972e72e6f56cb95d0c77e9b2bb019e80aac60a79d9627e9e05e7" }, "downloads": -1, "filename": "spotty-1.1.0.tar.gz", "has_sig": false, "md5_digest": "94441f3ecca83f4a34dd16607fed5079", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23741, "upload_time": "2018-09-18T19:47:18", "url": "https://files.pythonhosted.org/packages/7d/7c/e6faebd59b9e06d0f8fbe691b54a008fd9cd86de0924bc33c013839a723d/spotty-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "fda0aa8cb5417df40371a703bfb66b00", "sha256": "70c61c64db08032ca7ec2840a4579f4a9507f5a8ef21b232f2c2ab14ad393b6c" }, "downloads": -1, "filename": "spotty-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "fda0aa8cb5417df40371a703bfb66b00", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 39704, "upload_time": "2018-10-02T21:47:49", "url": "https://files.pythonhosted.org/packages/20/02/1d3180a2cb1ffbb3d49e19315ea81fe8e35982806e0a641dfcef18ffd08a/spotty-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "595946760988037d990783b9a52ff2cd", "sha256": "b398e654d0169588e2d1e028ac7663d679c27c5a4dcb329afe1b2216ac0d7f0c" }, "downloads": -1, "filename": "spotty-1.1.1.tar.gz", "has_sig": false, "md5_digest": "595946760988037d990783b9a52ff2cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24145, "upload_time": "2018-10-02T21:47:51", "url": "https://files.pythonhosted.org/packages/8b/39/d2489154687ac0ef39a5307e398cd5cd95bce28a33074e8c17b13bf96726/spotty-1.1.1.tar.gz" } ], "1.1.10": [ { "comment_text": "", "digests": { "md5": "4f566ed19767bd764ffaa3c57c4e9a16", "sha256": "313d66b449f849c5a8a8cba1d67ba4a2b21f4363c816d5a16f0dbba30013c09c" }, "downloads": -1, "filename": "spotty-1.1.10-py3-none-any.whl", "has_sig": false, "md5_digest": "4f566ed19767bd764ffaa3c57c4e9a16", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 41173, "upload_time": "2019-03-14T00:17:10", "url": "https://files.pythonhosted.org/packages/73/96/f662c7c8462ac71970f403cd3fbbfee6cdf24db55932b007181b3b8beedf/spotty-1.1.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "11174accacfd6f17365cc354ed4a985e", "sha256": "a3e398514b7697cdf47640e3ea6cc7e8b929ae914912b5d7ca80957baf3a4d8b" }, "downloads": -1, "filename": "spotty-1.1.10.tar.gz", "has_sig": false, "md5_digest": "11174accacfd6f17365cc354ed4a985e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27002, "upload_time": "2019-03-14T00:17:13", "url": "https://files.pythonhosted.org/packages/fe/bb/6e911cbce25bd5303848cb85a03e98e81e0fe928ef649c07f4961da3ad97/spotty-1.1.10.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "443289dea80bd7fac159a49c17690923", "sha256": "93667925e7c0fd5a1cda2ee93a5c226473b436531f9897053f4fd7c84044b7c8" }, "downloads": -1, "filename": "spotty-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "443289dea80bd7fac159a49c17690923", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 38369, "upload_time": "2018-10-09T21:40:37", "url": "https://files.pythonhosted.org/packages/6b/3c/0ada8ba142e9f900281b2a55870c94e70edd46f4a514077c4398d0cc5e62/spotty-1.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2319cadef90c0436e1d2d6eeb2d84913", "sha256": "03a262558315ef4ef4b6f36f71d96bfd0824235b3ba1a636184cd27763e32049" }, "downloads": -1, "filename": "spotty-1.1.2.tar.gz", "has_sig": false, "md5_digest": "2319cadef90c0436e1d2d6eeb2d84913", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23980, "upload_time": "2018-10-09T21:40:48", "url": "https://files.pythonhosted.org/packages/c4/d7/19a99eabaae8d0cab2194ac368cbbaa3a5b450d385fc930a94433147af5b/spotty-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "8256afd3d00cbcac836282eab9226974", "sha256": "ed6f0b7a00be095af995a7a6e67b7d60c0cc446c088b8b830b8767d27181fe27" }, "downloads": -1, "filename": "spotty-1.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "8256afd3d00cbcac836282eab9226974", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 38114, "upload_time": "2018-10-10T11:30:30", "url": "https://files.pythonhosted.org/packages/62/15/d2c7f69a7a52de8b3ca4c39ec157b7684989afca65ec1ccc6e5f65ad44fd/spotty-1.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b1e20294d24b8bbe5ed2e49eea5cc6c8", "sha256": "798b6d6ad8961ab56d73063d5ec785fedbc817ea496bc5b288248cb2ac14d75d" }, "downloads": -1, "filename": "spotty-1.1.3.tar.gz", "has_sig": false, "md5_digest": "b1e20294d24b8bbe5ed2e49eea5cc6c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25091, "upload_time": "2018-10-10T11:30:32", "url": "https://files.pythonhosted.org/packages/aa/01/043a704cd5d4d169345088f189e4a165a50ec8dbb747d4ece6a4620015fe/spotty-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "df83c327ee4e1d81b006a7f855a21d1b", "sha256": "0f1fe3fb013c56346614952128931ae53643bbf62f1ff70b99c28c597b004d89" }, "downloads": -1, "filename": "spotty-1.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "df83c327ee4e1d81b006a7f855a21d1b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 38748, "upload_time": "2018-10-27T17:51:08", "url": "https://files.pythonhosted.org/packages/86/e3/c861c65c233ee09187d80c0cf1ce4ec57826ca0a9abc16a7b4c6c37bc2ac/spotty-1.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e37c734f0c1cd9295f558d252c389c12", "sha256": "9ce64f222c46dbb9c417f354584209a48d18dbd02036c160f29a4aa00518d296" }, "downloads": -1, "filename": "spotty-1.1.4.tar.gz", "has_sig": false, "md5_digest": "e37c734f0c1cd9295f558d252c389c12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25571, "upload_time": "2018-10-27T17:51:11", "url": "https://files.pythonhosted.org/packages/cc/92/4e1d89d5edd11bdd5dfd2915824704e4b51d0198359c596fc55db09fc436/spotty-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "1d212ba356bb09a5f889c89e7f14216b", "sha256": "388d37564c91acfbe9012369db10252808643d3816f17f113efbefd6597aa7fa" }, "downloads": -1, "filename": "spotty-1.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "1d212ba356bb09a5f889c89e7f14216b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 40627, "upload_time": "2018-11-08T01:12:02", "url": "https://files.pythonhosted.org/packages/59/73/fc6147398409fc223de118c029748bda1b06001a705c1e2bf8bf23ef4433/spotty-1.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d02a85914d99b9a28d832df453d9612f", "sha256": "60caab776d68f12809487e5ef166674e309dc3117fc9c48e5083668f547b968c" }, "downloads": -1, "filename": "spotty-1.1.5.tar.gz", "has_sig": false, "md5_digest": "d02a85914d99b9a28d832df453d9612f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26472, "upload_time": "2018-11-08T01:12:05", "url": "https://files.pythonhosted.org/packages/9c/86/1ffb1695ab3c992c8ad78760e7ce3d6a41d9a29a6658f8275e44f07b82ab/spotty-1.1.5.tar.gz" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "3f144f244a2fd781143729571c076154", "sha256": "908f7e70c69b5d2b2df7b0f6282b5f21aa5679984ce3a760980dbf9b03096fc0" }, "downloads": -1, "filename": "spotty-1.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "3f144f244a2fd781143729571c076154", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 40723, "upload_time": "2018-12-14T00:30:28", "url": "https://files.pythonhosted.org/packages/41/4e/2c913866fb6c2761fb08a55dc93e3e89f67bc862d047b2dfa5337bc64e1f/spotty-1.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2cbf52831ab05202785046ad3e3a4a36", "sha256": "db412398cb0c5cf3ca14d2b7b5c007b7f6c2da5b99d6bcf7c3da0c1f54b2a527" }, "downloads": -1, "filename": "spotty-1.1.6.tar.gz", "has_sig": false, "md5_digest": "2cbf52831ab05202785046ad3e3a4a36", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26635, "upload_time": "2018-12-14T00:30:30", "url": "https://files.pythonhosted.org/packages/79/88/40974340f21e73c11f5e95b5c863753e26a7c71d5c99ee792e145c533e65/spotty-1.1.6.tar.gz" } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "695d12fe62ab7a17eab2863cf83bd2be", "sha256": "0909dbcdaf96160335d431cdee289536c9095a0cb9de3b8947dbac21efccbc30" }, "downloads": -1, "filename": "spotty-1.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "695d12fe62ab7a17eab2863cf83bd2be", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 40891, "upload_time": "2018-12-23T18:32:35", "url": "https://files.pythonhosted.org/packages/10/9f/b81f45b4de3edfc306856c318e16c8886712316596f00cedebe1ad03aeea/spotty-1.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b517a364f3b048b413f857a8a71c13bd", "sha256": "656715e0b3e4eb64fbe5082699edee5808c36c6351a77014ccffb15b71ffb626" }, "downloads": -1, "filename": "spotty-1.1.7.tar.gz", "has_sig": false, "md5_digest": "b517a364f3b048b413f857a8a71c13bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26727, "upload_time": "2018-12-23T18:32:37", "url": "https://files.pythonhosted.org/packages/68/e3/2bd1bbb98da0f9aee92b24ef039b6db51d56f4443f1847078b3805230a0c/spotty-1.1.7.tar.gz" } ], "1.1.8": [ { "comment_text": "", "digests": { "md5": "22714976c20484e63930404a169bb3f7", "sha256": "1586183786ed99c8a6ff9fe047f7cf3286d898a81800e0ab200df21fe973f96d" }, "downloads": -1, "filename": "spotty-1.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "22714976c20484e63930404a169bb3f7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 41194, "upload_time": "2019-01-30T01:41:59", "url": "https://files.pythonhosted.org/packages/32/f0/c4b6da81cedc25c406ddb340a6d9178f8e4950c98f66f59e148670fbd315/spotty-1.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2048a52a0ee2dc172735acbabdd5290f", "sha256": "988848cf77fb011de6b73bb226f2e22cb3f4b8837579c2145d51da51dd57d50f" }, "downloads": -1, "filename": "spotty-1.1.8.tar.gz", "has_sig": false, "md5_digest": "2048a52a0ee2dc172735acbabdd5290f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26871, "upload_time": "2019-01-30T01:42:01", "url": "https://files.pythonhosted.org/packages/a5/0b/55901595d29e04ec0afd1b332e09264b2e57edb27b6d231d3b8134c6771c/spotty-1.1.8.tar.gz" } ], "1.1.9": [ { "comment_text": "", "digests": { "md5": "fbb75de6a21c2f4ac007bc04f6ca2f60", "sha256": "350b7867474be1a9dda58262632f95158e50e4fc254f6c686e972fe67297df9f" }, "downloads": -1, "filename": "spotty-1.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "fbb75de6a21c2f4ac007bc04f6ca2f60", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 41142, "upload_time": "2019-03-02T00:53:02", "url": "https://files.pythonhosted.org/packages/a9/e4/34c146a124ad090a0e525346f3f1d10278a73bcf2fe066656cb60c84fc8c/spotty-1.1.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "907f29a2e30fdef95a662a6d49363b7b", "sha256": "03569782b7a0fe2bbfd44d6831929a25278461a2cb46d78baa63b637c52b5d17" }, "downloads": -1, "filename": "spotty-1.1.9.tar.gz", "has_sig": false, "md5_digest": "907f29a2e30fdef95a662a6d49363b7b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26968, "upload_time": "2019-03-02T00:53:05", "url": "https://files.pythonhosted.org/packages/82/b5/9213b31a0eedcd2ae296bb981cc5ce65d45cd1761995fafb51beac253117/spotty-1.1.9.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "22884ff6a7694ccbbb4b5e7af8e032b1", "sha256": "54a968d519f98557e17ddc959b26bfa06c5e8cc5871fc6d15ab8b8d46474daed" }, "downloads": -1, "filename": "spotty-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "22884ff6a7694ccbbb4b5e7af8e032b1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 71022, "upload_time": "2019-03-24T02:29:10", "url": "https://files.pythonhosted.org/packages/c7/9a/482459cd056068b0515261966cf8259857276833f4a8fe246e99a509db52/spotty-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "96cebe28fc4fa15ca45cd1590386b8ec", "sha256": "4cae8bb4daa462f7247da8cd251fa35ee478f29c45ab3bcaea171dffe35daa98" }, "downloads": -1, "filename": "spotty-1.2.0.tar.gz", "has_sig": false, "md5_digest": "96cebe28fc4fa15ca45cd1590386b8ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42624, "upload_time": "2019-03-24T02:29:13", "url": "https://files.pythonhosted.org/packages/1b/03/0f15e5764be5cbd7d1f22a11070ce255791bf9122853cac15f2bbd34b0fd/spotty-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "f4a7831ea8e059ef285d7f5a2fb11dae", "sha256": "3ffc7b8e680f492f94966bc6a1a38d2715fd26cb70a74fb686ce2fa54aec989f" }, "downloads": -1, "filename": "spotty-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f4a7831ea8e059ef285d7f5a2fb11dae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 71354, "upload_time": "2019-04-07T22:27:24", "url": "https://files.pythonhosted.org/packages/24/60/c8f309eb24a56d362b6550c3e77887253ff4fa8631cae38bb2b5601940dd/spotty-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d89b7719489ce9caa41435edc8869198", "sha256": "5fef2b356c61f563c34ce1da7a306b44adfd878ef63800e6cb9cf2ec8a497494" }, "downloads": -1, "filename": "spotty-1.2.1.tar.gz", "has_sig": false, "md5_digest": "d89b7719489ce9caa41435edc8869198", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42894, "upload_time": "2019-04-07T22:27:26", "url": "https://files.pythonhosted.org/packages/aa/9e/3f8b80508c0923406aeeb9b3014c93fd9688c975db8e7274193dd1dbc8a4/spotty-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "3f2c50ffa3286eea972c35fbcd5c227f", "sha256": "a2141f5b53604ab6955624fa0ced38fa6342f3169eb77f776e756ac9b58cc133" }, "downloads": -1, "filename": "spotty-1.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "3f2c50ffa3286eea972c35fbcd5c227f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 71850, "upload_time": "2019-05-08T22:58:02", "url": "https://files.pythonhosted.org/packages/73/38/1e53dfb63ad3f426f1b7d461357233d1bfb9ce1df0529d6675625a9d0ba0/spotty-1.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bc88b9c70af1b3d493176d2df37f1a35", "sha256": "1d18870e74f4b4e765142b7f5d781b9564b287349c87da6d5a7f6f601f004049" }, "downloads": -1, "filename": "spotty-1.2.2.tar.gz", "has_sig": false, "md5_digest": "bc88b9c70af1b3d493176d2df37f1a35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43402, "upload_time": "2019-05-08T22:58:04", "url": "https://files.pythonhosted.org/packages/0e/aa/9b739f672b784a8e9bfb7120de68538c98a6864789008fc009dd629339e9/spotty-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "373c0fea91e194e823be055b7ab94d91", "sha256": "a497a4140692ad3d05b43f628c5a7e86a413cec75ecd70c7f94cbcb25b5fc294" }, "downloads": -1, "filename": "spotty-1.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "373c0fea91e194e823be055b7ab94d91", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 108006, "upload_time": "2019-08-28T00:44:46", "url": "https://files.pythonhosted.org/packages/54/f7/74198a10d8f1b9c42d0182c575b0d6942c7da00f8721bc38974fb71ebf39/spotty-1.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "112ef519e5b106a57d232d6f2356a3de", "sha256": "a103008eec3b9e18395007c53d995d712c0172ae524fa8875b07bdd71ccef63b" }, "downloads": -1, "filename": "spotty-1.2.3.tar.gz", "has_sig": false, "md5_digest": "112ef519e5b106a57d232d6f2356a3de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62591, "upload_time": "2019-08-28T00:44:48", "url": "https://files.pythonhosted.org/packages/74/9b/1ee8c633fdc8e701a315a753f3e074c99f04dc6e1d2ac78635c03bbca5b9/spotty-1.2.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "373c0fea91e194e823be055b7ab94d91", "sha256": "a497a4140692ad3d05b43f628c5a7e86a413cec75ecd70c7f94cbcb25b5fc294" }, "downloads": -1, "filename": "spotty-1.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "373c0fea91e194e823be055b7ab94d91", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 108006, "upload_time": "2019-08-28T00:44:46", "url": "https://files.pythonhosted.org/packages/54/f7/74198a10d8f1b9c42d0182c575b0d6942c7da00f8721bc38974fb71ebf39/spotty-1.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "112ef519e5b106a57d232d6f2356a3de", "sha256": "a103008eec3b9e18395007c53d995d712c0172ae524fa8875b07bdd71ccef63b" }, "downloads": -1, "filename": "spotty-1.2.3.tar.gz", "has_sig": false, "md5_digest": "112ef519e5b106a57d232d6f2356a3de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62591, "upload_time": "2019-08-28T00:44:48", "url": "https://files.pythonhosted.org/packages/74/9b/1ee8c633fdc8e701a315a753f3e074c99f04dc6e1d2ac78635c03bbca5b9/spotty-1.2.3.tar.gz" } ] }