{ "info": { "author": "Aureliano Calvo", "author_email": "aurelianocalvo@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Financial and Insurance Industry", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# slowbreak\n\nLibrary to connect to FIX servers, and make our own. We use slowbreak to connect to ROFEX and BYMA markets in Argentina. \nIt was originally designed to work with FIX5.0sp2 but now is adapted to be also used with FIX 4.2+ \nIt works with python 2.7 and python 3.5+ (tested with python 2.7 and 3.6) \n\nSee the slowbreak/example folder for examples on how to use it. You can also check the slowbreak/test folder to see details on how to use the API.\n\nYou can also see the slowbreak tutorials in this playlist: https://www.youtube.com/watch?v=LKkyr2j9dOA&list=PLTQoyI2lMoFOpQ0j1EmIwv6A_GVcP4CdK\n\nDeveloped by Aureliano Calvo for Eco Valores S.A. \n\nDistributed under MIT license (see LICENSE file for details) \n\n## Why is this named as slowbreak?\n\nLess is named after more. We chosen this name as a reference to QuickFix, \nas we intend to fix several shortcomings we found when trying to use it in python.\n\n## Guiding principles\n\n### Pure python\n\nWe will try to keep as pure-python as possible with this library. \nIn the case we find we need to have a non-pure python implementation for performance reasons, \nwe will provide both the python implementation and the native one.\n\n### FIX messages are lists of (number, value) pairs\n\nFIX messages are just a list of pairs (number, value). The value is just a string. \nIn this library we do not attempt to:\n\n1. Give names to tag numbers.\n2. Know the actual type of a field.\n\nWhy? Because they vary between implementations. We try to find the waist of the protocol. We believe that all the implementations \ntreat messages as a list of pairs. This allows us to have really generic code in a lot of parts and avoid the XML fiasco that happens when you need a small \nchange of types or names in QuickFix.\n\n### Certificate authorities are insecure\n\nWhile we support connecting via SSL to servers, we intentionally not use the PKI infrastructure. Why? \nBecause when you trust 100 CAs if anyone of those betrays you then you are screwed. And algorithmic trading handles tons of cash. So there is a lot of \nincentive to do unproper things. Instead we propose to use the hash of the server certificate as a way \nto identify it, using a mechanism similar to the one used in ssh. \n\n### All messages are equivalent\n\nWe do no distinction between administrative messages and application messages. Any application may handle any message. This allows us to have the session \nhandling as just another FIX application.\n\n### FIX applications are stacked like network protocols\n\nThis gives us the posibility to have different aspects of the algorithmic trading separated. \nWe have the SessionApp, which is usually the base of the stack in production, that handles sequence numbers, logons, heartbeats, etc.\nOn top of that you may implement something that controls that the orders you put in the market are not too big, also as an FixApplication.\nAnd on top of that you can implement the logic of your trading strategy.\n\n### We do not tell you how to trade\n\nAs we develop the library, we will be adding more functionallity. For instance, we intend to provide:\n\n1. Applications to limit the position of your algorithm\n2. Applications to limit the rate of messages sent to the server\n\nWhat we will not provide is production-ready strategies for algorithmic trading.\n\n### Testing is important\n\nThat's why we provide from the start the ability to unit test your strategies, without connecting to any market, and the ability to make your own server \nto do end to end testing. \n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/aurelito/slowbreak/", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "slowbreak", "package_url": "https://pypi.org/project/slowbreak/", "platform": "", "project_url": "https://pypi.org/project/slowbreak/", "project_urls": { "Homepage": "https://bitbucket.org/aurelito/slowbreak/" }, "release_url": "https://pypi.org/project/slowbreak/0.0.16/", "requires_dist": [ "six" ], "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "summary": "Library to connect to FIX servers, and make our own", "version": "0.0.16" }, "last_serial": 5363817, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "7d44f5a1e20e82425aa57678fb7421bf", "sha256": "3a8b977590373e98a17e925a39ce45eb9d0003798a98b633b1d112375a48ee45" }, "downloads": -1, "filename": "slowbreak-0.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "7d44f5a1e20e82425aa57678fb7421bf", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 2621, "upload_time": "2018-06-08T20:29:16", "url": "https://files.pythonhosted.org/packages/c0/bf/c19d3d6acb00e7ccbef255628cfba6c9212d2283e436c99ad8ef38f5c029/slowbreak-0.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f32ce40f50982729c5fd6c55e8ffecda", "sha256": "c90ae6e71a4b90a009fc5a3b78dd7f1e8898d4857385d2961d3fa95ff2e9c30b" }, "downloads": -1, "filename": "slowbreak-0.0.0.tar.gz", "has_sig": false, "md5_digest": "f32ce40f50982729c5fd6c55e8ffecda", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1243, "upload_time": "2018-06-08T20:29:17", "url": "https://files.pythonhosted.org/packages/66/e8/487abe1e0cff3bb42f05a9d0ee09112dc81204f16005b723558f91da8adb/slowbreak-0.0.0.tar.gz" } ], "0.0.1": [ { "comment_text": "", "digests": { "md5": "1e76c453c99c1cb638e515ba6648c98a", "sha256": "3bae92e0ba90fbea42bf9e4eed5f7883196ef7201bf2337d2b216060cedf0c96" }, "downloads": -1, "filename": "slowbreak-0.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "1e76c453c99c1cb638e515ba6648c98a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 27961, "upload_time": "2018-09-03T12:53:08", "url": "https://files.pythonhosted.org/packages/91/88/1fa76cee7c9cd7127481d5ed2a9d76b403e9fc057710685329946122d58b/slowbreak-0.0.1-py2-none-any.whl" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "1bceed105e9950bfd3b82144ed9cea75", "sha256": "940ecf90dbe4f6263c0a7c6a84800b0900064284273f74f5be059b5c502fdbfb" }, "downloads": -1, "filename": "slowbreak-0.0.10-py3-none-any.whl", "has_sig": false, "md5_digest": "1bceed105e9950bfd3b82144ed9cea75", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 37751, "upload_time": "2019-05-06T16:54:44", "url": "https://files.pythonhosted.org/packages/e7/2a/db3611e8f1b294ce1e5d968b7905e29797ef0b21524c5abba846d153b0d1/slowbreak-0.0.10-py3-none-any.whl" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "5dabea79f4d4b118a8c56b652dae68d7", "sha256": "90e695f228ab22c315ddb737094d74728217434128bb7c2f44d31403b286cda1" }, "downloads": -1, "filename": "slowbreak-0.0.11-py3-none-any.whl", "has_sig": false, "md5_digest": "5dabea79f4d4b118a8c56b652dae68d7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 37751, "upload_time": "2019-05-09T09:30:21", "url": "https://files.pythonhosted.org/packages/85/53/d8daabb2c17309990d8c64f794297c6af49486857859fe55266e0c5bccad/slowbreak-0.0.11-py3-none-any.whl" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "1d3aab65051ac6fc81c2cc9b8629e64e", "sha256": "2c8feef18e47144288eef6d6eb650d3f71aabe73ff4abf63c3a2fb35269ada03" }, "downloads": -1, "filename": "slowbreak-0.0.12-py3-none-any.whl", "has_sig": false, "md5_digest": "1d3aab65051ac6fc81c2cc9b8629e64e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 37906, "upload_time": "2019-05-16T11:52:28", "url": "https://files.pythonhosted.org/packages/54/55/0005f24de26b65a0ffab70eab6461a81eed337230e1e64061579af68001c/slowbreak-0.0.12-py3-none-any.whl" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "208a2c91378bc06d2a98a95f3f76a687", "sha256": "83574e0e01bb18c79cea0de3690dff482accc1f25cc9309a9597a85e88535a6a" }, "downloads": -1, "filename": "slowbreak-0.0.13-py3-none-any.whl", "has_sig": false, "md5_digest": "208a2c91378bc06d2a98a95f3f76a687", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 37930, "upload_time": "2019-05-27T14:03:28", "url": "https://files.pythonhosted.org/packages/03/f4/4dfffcf9321de1382c4d346a96f3ccf705b36389d8ff0861052896da09d8/slowbreak-0.0.13-py3-none-any.whl" } ], "0.0.14": [ { "comment_text": "", "digests": { "md5": "9f3916bde860ad86e238cddb447241a7", "sha256": "dc67e8c7a9b45e549cbebf489a06edd16f1d4100599adf14eca7ab3cf432c2e0" }, "downloads": -1, "filename": "slowbreak-0.0.14-py3-none-any.whl", "has_sig": false, "md5_digest": "9f3916bde860ad86e238cddb447241a7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 38097, "upload_time": "2019-05-30T18:22:23", "url": "https://files.pythonhosted.org/packages/a3/59/4ce018150d618b02d1bb8f507c30a978d0118ee852bdbb56e6eaf1ac467a/slowbreak-0.0.14-py3-none-any.whl" } ], "0.0.15": [ { "comment_text": "", "digests": { "md5": "4ff650602ace6d60e836fd098186a1ef", "sha256": "caf621a213556714932ecb62b80ba27dd6447111f5bc72ecfc96741a936fb582" }, "downloads": -1, "filename": "slowbreak-0.0.15-py3-none-any.whl", "has_sig": false, "md5_digest": "4ff650602ace6d60e836fd098186a1ef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 38206, "upload_time": "2019-05-31T15:08:19", "url": "https://files.pythonhosted.org/packages/27/47/3ed190c2c8856af76d26f7ac20ea5bd327f1a2cf37401af03bf473a38bc4/slowbreak-0.0.15-py3-none-any.whl" } ], "0.0.16": [ { "comment_text": "", "digests": { "md5": "ded89cdf6235162b27079506449a266a", "sha256": "96c3edd897f195321e74e52b5a404679bf2eab609193e59b3e790f0242c9af09" }, "downloads": -1, "filename": "slowbreak-0.0.16-py3-none-any.whl", "has_sig": false, "md5_digest": "ded89cdf6235162b27079506449a266a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 38473, "upload_time": "2019-06-05T18:53:06", "url": "https://files.pythonhosted.org/packages/07/86/33d6518eeb8a50ebbfcafb400fdc24713a9d7a6faac9e9c1d7e9936c2d3a/slowbreak-0.0.16-py3-none-any.whl" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "f6497dc2ee4e4d95cd952ec11baf60c8", "sha256": "cb594e6834aa3a8d7725edb3df7f393b97ce3471e1cb6e12bfb30cd2deb595d8" }, "downloads": -1, "filename": "slowbreak-0.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "f6497dc2ee4e4d95cd952ec11baf60c8", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 32396, "upload_time": "2018-10-17T12:14:06", "url": "https://files.pythonhosted.org/packages/9c/18/06f31e9d191ba1a0c9e0cc01ee0e84c909616c16e5a8ba81b7b99c124268/slowbreak-0.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "afba77a31a9ccb88da8412d14f598243", "sha256": "8ee183f3ee2aeaa2c70021351d67d662dd3babf6778aa9da5800101e2e3499da" }, "downloads": -1, "filename": "slowbreak-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "afba77a31a9ccb88da8412d14f598243", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 32396, "upload_time": "2018-10-17T12:14:08", "url": "https://files.pythonhosted.org/packages/b1/70/7f15d5ece0bffcc59c4f58bde9ef519860b5d5ec3671223662a21d6af8c1/slowbreak-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c0283877a30fc3aa465a27453a5f4594", "sha256": "42a1a42321d92acc29ccbeeebf1786a18a64e7f0d5b2f8d2b45cd1fb83c3fd9f" }, "downloads": -1, "filename": "slowbreak-0.0.2.tar.gz", "has_sig": false, "md5_digest": "c0283877a30fc3aa465a27453a5f4594", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 28921, "upload_time": "2018-10-17T12:14:10", "url": "https://files.pythonhosted.org/packages/dd/3e/cc462998a3c49dc1494b6c4059f74da544c5c48b8cf955f124df95bed928/slowbreak-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "2911d063c7a0dd1d076ad1cf82e0a7d6", "sha256": "2a67b4712108597f80a1d83334a1437a11c8d73d941a5b3c3b586de9d9795fb3" }, "downloads": -1, "filename": "slowbreak-0.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "2911d063c7a0dd1d076ad1cf82e0a7d6", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 34034, "upload_time": "2018-11-03T03:11:21", "url": "https://files.pythonhosted.org/packages/09/31/a57d99abcdb923e5d33cda1a774408d16f74213e9da31b76eb3d44cb0b7b/slowbreak-0.0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f2df9e5b24f9e448d058c039f6f8d488", "sha256": "f7dd3b4cb935234db4d3168d56ba259ded55850b8f62138974c2c6824a9d358b" }, "downloads": -1, "filename": "slowbreak-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "f2df9e5b24f9e448d058c039f6f8d488", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 34035, "upload_time": "2018-11-03T03:11:23", "url": "https://files.pythonhosted.org/packages/a3/92/dc27da3bb98a82a8dc33d4668139a630c5c1aef186eaadafad02dcec3fbe/slowbreak-0.0.3-py3-none-any.whl" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "e376c809b5d181e2b730853f8e3aa9ac", "sha256": "00aa60e2b5ca52e714bc00a40667b81534a21759d21d495ed6839db3feea6784" }, "downloads": -1, "filename": "slowbreak-0.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "e376c809b5d181e2b730853f8e3aa9ac", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 34888, "upload_time": "2018-11-08T11:18:18", "url": "https://files.pythonhosted.org/packages/94/c8/62f2a9a92167394d3b83d6090790a97a5db506c99d63e7e3b85b6f68b235/slowbreak-0.0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3403093d773549ac3b97655c5ffd177d", "sha256": "b9e53c2ae8f97f8252e6e33b2420b5e4702ea080656f13ade0e74aeb013e5d40" }, "downloads": -1, "filename": "slowbreak-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "3403093d773549ac3b97655c5ffd177d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 34888, "upload_time": "2018-11-08T11:18:20", "url": "https://files.pythonhosted.org/packages/2a/40/75285bf843f24786ad24b0e5dbe549e8f6940e3a33f944d70221d5ae2ed9/slowbreak-0.0.4-py3-none-any.whl" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "15955c7de3a72af554ce8e37259ddbeb", "sha256": "b63009c12e2ca01a397f6403ce4a4774bb9fa4cad16663e85b321be39345138e" }, "downloads": -1, "filename": "slowbreak-0.0.5-py2-none-any.whl", "has_sig": false, "md5_digest": "15955c7de3a72af554ce8e37259ddbeb", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 36368, "upload_time": "2018-11-08T14:10:58", "url": "https://files.pythonhosted.org/packages/6b/69/098d84c3b54aaca8acdee3c828e2b1c8638e5ddc082504293441f18e1165/slowbreak-0.0.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "195deadf900ffe72309c6b66e8f64b68", "sha256": "1e354de003ba876e8b421eef019f1f4a94bfbfda45180324891be06cee2f3d4e" }, "downloads": -1, "filename": "slowbreak-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "195deadf900ffe72309c6b66e8f64b68", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 36369, "upload_time": "2018-11-08T14:11:00", "url": "https://files.pythonhosted.org/packages/bb/4e/aab5d78c0c50aac3a93cad7ba6693dfc3779178f262471806874bb443672/slowbreak-0.0.5-py3-none-any.whl" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "be6d46bf32138a92ed96a8d68a671293", "sha256": "1f4d36257d9c875c96a5a0c2d04e4025e1fbb23419592c9774c7330d91fd0169" }, "downloads": -1, "filename": "slowbreak-0.0.6-py2-none-any.whl", "has_sig": false, "md5_digest": "be6d46bf32138a92ed96a8d68a671293", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 37311, "upload_time": "2018-11-14T14:16:30", "url": "https://files.pythonhosted.org/packages/76/6b/5d8b0e96ca0a0989613843d86562bafd5b7d39703794da4b50dac48230cf/slowbreak-0.0.6-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a21432ff226709866516d0702ae3d3af", "sha256": "62a409bbccc499aa27153903f8d5344162a639e977581642ed2e2e99943abfa8" }, "downloads": -1, "filename": "slowbreak-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "a21432ff226709866516d0702ae3d3af", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 37311, "upload_time": "2018-11-14T14:16:33", "url": "https://files.pythonhosted.org/packages/f1/64/82ee4c1eb29f950219f108c90a46bf126ac8c4670afc93ef76cd5b729c06/slowbreak-0.0.6-py3-none-any.whl" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "62fb780e870aa6a3a9cb0b0aee03c00a", "sha256": "3e754fbdcfe8f56bdf7a12c03457d13fc4bc207598f8453ac852b9ac0b5cc7bc" }, "downloads": -1, "filename": "slowbreak-0.0.7-py2-none-any.whl", "has_sig": false, "md5_digest": "62fb780e870aa6a3a9cb0b0aee03c00a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 37563, "upload_time": "2018-11-28T12:51:48", "url": "https://files.pythonhosted.org/packages/6c/48/3c07279c96308233dd9de9dcc2e6f3de5aa4227c59d9e5dee65c63caefda/slowbreak-0.0.7-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e3f9973a681c2fe5e9fe0371c3ef3663", "sha256": "79931c4d7c257299f25355434640ab6f10c144ff0c36786aabf1c834a9370154" }, "downloads": -1, "filename": "slowbreak-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "e3f9973a681c2fe5e9fe0371c3ef3663", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 37563, "upload_time": "2018-11-28T12:51:51", "url": "https://files.pythonhosted.org/packages/19/68/44f45654a7481e47f373f3bf621576cb9288e09465dfb21040a6995643b5/slowbreak-0.0.7-py3-none-any.whl" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "e4639b570793557dda6772eab103949e", "sha256": "1638fc36ab04125af65f46862592de178671614d06c70db4b205d3f5f725e13e" }, "downloads": -1, "filename": "slowbreak-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "e4639b570793557dda6772eab103949e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 37663, "upload_time": "2019-04-24T12:53:52", "url": "https://files.pythonhosted.org/packages/48/07/8d6827243c458de6b86084cbd6d054a901f1f4dffc63ef6eb062bdea158a/slowbreak-0.0.8-py3-none-any.whl" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "f0d6aaa8aef967c84d99cb74d41991ac", "sha256": "3e98ef55c4d3ae1d4271caaebb7fc7db7ed55387843cc73375ef8bdc1ab0e395" }, "downloads": -1, "filename": "slowbreak-0.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "f0d6aaa8aef967c84d99cb74d41991ac", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 37701, "upload_time": "2019-04-30T18:00:22", "url": "https://files.pythonhosted.org/packages/e0/b6/2b14fdf05db8f5fce3637a490bf8886227214e07aea87f0a72dd29ac2963/slowbreak-0.0.9-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ded89cdf6235162b27079506449a266a", "sha256": "96c3edd897f195321e74e52b5a404679bf2eab609193e59b3e790f0242c9af09" }, "downloads": -1, "filename": "slowbreak-0.0.16-py3-none-any.whl", "has_sig": false, "md5_digest": "ded89cdf6235162b27079506449a266a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 38473, "upload_time": "2019-06-05T18:53:06", "url": "https://files.pythonhosted.org/packages/07/86/33d6518eeb8a50ebbfcafb400fdc24713a9d7a6faac9e9c1d7e9936c2d3a/slowbreak-0.0.16-py3-none-any.whl" } ] }