{ "info": { "author": "Janez Troha", "author_email": "dz0ny@ubuntu.si", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "[![Build Status](https://travis-ci.com/dz0ny/tulips.svg?branch=master)](https://travis-ci.com/dz0ny/tulips)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n[![Type checker: mypy](https://img.shields.io/badge/type%20checker-mypy-1F5082.svg)](https://github.com/python/mypy)\n[![Packaging: poetry](https://img.shields.io/badge/packaging-poetry-C2CAFD.svg)](https://poetry.eustace.io/)\n[![Packaging: poetry](https://img.shields.io/badge/packaging-pypi-006dad.svg)](https://pypi.org/project/tulips/)\n[![codecov](https://codecov.io/gh/dz0ny/tulips/branch/master/graph/badge.svg)](https://codecov.io/gh/dz0ny/tulips)\n\n# Tulips\n\nA small wrapper around https://github.com/kubernetes-client/python which understands Kubernetes charts.\n\n## Why\n\nI needed something simple that would read Helm charts and push them to the Kubernetes cluster and\nbe extensible. So something like helm+kubectl with ability to write you own tools around them.\n\n## Supported CRDS aka Kubernetes resources\n\n- Deployment\n- Service\n- Ingress\n- Secret\n- Issuer (cert-manager)\n- PersistentVolumeClaim\n\n## Example use\n\n```python\n\nimport yaml\nfrom tulips.resources import ResourceRegistry\nfrom kubernetes import client as k8s\nfrom kubernetes import config\n\n\nclient = config.new_client_from_config('kube.conf')\n\nspec = yaml.load('ingress.yaml')\n\ningress_cls = ResourceRegistry.get_cls(spec['kind'])\ningress = ingress_cls(config.client, namespace='default', spec)\ningress.create() # Create Ingress resource\ningress.delete() # Delete Ingress resource\n```\n\n## Adding new resource\n\nIn order to add support for new Kubernetes resource, one needs to create class\nthat inherits from `tulips.resources.Resource` class.\n\n### Example resource\n\n```python\nimport tulips.resources.Resource\n\nclass ClusterIssuer(Resource):\n \"\"\"A `cert-manager` ClusterIssuer resource.\"\"\"\n\n version = \"v1alpha1\"\n group = \"certmanager.k8s.io\"\n plural = \"clusterissuers\"\n\n def delete(self, body: k8s.V1DeleteOptions):\n return k8s.CustomObjectsApi(\n self.client\n ).delete_namespaced_custom_object(\n body=body,\n namespace=self.namespace,\n version=self.version,\n group=self.group,\n plural=self.plural,\n name=self.name,\n )\n\n def create(self):\n return k8s.CustomObjectsApi(\n self.client\n ).create_namespaced_custom_object(\n body=self.resource,\n namespace=self.namespace,\n version=self.version,\n group=self.group,\n plural=self.plural,\n )\n```\n\nIt will be registered into the `ResourceRegistry` and can be fetched via `ResourceRegistry.get_cls` method.\n\n## Tulip\n\nTulip is a sample client that emulates Helm but without `tiller`.\n\n```shell\n$ python tulips push --help 06/25/18 - 9:49\nUsage: tulips push [OPTIONS] CHART\n\n You can pass chart variables via foo=bar, for example '$ tulip push\n app.yaml foo=bar'\n\nOptions:\n --namespace TEXT Kubernetes namespace\n --release TEXT Name of the release\n --kubeconfig PATH Path to kubernetes config\n --help Show this message and exit.\n\n```\n\n### Example client\n\nLet's say that I want to deploy a Secret and Ingress\n\n```yaml\napiVersion: v1\nkind: Secret\nmetadata:\n name: {{ release }}-secrets\ntype: Opaque\ndata:\n password: {{ @pwd }}\n---\napiVersion: extensions/v1beta1\nkind: Ingress\nmetadata:\n name: {{ release }}-web-ingress\n labels:\n app: woocart-{{ release }}\n annotations:\n nginx.ingress.kubernetes.io/limit-connections: \"100\"\n kubernetes.io/ingress.class: nginx\nspec:\n rules:\n - host: {{ domain }}\n http:\n paths:\n - path: /\n backend:\n serviceName: {{ release }}-web\n servicePort: 80\n```\n\nIf one runs `tulip --release test push --kubeconf kube.conf app.yaml domain=test.tld'\n\nSpec file is inspected and all `{{ variables }}` are replaced with real values. Also\nspecial `{{ @pwd }}` will generate strong password using `passlib` library.\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/dz0ny/tulips", "keywords": "", "license": "MIT", "maintainer": "Janez Troha", "maintainer_email": "dz0ny@ubuntu.si", "name": "tulips", "package_url": "https://pypi.org/project/tulips/", "platform": "", "project_url": "https://pypi.org/project/tulips/", "project_urls": { "Homepage": "https://github.com/dz0ny/tulips", "Repository": "https://github.com/dz0ny/tulips" }, "release_url": "https://pypi.org/project/tulips/1.4.5/", "requires_dist": [ "kubernetes (>=9.0.0,<10.0.0)", "click (>=6.7,<7.0)", "structlog (>=18.1,<19.0)", "passlib (>=1.7,<2.0)", "ruamel.yaml (>=0.15.89,<0.16.0)" ], "requires_python": ">=3.6,<4.0", "summary": "Wrapper around kubernetes-clients/python", "version": "1.4.5" }, "last_serial": 5713690, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "ab45d22cf84b2e863856a39ebaab9606", "sha256": "c9cf063e0f5fc482722142cbe586f9ea785255e8d239697f81fbfa0638dfe4b5" }, "downloads": -1, "filename": "tulips-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ab45d22cf84b2e863856a39ebaab9606", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 8171, "upload_time": "2018-06-24T08:52:57", "url": "https://files.pythonhosted.org/packages/2d/6b/fe2800d59685d60cbe2184e2bcf2078024647db7d6f99abca125df2952af/tulips-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "87ada4e5b6e350b834ac40740fc2052c", "sha256": "0138ffa292bd971385db1310526c165ae20632733d1d277e9cb035524b5a109c" }, "downloads": -1, "filename": "tulips-0.1.0.tar.gz", "has_sig": false, "md5_digest": "87ada4e5b6e350b834ac40740fc2052c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 2608, "upload_time": "2018-06-24T08:52:59", "url": "https://files.pythonhosted.org/packages/94/03/73715dbc343a30ce042028859f8ddef510611335441f59f1669f3fcc5681/tulips-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "7837de3ffc1f69e25ae60acf8eed430b", "sha256": "f5cf8c414cef1b5a5f2220e9e8a87793c9f6dc9ac8d4292f2d5c79c8c9e4cbcb" }, "downloads": -1, "filename": "tulips-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7837de3ffc1f69e25ae60acf8eed430b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 8426, "upload_time": "2018-06-24T10:45:58", "url": "https://files.pythonhosted.org/packages/91/cd/f7ba83e2e3929990a812773d610c7cba7b9c0d76b0ecf599c8838951d7c3/tulips-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "65d8d0fa701ee93f9db676354da874ba", "sha256": "a358c1e191897685ed4d9de00970606e11cb4caa1d65b00ead67168e3d739068" }, "downloads": -1, "filename": "tulips-0.1.1.tar.gz", "has_sig": false, "md5_digest": "65d8d0fa701ee93f9db676354da874ba", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 2966, "upload_time": "2018-06-24T10:46:00", "url": "https://files.pythonhosted.org/packages/17/9e/16ea36938a20b6ba82d2ed09d283c59679fd2cdddda7c37fc3e6b9a99952/tulips-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "bdfa4872a592b1f80be21851c72ce1cc", "sha256": "248d84ca386a94d0631c30139ad88570b6f3952973fc7234cd8214f5befa8169" }, "downloads": -1, "filename": "tulips-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "bdfa4872a592b1f80be21851c72ce1cc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 13251, "upload_time": "2018-06-25T08:24:40", "url": "https://files.pythonhosted.org/packages/0c/e6/df034202a34f9d8252e9b21d2b4ab8288499ba855ae22ee1455e4636eb9f/tulips-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ffc23bc7db9110aa3a905b4f08a50cf6", "sha256": "ab451f0e2b434eb7d64cbe2ce161cca7900f48ab04eef6716fcdee8272af1d74" }, "downloads": -1, "filename": "tulips-0.1.2.tar.gz", "has_sig": false, "md5_digest": "ffc23bc7db9110aa3a905b4f08a50cf6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 4923, "upload_time": "2018-06-25T08:24:41", "url": "https://files.pythonhosted.org/packages/2a/b4/451863109ce17000184dd6f016c788fbded76ce40f06901786c04549d1e4/tulips-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "c6a0576bf42ca766c5ee7a5d9da485b6", "sha256": "b28e9b0de535b777e68a853ad3660fce44d4cf933e06dcaad8dd372b256ad24c" }, "downloads": -1, "filename": "tulips-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c6a0576bf42ca766c5ee7a5d9da485b6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 13911, "upload_time": "2018-06-25T16:12:09", "url": "https://files.pythonhosted.org/packages/e3/92/255956371127541737b671796b2c21e963ea3243aca92c9e662464b66314/tulips-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f389c110e84c6bb98a3a990563c7c0a2", "sha256": "24dc0707b5dedbceba03f3d1d6ec99a3993c5b359c9b85d5fc35c6e8d7146af7" }, "downloads": -1, "filename": "tulips-0.1.3.tar.gz", "has_sig": false, "md5_digest": "f389c110e84c6bb98a3a990563c7c0a2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 6193, "upload_time": "2018-06-25T16:12:10", "url": "https://files.pythonhosted.org/packages/d6/2a/e1400565877e2d3f543812908e79fcd893c11bf985d3ce2f271d629ec8c3/tulips-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "3cb6e6ce572172e8dcc787bb02f16827", "sha256": "2bd8106cc850db8afbf67dacff5d6cafa262ca375b88acad95b205a15c4b9827" }, "downloads": -1, "filename": "tulips-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "3cb6e6ce572172e8dcc787bb02f16827", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 13913, "upload_time": "2018-06-25T16:15:29", "url": "https://files.pythonhosted.org/packages/94/8d/3f24af3d494851e59c90b3f67ee60c4b1324c1ecc57dd5592388af1779d8/tulips-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "04e236db63061cf8f6b7affef6f16be5", "sha256": "ef99e91d5bfa4b3379ea7fc2a7b7a45732f9456617935514f65248b0f0f26bb9" }, "downloads": -1, "filename": "tulips-0.1.4.tar.gz", "has_sig": false, "md5_digest": "04e236db63061cf8f6b7affef6f16be5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 6192, "upload_time": "2018-06-25T16:15:30", "url": "https://files.pythonhosted.org/packages/d0/1a/71d2fde5f1b0e248c89a1dc73844e65704fd8e99adf6063a03d0102a9852/tulips-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "dab864bbe4b9f62aed0279158339fa93", "sha256": "813dfe8c32e107bdf05a59ea0a6c144f26b8b7ff65dfbc26b443ac44543ba026" }, "downloads": -1, "filename": "tulips-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "dab864bbe4b9f62aed0279158339fa93", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 13911, "upload_time": "2018-06-25T16:23:26", "url": "https://files.pythonhosted.org/packages/fd/d1/5039f69e1c05e93765e5d2cebc5a0f42d56a1fea9fade34399f07b4237ad/tulips-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0a6046a375ebe2406c6fba464578fae1", "sha256": "7518e234f823fbf6d515bd15e1ef1421ad54507111f446e837b423205af6728f" }, "downloads": -1, "filename": "tulips-0.1.5.tar.gz", "has_sig": false, "md5_digest": "0a6046a375ebe2406c6fba464578fae1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 6189, "upload_time": "2018-06-25T16:23:28", "url": "https://files.pythonhosted.org/packages/06/a8/d04d2b001ab6560f6c716f0f26de813af23214e1c22b1778198563751aad/tulips-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "3fdde01681958a430c3982e6eb860c70", "sha256": "e422c71b6466b0d882af66db0bfa2d02dbd0d0a16843f52f38307348663b6a56" }, "downloads": -1, "filename": "tulips-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "3fdde01681958a430c3982e6eb860c70", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 16957, "upload_time": "2018-07-04T13:52:58", "url": "https://files.pythonhosted.org/packages/29/3f/df5d7b08eefe379bda16d80722dfc0798dc32ca95ba62279f464037c0261/tulips-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "99ab08cad9ef8dfd2fb9f5dbec5e9cfb", "sha256": "fffc54d9e884384bd4ab2c67336abc5dd105d15bc98358d1a3b4762ada346cf5" }, "downloads": -1, "filename": "tulips-0.1.6.tar.gz", "has_sig": false, "md5_digest": "99ab08cad9ef8dfd2fb9f5dbec5e9cfb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 7026, "upload_time": "2018-07-04T13:53:00", "url": "https://files.pythonhosted.org/packages/fc/92/e6689c01b65c9eabb88315dd1f9561d1479a14c7842db35a0217457607d4/tulips-0.1.6.tar.gz" } ], "1.1.10": [ { "comment_text": "", "digests": { "md5": "56a03ffa522b549e8405bd8598b57943", "sha256": "2649f2ff4d1d1a288588e27f1856d191b01dbe13820777cf100d7020c675ae6e" }, "downloads": -1, "filename": "tulips-1.1.10-py3-none-any.whl", "has_sig": false, "md5_digest": "56a03ffa522b549e8405bd8598b57943", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 20461, "upload_time": "2018-07-10T07:27:32", "url": "https://files.pythonhosted.org/packages/01/b6/e8045dd24476b29e4adf1da6059886e607f6bc5caf6ce63f4bf0c878105d/tulips-1.1.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "65d382ee6f1f24020fff3624a873ad2e", "sha256": "6cfd78894d8ea5958a93037242e889ec43d45e0e565838c09bc1ed6951122c04" }, "downloads": -1, "filename": "tulips-1.1.10.tar.gz", "has_sig": false, "md5_digest": "65d382ee6f1f24020fff3624a873ad2e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 7369, "upload_time": "2018-07-10T07:27:33", "url": "https://files.pythonhosted.org/packages/97/22/88883ccb5501f3b2cff280352b77f686c613db80e6ac6acd7fdbc4f6cf28/tulips-1.1.10.tar.gz" } ], "1.1.11": [ { "comment_text": "", "digests": { "md5": "89251045e92f294ea7388d3abf060ef6", "sha256": "fe37f5d1ddde0c712d7624ecc3011661db6fdcfd26584dde755f2b12ccc50f9e" }, "downloads": -1, "filename": "tulips-1.1.11-py3-none-any.whl", "has_sig": false, "md5_digest": "89251045e92f294ea7388d3abf060ef6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 20452, "upload_time": "2018-07-10T07:47:24", "url": "https://files.pythonhosted.org/packages/bd/fa/f349839fa79eb6ddbc7e77d87e7420ec265a4709621ca6648334a648a7c7/tulips-1.1.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e8e2c2d2f8506da82f323f0886c95122", "sha256": "5b8e24d0ce2f03e8a1b9ee912be99d0d877b2f0d46bc33c9f0f24cdd2bb90779" }, "downloads": -1, "filename": "tulips-1.1.11.tar.gz", "has_sig": false, "md5_digest": "e8e2c2d2f8506da82f323f0886c95122", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 7356, "upload_time": "2018-07-10T07:47:26", "url": "https://files.pythonhosted.org/packages/93/b1/6f1306037c4497dac745a6fd6a9c3e2869cb04ce283b110f025460fb980c/tulips-1.1.11.tar.gz" } ], "1.1.12": [ { "comment_text": "", "digests": { "md5": "ded6d0d4497efd2be58958e7a9065f40", "sha256": "2ac6461ac520f3ab83efa1e2fc77131c5ac41219af171990c56e11095be7d5f8" }, "downloads": -1, "filename": "tulips-1.1.12-py3-none-any.whl", "has_sig": false, "md5_digest": "ded6d0d4497efd2be58958e7a9065f40", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 20537, "upload_time": "2018-07-10T08:20:56", "url": "https://files.pythonhosted.org/packages/2c/f0/7a2cea54766ce067b7cd5b23cf2daf20eee76b1452e603d668df409189ac/tulips-1.1.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8946034e5c5c1051addb30e83f0e60db", "sha256": "836ff8f5871b49b78b20bc799a40a00167da5f5e18ad73f70a0bc7fa2c6d5bde" }, "downloads": -1, "filename": "tulips-1.1.12.tar.gz", "has_sig": false, "md5_digest": "8946034e5c5c1051addb30e83f0e60db", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 7391, "upload_time": "2018-07-10T08:20:57", "url": "https://files.pythonhosted.org/packages/9b/3d/0f2d3e2d79e476734b01e38a225ada2ecbf26559f2a6a6d3a0e9e4446094/tulips-1.1.12.tar.gz" } ], "1.1.13": [ { "comment_text": "", "digests": { "md5": "43d5f4471e42fdf490342f347546ae9e", "sha256": "9b25178f140cfd1c9f6b6be50f42eaa67d696be8639d0c2858c2543fd6bc01b2" }, "downloads": -1, "filename": "tulips-1.1.13-py3-none-any.whl", "has_sig": false, "md5_digest": "43d5f4471e42fdf490342f347546ae9e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 21551, "upload_time": "2018-07-19T11:29:44", "url": "https://files.pythonhosted.org/packages/9f/f8/0e656bb44a29b7828ec992375974b1e6189fc9c0e5f4f31dfffdf739a810/tulips-1.1.13-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "16f6cd09db83e3ecdaa1594e2ed3a991", "sha256": "75d825d585fbcf9ca29a6da92922e133cae6fad7bbfaf5c3fbc2e72a3bbe5232" }, "downloads": -1, "filename": "tulips-1.1.13.tar.gz", "has_sig": false, "md5_digest": "16f6cd09db83e3ecdaa1594e2ed3a991", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 7523, "upload_time": "2018-07-19T11:29:44", "url": "https://files.pythonhosted.org/packages/5e/06/dd61a3f535af1a85974471dcf09b4ed60a6f874da66a461bfa0ab4deb93b/tulips-1.1.13.tar.gz" } ], "1.1.14": [ { "comment_text": "", "digests": { "md5": "a395309874e7957c28b64816fa783485", "sha256": "b5bb07cc2e46b1c681f677cefe3333b8eb3ac00aa6d063a3f4c1a332025b4669" }, "downloads": -1, "filename": "tulips-1.1.14-py3-none-any.whl", "has_sig": false, "md5_digest": "a395309874e7957c28b64816fa783485", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 21540, "upload_time": "2018-07-19T19:46:48", "url": "https://files.pythonhosted.org/packages/7e/a0/53777e8cd0909d7fcbf5fade71fb95b466701d5ec93108c7f477789f3208/tulips-1.1.14-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c18c4ebdbfe94f9bf561bcbbf7bc2c26", "sha256": "2cfdd61f17cb82f5b66309d7fc0b9baa4d5d80d8f127764aa79d03ac0f21c2c5" }, "downloads": -1, "filename": "tulips-1.1.14.tar.gz", "has_sig": false, "md5_digest": "c18c4ebdbfe94f9bf561bcbbf7bc2c26", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 7518, "upload_time": "2018-07-19T19:46:50", "url": "https://files.pythonhosted.org/packages/8b/75/7d79616c9a0aa2b4f7ee03252ae0259bb877f1151dea74d01ce15599be12/tulips-1.1.14.tar.gz" } ], "1.1.15": [ { "comment_text": "", "digests": { "md5": "c4f43a8615646ad70a20d86a824708db", "sha256": "dcc948daa9287451b43509122ab2a99e2ea84c4a0c17c36a273143628be7c53e" }, "downloads": -1, "filename": "tulips-1.1.15-py3-none-any.whl", "has_sig": false, "md5_digest": "c4f43a8615646ad70a20d86a824708db", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 21545, "upload_time": "2018-07-20T07:51:49", "url": "https://files.pythonhosted.org/packages/31/6e/132b0b9c58c35bc167e1ed9c4f5da36e5a4d73c27ae148594db5f941ea2b/tulips-1.1.15-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "855d58c1c5a1e32d35eaca0f80c48e5a", "sha256": "827cc3bf01e3193151c854aa1e76a43e34b9d6d39a6f0c472c4f9ac08b4e3394" }, "downloads": -1, "filename": "tulips-1.1.15.tar.gz", "has_sig": false, "md5_digest": "855d58c1c5a1e32d35eaca0f80c48e5a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 7527, "upload_time": "2018-07-20T07:51:50", "url": "https://files.pythonhosted.org/packages/98/6e/966c6992ac7017f16f3f2e60f6a3da2016e2d18f2b2a1e3b309f5127a2ac/tulips-1.1.15.tar.gz" } ], "1.1.16": [ { "comment_text": "", "digests": { "md5": "d8177e1826f2455f1021b40e1ccdcf71", "sha256": "038b8a2c9b5a46bd76c223de8fa25a17be776cff05303bcfe1016ff8aab23885" }, "downloads": -1, "filename": "tulips-1.1.16-py3-none-any.whl", "has_sig": false, "md5_digest": "d8177e1826f2455f1021b40e1ccdcf71", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 21695, "upload_time": "2018-07-24T11:53:45", "url": "https://files.pythonhosted.org/packages/67/1a/7d0340ea9b0c5d4c4d92288f3e99701cb85909dc33e32648e850f4efd8dc/tulips-1.1.16-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "970dbb5915d6559dcda484a9bc379b8c", "sha256": "6643ba7e3b5e7d8568ed9011f30f079997d8ad9eecfe35d8795bf8a6436aa6fb" }, "downloads": -1, "filename": "tulips-1.1.16.tar.gz", "has_sig": false, "md5_digest": "970dbb5915d6559dcda484a9bc379b8c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 7575, "upload_time": "2018-07-24T11:53:46", "url": "https://files.pythonhosted.org/packages/4c/e6/b86e368aed64bc1f47544da20679feeb687096771ab8ed3e9cc8df533534/tulips-1.1.16.tar.gz" } ], "1.1.17": [ { "comment_text": "", "digests": { "md5": "cd93a7ada31705c49b91a37a96211fb2", "sha256": "67ce939dc7222f5511e928e67679760200c1c94be769305d2a677cafd09e0619" }, "downloads": -1, "filename": "tulips-1.1.17-py3-none-any.whl", "has_sig": false, "md5_digest": "cd93a7ada31705c49b91a37a96211fb2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 22298, "upload_time": "2018-07-30T13:03:21", "url": "https://files.pythonhosted.org/packages/3c/90/ef401670bdf4efb1924ff01f23fb77308d0204fa2d8f1cdfbc9dda3b4369/tulips-1.1.17-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e752dba6c04e9c86e5c0e532405b3ac9", "sha256": "940e89c90a1b677e4e6681962ad5c24f9331839d28558be5e40d768a375ad4b7" }, "downloads": -1, "filename": "tulips-1.1.17.tar.gz", "has_sig": false, "md5_digest": "e752dba6c04e9c86e5c0e532405b3ac9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 7738, "upload_time": "2018-07-30T13:03:22", "url": "https://files.pythonhosted.org/packages/a1/18/0cb6292eb0da97644034cd52e7b332ac21a894e5dbe1a3bee834de26ce06/tulips-1.1.17.tar.gz" } ], "1.1.18": [ { "comment_text": "", "digests": { "md5": "4ac3b48048fa3d05ce40d9ea88126530", "sha256": "f456ff28d8b4cf61845e1bf3a226925a71d1845c361bdb80e07188fe54c1be4e" }, "downloads": -1, "filename": "tulips-1.1.18-py3-none-any.whl", "has_sig": false, "md5_digest": "4ac3b48048fa3d05ce40d9ea88126530", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 23052, "upload_time": "2018-08-21T12:10:54", "url": "https://files.pythonhosted.org/packages/19/d7/fbd7dc98e917844e5e1f09082f9faa1684108b3c377246cf5e854831e5ba/tulips-1.1.18-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "94b2a3b7299fe04c079f379896d96f1f", "sha256": "e17496f88162534947d69b4a2beee91d5105caf5698be09bbaf2be8688ec3585" }, "downloads": -1, "filename": "tulips-1.1.18.tar.gz", "has_sig": false, "md5_digest": "94b2a3b7299fe04c079f379896d96f1f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 7843, "upload_time": "2018-08-21T12:10:56", "url": "https://files.pythonhosted.org/packages/08/33/9b1e74916935be3fb8e4fe33b89016e10573abb41e346b29056ae50fa2a4/tulips-1.1.18.tar.gz" } ], "1.1.19": [ { "comment_text": "", "digests": { "md5": "719c4b4228073862af3ac47d268755ba", "sha256": "fd8c6c34afa2ce044c2c3a3907e1782beaf2e9b9165278d633328c7131642872" }, "downloads": -1, "filename": "tulips-1.1.19-py3-none-any.whl", "has_sig": false, "md5_digest": "719c4b4228073862af3ac47d268755ba", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 23316, "upload_time": "2018-08-21T17:42:33", "url": "https://files.pythonhosted.org/packages/52/b6/38d5ce6826619118134c3440395db13c512290b5f84a427a1e5541281a0c/tulips-1.1.19-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dd81dbf3fcfa1f0b9371e074d94f8ef0", "sha256": "57f71c5ebdb75f4a8f1e39943ad964c29a90ad2ad1713596b2bd362310da3416" }, "downloads": -1, "filename": "tulips-1.1.19.tar.gz", "has_sig": false, "md5_digest": "dd81dbf3fcfa1f0b9371e074d94f8ef0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 7921, "upload_time": "2018-08-21T17:42:35", "url": "https://files.pythonhosted.org/packages/63/f8/e23773fa0cf779b1ddb95c3c97a2b09750c9a8823d403da9a8ef08725943/tulips-1.1.19.tar.gz" } ], "1.1.20": [ { "comment_text": "", "digests": { "md5": "5b9d4416c9e5aae818c67cef4bdb3bd9", "sha256": "d22516107fe17180334cfc40bf98b4400ed3e0e7e88997fb3e07875d52288c83" }, "downloads": -1, "filename": "tulips-1.1.20-py3-none-any.whl", "has_sig": false, "md5_digest": "5b9d4416c9e5aae818c67cef4bdb3bd9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 23109, "upload_time": "2018-08-21T18:32:54", "url": "https://files.pythonhosted.org/packages/02/35/c637a653e725caef1af4b2b758d7a56bec4b2dc8fc5e2cff851a51d0b8d0/tulips-1.1.20-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d42d964c60824ded7736ee55bfcaad31", "sha256": "2eac23ecdc59bdae5796e5c5f3dc6a96774cc6fa6d2195a9981d90618f43c8a4" }, "downloads": -1, "filename": "tulips-1.1.20.tar.gz", "has_sig": false, "md5_digest": "d42d964c60824ded7736ee55bfcaad31", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 7862, "upload_time": "2018-08-21T18:32:55", "url": "https://files.pythonhosted.org/packages/0d/79/e5073c98e1f11508bcfa16eb46aa042613b9a5ad9d83a454e7bf39f43fe6/tulips-1.1.20.tar.gz" } ], "1.1.21": [ { "comment_text": "", "digests": { "md5": "c40bcd871c0b3407e460526c258c7558", "sha256": "326b6aec39cbcc767dbcd2bac92fce85401f5a74722427f93a21873b4d214bea" }, "downloads": -1, "filename": "tulips-1.1.21-py3-none-any.whl", "has_sig": false, "md5_digest": "c40bcd871c0b3407e460526c258c7558", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 23364, "upload_time": "2018-10-03T19:09:04", "url": "https://files.pythonhosted.org/packages/bf/00/a6a3f83a9bfa29ad2c743288e387975b899f11fd2ddf3c2a640f6476d2cf/tulips-1.1.21-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c3e475e9071a7b8f35ebbc4642c4b3b3", "sha256": "44024b376dff52ebaaa7720f0a729b33d603184fdf1422ee9c153c9e845d221a" }, "downloads": -1, "filename": "tulips-1.1.21.tar.gz", "has_sig": false, "md5_digest": "c3e475e9071a7b8f35ebbc4642c4b3b3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8012, "upload_time": "2018-10-03T19:09:05", "url": "https://files.pythonhosted.org/packages/7a/77/2c7c2fb4903bfadaabb2b99bccafcf281cc4ff7d57170c9702fb89ea2bf5/tulips-1.1.21.tar.gz" } ], "1.1.22": [ { "comment_text": "", "digests": { "md5": "9bbfce56d2e60c8ac2d204085fdbdbfe", "sha256": "dbfa02e8a2318b3c0c5a73b25b6e0baca131b616fe20821504b0a0d37871917e" }, "downloads": -1, "filename": "tulips-1.1.22-py3-none-any.whl", "has_sig": false, "md5_digest": "9bbfce56d2e60c8ac2d204085fdbdbfe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 23401, "upload_time": "2018-10-03T19:13:49", "url": "https://files.pythonhosted.org/packages/b4/d0/a0387a0d1286df586970d2e93fb408c3ff7e06f6e508ccabdd0ed60a8fd7/tulips-1.1.22-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7be457a4c8433dfc069fe6e8fd2b6943", "sha256": "bce15668ee9756d45adb7d0c7668f481c199513edab78b6b7f6fd99397db3d4e" }, "downloads": -1, "filename": "tulips-1.1.22.tar.gz", "has_sig": false, "md5_digest": "7be457a4c8433dfc069fe6e8fd2b6943", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8006, "upload_time": "2018-10-03T19:13:51", "url": "https://files.pythonhosted.org/packages/a7/aa/284808ad059bc147a1c7be99039c6a5008ec6b208e19d0bd9cafa81f0443/tulips-1.1.22.tar.gz" } ], "1.1.23": [ { "comment_text": "", "digests": { "md5": "0c1a75bba3d09c2787157fa8e9d3fd03", "sha256": "170b84c42eee24e503db3ceb749b52cc9b3398f95d2616438d9edc5ff527b3fa" }, "downloads": -1, "filename": "tulips-1.1.23-py3-none-any.whl", "has_sig": false, "md5_digest": "0c1a75bba3d09c2787157fa8e9d3fd03", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 23378, "upload_time": "2018-10-04T08:18:48", "url": "https://files.pythonhosted.org/packages/fa/84/f06e78c9bb72b1de515e3ea3e2070fe141c6b4d46f6f3cd62b2388ee030f/tulips-1.1.23-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "070b4901a16e0980e48595db02c67a8e", "sha256": "07b70b0a5628538f6cf622fdf65d24ba5f3a3efe82e35708b357ff8731447580" }, "downloads": -1, "filename": "tulips-1.1.23.tar.gz", "has_sig": false, "md5_digest": "070b4901a16e0980e48595db02c67a8e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8023, "upload_time": "2018-10-04T08:18:49", "url": "https://files.pythonhosted.org/packages/ea/c1/bfc2ee43b94ff11ea53e301a2a5ae9554f9b72eb16bddfd85e511c2a8a10/tulips-1.1.23.tar.gz" } ], "1.1.24": [ { "comment_text": "", "digests": { "md5": "3fc574bc3e65358d0a0afaed110b6b34", "sha256": "6b0b50f5c950c504b357c1917efd3da6d20edb5dd445d8bb054d31c5a32cdc5b" }, "downloads": -1, "filename": "tulips-1.1.24-py3-none-any.whl", "has_sig": false, "md5_digest": "3fc574bc3e65358d0a0afaed110b6b34", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 23402, "upload_time": "2018-10-22T15:42:59", "url": "https://files.pythonhosted.org/packages/e1/29/0d27b6f83a6b715deaeb18151766a70b5475fc125d11fb45aa07ab6968e9/tulips-1.1.24-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8e2813c2b63663e3a216af2df3772971", "sha256": "a251d8c2c02dc4db25b0dcfa34dc75ee4740d3fc47d6cb85ce9cd2d7f6574ec9" }, "downloads": -1, "filename": "tulips-1.1.24.tar.gz", "has_sig": false, "md5_digest": "8e2813c2b63663e3a216af2df3772971", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8074, "upload_time": "2018-10-22T15:43:00", "url": "https://files.pythonhosted.org/packages/8f/40/48ac30f15e4e7ffa0fc7b15f3d11de811cd9e3282e1e240dbf3b8cb69021/tulips-1.1.24.tar.gz" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "e6e54a3553928431e64bc247af020035", "sha256": "e798a34ca6e2e18bde3f37bb586963965769ebc6124b21884b6d479ed3bc62b1" }, "downloads": -1, "filename": "tulips-1.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "e6e54a3553928431e64bc247af020035", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 16959, "upload_time": "2018-07-05T12:55:15", "url": "https://files.pythonhosted.org/packages/ca/a2/07d58909711b726bb03111cc08722c7c886d898035f9fd19bdd64a556f48/tulips-1.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "223c8157ee413a92ebcd49a74f0c340c", "sha256": "95961844c98f5422acdb84961e6d10a4f1637c201f8ef23f3aff802809bcb06a" }, "downloads": -1, "filename": "tulips-1.1.6.tar.gz", "has_sig": false, "md5_digest": "223c8157ee413a92ebcd49a74f0c340c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 7027, "upload_time": "2018-07-05T12:55:16", "url": "https://files.pythonhosted.org/packages/75/c7/5fc289f0cc7b866c2b13926cf63c3e4baf84669eb27229e6d9e1af1a9326/tulips-1.1.6.tar.gz" } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "a532c6a531b7d079ff85b7829d10689a", "sha256": "dd6e4feebb3d8feb5cfb7c79fd3bccfa43ef8493d8f0fa8547a844c3b4f337ab" }, "downloads": -1, "filename": "tulips-1.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "a532c6a531b7d079ff85b7829d10689a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 16957, "upload_time": "2018-07-05T12:58:50", "url": "https://files.pythonhosted.org/packages/18/d6/d08616894bef29898f902676752e79c2339b88a91cc8415f2bc3580f4ba5/tulips-1.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ba985cf6c9f08c30d5cb51e1141e4c94", "sha256": "7908d063295831d0ebd8ef9cd14f3395f86c25937b73c40c6a28b99d08147464" }, "downloads": -1, "filename": "tulips-1.1.7.tar.gz", "has_sig": false, "md5_digest": "ba985cf6c9f08c30d5cb51e1141e4c94", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 7030, "upload_time": "2018-07-05T12:58:51", "url": "https://files.pythonhosted.org/packages/48/d7/6c9316e4887c7359350eba3ad17d2785f5bb2cc7b72b7792a786d6688773/tulips-1.1.7.tar.gz" } ], "1.1.8": [ { "comment_text": "", "digests": { "md5": "092285412fce8cda0811338529aa0393", "sha256": "c7d9d1752c9249f7b5e047d6711ac54cac33facc166a781b634384a9017dcb0c" }, "downloads": -1, "filename": "tulips-1.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "092285412fce8cda0811338529aa0393", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 16949, "upload_time": "2018-07-05T14:28:25", "url": "https://files.pythonhosted.org/packages/e4/4b/f5182bb1d89e1ebc8644c5953cc901ff3a3999d4d3cc1209fd598f79f9d0/tulips-1.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c25ddbbd4358220a79f53744a01bd646", "sha256": "7ae6bc8dc90c35ec1dc7ad1e0d965048ceeac92970e8b09ba18542e45eecb667" }, "downloads": -1, "filename": "tulips-1.1.8.tar.gz", "has_sig": false, "md5_digest": "c25ddbbd4358220a79f53744a01bd646", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 6922, "upload_time": "2018-07-05T14:28:26", "url": "https://files.pythonhosted.org/packages/65/0d/5d61f842b057f1a0e3d86853b20e13d002a54d1429c1f21947320aa61ab5/tulips-1.1.8.tar.gz" } ], "1.1.9": [ { "comment_text": "", "digests": { "md5": "c0c55876b70e45880836599ad16cf8dc", "sha256": "e88abfe5b51223d01f46710ea6f74eca0a850cd1dddc77c07cedf1d2f43526ae" }, "downloads": -1, "filename": "tulips-1.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "c0c55876b70e45880836599ad16cf8dc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 20362, "upload_time": "2018-07-09T12:56:54", "url": "https://files.pythonhosted.org/packages/d9/69/278f4db4e110bc146a36d82fb83db761307699a47971309c7239bb9f2317/tulips-1.1.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bb31c16e65f6f6d3c5ec47e0e8abfe77", "sha256": "900e57dbd57a817ecddce4e642ad0b94ef6adf6ca6ac6700a066286646860d64" }, "downloads": -1, "filename": "tulips-1.1.9.tar.gz", "has_sig": false, "md5_digest": "bb31c16e65f6f6d3c5ec47e0e8abfe77", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 7366, "upload_time": "2018-07-09T12:56:56", "url": "https://files.pythonhosted.org/packages/61/73/41932c63762a2a7f55f2a77111ca5ca54c995abd47c4b614c2f6da0cead1/tulips-1.1.9.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "1b5efab8c1d7248271c375b1ee0941c4", "sha256": "46e323535e45b0c67be4170e91d730d65ccc01eb3b0af8badc2177b7ab7d9654" }, "downloads": -1, "filename": "tulips-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "1b5efab8c1d7248271c375b1ee0941c4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 24255, "upload_time": "2018-10-22T15:59:55", "url": "https://files.pythonhosted.org/packages/16/7a/ad4018cfb56806679d5330fc160375cfeaa1005626d9c86295f2e1ba93a4/tulips-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a47cdce921eaece9eafaafcc731b58df", "sha256": "0874291397cbaf728ac05ee7644be6cb449ede2732cb498bbac0f2dfb68c2b95" }, "downloads": -1, "filename": "tulips-1.2.0.tar.gz", "has_sig": false, "md5_digest": "a47cdce921eaece9eafaafcc731b58df", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8252, "upload_time": "2018-10-22T15:59:57", "url": "https://files.pythonhosted.org/packages/4c/25/fa65528e6592a3146fc264f5007ebc5f1716fa1e340d05fe2899e1b266e7/tulips-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "036f0974b36ac296a0f88b0085d3aba4", "sha256": "64a2499b159fd4ca71824ef86388d2edf11fdcb0be908d0dfdbc073b05f5b8e9" }, "downloads": -1, "filename": "tulips-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "036f0974b36ac296a0f88b0085d3aba4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 25593, "upload_time": "2018-11-16T14:14:54", "url": "https://files.pythonhosted.org/packages/38/bf/d909ebea3a212f6f78bac239fdafd9983edae2bbacfcd7bb7d6a3d603e22/tulips-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cecbfedac3d007125335b4b4fda824a7", "sha256": "09dc17995dff05e35b00ea203931396dab2be29778b6295a1d094b43fbfe6325" }, "downloads": -1, "filename": "tulips-1.2.1.tar.gz", "has_sig": false, "md5_digest": "cecbfedac3d007125335b4b4fda824a7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8374, "upload_time": "2018-11-16T14:14:56", "url": "https://files.pythonhosted.org/packages/bf/e4/a401593bdbc68ef3dcde57d07af60212603ec1224d581a882f405806ef83/tulips-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "97a0e246ed8037398d77d4645f1f775a", "sha256": "5ffa200871874d0f9617357a6fb1a8a794bcdf751ed77f266326e26cb5bbcb62" }, "downloads": -1, "filename": "tulips-1.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "97a0e246ed8037398d77d4645f1f775a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 25664, "upload_time": "2018-11-16T17:40:06", "url": "https://files.pythonhosted.org/packages/86/b8/afef76c93444d7cb4b3a0feecefdb3c6cac4715865902cf575515cefa226/tulips-1.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0a69300042a5e31ead304ee3c3b1db0f", "sha256": "30f03e73ae4fc5d4ef855a22b2d05e4681fa59d77683ef7b033b6c58ca03cbb1" }, "downloads": -1, "filename": "tulips-1.2.2.tar.gz", "has_sig": false, "md5_digest": "0a69300042a5e31ead304ee3c3b1db0f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8391, "upload_time": "2018-11-16T17:40:08", "url": "https://files.pythonhosted.org/packages/f1/de/c6702b021bfbb34b75fa7ec4f5e79b3b6decb9305d235d9c7c1551636c12/tulips-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "c5409965f9116b530a74546e9aebf8ae", "sha256": "990857cd8084f075e67ce96088a4cbe429dac82f431d37748f6f384d650a88bd" }, "downloads": -1, "filename": "tulips-1.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c5409965f9116b530a74546e9aebf8ae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 25510, "upload_time": "2018-12-08T18:57:02", "url": "https://files.pythonhosted.org/packages/23/f7/f38b415ff847dd0ffa2a5444c93b4cd7dabf2164a84f477bb474d0bff2b4/tulips-1.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2cb6674da1ffe00af0b883cb0abde73d", "sha256": "b65b1750a627e8ac977540accdb77774297e7395b3201c56cd7636e1d4c97ce3" }, "downloads": -1, "filename": "tulips-1.2.3.tar.gz", "has_sig": false, "md5_digest": "2cb6674da1ffe00af0b883cb0abde73d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8313, "upload_time": "2018-12-08T18:57:05", "url": "https://files.pythonhosted.org/packages/26/5b/4909ae3228682a190f0cf6e8f2d703e87fbef1a4fada84f4b2a828ac5ef7/tulips-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "551d08120beab63058ed9eecf885d238", "sha256": "a6f148a4a2bb19cf1049fc56152425026cb45574c1ead1444f0d68df0b2f8a3c" }, "downloads": -1, "filename": "tulips-1.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "551d08120beab63058ed9eecf885d238", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 25594, "upload_time": "2019-01-28T12:45:36", "url": "https://files.pythonhosted.org/packages/75/f0/7130cb83d7aa999bb020029361304b6748c83345a28d8b87297bd02d3013/tulips-1.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "adda6d1626e48d16ce9ec79e4ea3bb20", "sha256": "a53a77ee7a4a987df44b4cffa9938bc79bd19b6bf9d3ba8682e99fd4bd3af2cb" }, "downloads": -1, "filename": "tulips-1.2.4.tar.gz", "has_sig": false, "md5_digest": "adda6d1626e48d16ce9ec79e4ea3bb20", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8301, "upload_time": "2019-01-28T12:45:38", "url": "https://files.pythonhosted.org/packages/11/cc/ca5a5b7d3c94b7a13e4b837ec5a5e4b270f5dde3695e1b3d52e0ccb42e89/tulips-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "83a0a457d160f3f126e246044a4c8125", "sha256": "1b6281f4d6fcb8b22eb3b9019f4e935f7f34139d49d9f99c053b0fc7b42c3b94" }, "downloads": -1, "filename": "tulips-1.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "83a0a457d160f3f126e246044a4c8125", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 28013, "upload_time": "2018-12-25T19:18:58", "url": "https://files.pythonhosted.org/packages/b5/86/75ba2f5d6d8f540f152de602ac617e8ae5c672e9846c71c13fa3d31e71c5/tulips-1.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a7a9bafbe7cf4c140b1e1a745d787f31", "sha256": "281bfb68f29e93c8c32ecf2bf62d1e58f9a455125f15c2251e1c579d0e53f0d9" }, "downloads": -1, "filename": "tulips-1.2.5.tar.gz", "has_sig": false, "md5_digest": "a7a9bafbe7cf4c140b1e1a745d787f31", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8556, "upload_time": "2018-12-25T19:19:01", "url": "https://files.pythonhosted.org/packages/b5/1c/28b81c4295fe96d0f58a81ffa16b97751b8caae5cdb5fcb5aa719da22112/tulips-1.2.5.tar.gz" } ], "1.2.6": [ { "comment_text": "", "digests": { "md5": "9c6c55da8d9044bec4c838dbff318d20", "sha256": "028201b8973d42f141e1e7eca1da5c57447022eb8e1234913bda3331f8a28737" }, "downloads": -1, "filename": "tulips-1.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "9c6c55da8d9044bec4c838dbff318d20", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 28944, "upload_time": "2018-12-26T11:25:08", "url": "https://files.pythonhosted.org/packages/03/70/f5c97c31fb88fc18518d197686a4f1f5a3cf9d44986b31bb9cf7890ad2c6/tulips-1.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7ac9c2a6dacba7401119ceaa7bf54f51", "sha256": "a94f8115fa98b9bc208be9f64b2b60f2be7868da5d38b0b10cb3a118f100ad17" }, "downloads": -1, "filename": "tulips-1.2.6.tar.gz", "has_sig": false, "md5_digest": "7ac9c2a6dacba7401119ceaa7bf54f51", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8665, "upload_time": "2018-12-26T11:25:09", "url": "https://files.pythonhosted.org/packages/4d/21/553f0b0f716f5a3554ebe9c5301595c56d07ca730885ec4707fc1b6800e9/tulips-1.2.6.tar.gz" } ], "1.2.7": [ { "comment_text": "", "digests": { "md5": "3d5b7304dd17f4b92cdf90d9922fc621", "sha256": "fb87e5f73e4f6772ddb9d4739f0ce76b77e7a223aa615580c7cc9d8aa00f3a1f" }, "downloads": -1, "filename": "tulips-1.2.7-py3-none-any.whl", "has_sig": false, "md5_digest": "3d5b7304dd17f4b92cdf90d9922fc621", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 28941, "upload_time": "2018-12-29T11:07:46", "url": "https://files.pythonhosted.org/packages/b1/cf/8cad90e9462a95e7ef0347555dde105522e3c9b0f8cc0e6854b90ab57a33/tulips-1.2.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a29f55e136453fc1bdbc5fb277d4c30e", "sha256": "b7913f310c446a41c284eb498c6ed3d7ffe87b86d66a04d59314dfc0353b93f3" }, "downloads": -1, "filename": "tulips-1.2.7.tar.gz", "has_sig": false, "md5_digest": "a29f55e136453fc1bdbc5fb277d4c30e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8667, "upload_time": "2018-12-29T11:07:48", "url": "https://files.pythonhosted.org/packages/0b/4e/43f7066f253b76c1a34411d1f6bd994148244835b6a3016f105590ef7d54/tulips-1.2.7.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "4346c01dd9e267cd17e2771ffc8ae90c", "sha256": "a783ae4090b889a00fc18adb6c402ecccf3c46b60e9f257b4d52b518293c0e67" }, "downloads": -1, "filename": "tulips-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4346c01dd9e267cd17e2771ffc8ae90c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 28919, "upload_time": "2018-12-29T11:33:58", "url": "https://files.pythonhosted.org/packages/61/29/009868fb6356e6d47340b1e7dbbcf1a83f115ff4b0eb2f91ef8bb49f2334/tulips-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "93fb30ce29590cd1a944df8eefdbc900", "sha256": "c4cc154ae0e3339b7dbfc462fd5e45990a273defabade27b73d7c67a19b82b08" }, "downloads": -1, "filename": "tulips-1.3.0.tar.gz", "has_sig": false, "md5_digest": "93fb30ce29590cd1a944df8eefdbc900", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8662, "upload_time": "2018-12-29T11:34:00", "url": "https://files.pythonhosted.org/packages/33/d1/3bbd9e667b3530346970b9f058ae39ce7bb6a3beea492e36d392c4882170/tulips-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "c18bbe71bff9e3505297ea6132f4cd7a", "sha256": "858027844530be16a937c3c92c464df7a35f75b2a266c1d7204fded4c82bff05" }, "downloads": -1, "filename": "tulips-1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c18bbe71bff9e3505297ea6132f4cd7a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 29016, "upload_time": "2019-01-28T13:27:21", "url": "https://files.pythonhosted.org/packages/24/4a/19b88cc9c49026158becb02fa99ea018d5ef7da11546ce2941e8512068cb/tulips-1.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d8acf88c165e0b1b76cad05d95fd4bf8", "sha256": "4a04254888cc24d4575ff5fe8b5f020805dc22b611d1fa9112809d99a1f2eb69" }, "downloads": -1, "filename": "tulips-1.3.1.tar.gz", "has_sig": false, "md5_digest": "d8acf88c165e0b1b76cad05d95fd4bf8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8566, "upload_time": "2019-01-28T13:27:23", "url": "https://files.pythonhosted.org/packages/1f/04/92f3ab9db5da7f6bf6ec4be113541ff0c4c432853267d94d8e166a8b65c0/tulips-1.3.1.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "a1e9ef88be3835d6b7b92824be454ea7", "sha256": "1b5965fc1022ad3aa967adec8c9b691440285d27a2cc8ec80ab8232f78c9758d" }, "downloads": -1, "filename": "tulips-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a1e9ef88be3835d6b7b92824be454ea7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 29094, "upload_time": "2019-02-28T11:28:33", "url": "https://files.pythonhosted.org/packages/2b/6d/718d03ef9e8d6b2a1d7932c98b9dacb21ad006b4af4740ce05abddd59cfb/tulips-1.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "10e3f6496fa5d2d804c56ba082f18ff5", "sha256": "0df07641fe8a9a344746ff19c8fa47fbdedc4ba588e5d169dce1650b6aabbdce" }, "downloads": -1, "filename": "tulips-1.4.0.tar.gz", "has_sig": false, "md5_digest": "10e3f6496fa5d2d804c56ba082f18ff5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8652, "upload_time": "2019-02-28T11:28:35", "url": "https://files.pythonhosted.org/packages/6e/7f/6dc07f236a8b1d1154123fe32621371b752f8735a329db125e85238b0281/tulips-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "851e20cf93a4cdcbee1400abcb17275d", "sha256": "64abba52f2e3fe03a0c43b8b545a0215e52e3f1288de7c521022b29b94037b75" }, "downloads": -1, "filename": "tulips-1.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "851e20cf93a4cdcbee1400abcb17275d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 29176, "upload_time": "2019-02-28T18:23:23", "url": "https://files.pythonhosted.org/packages/74/8e/76783b9e5b98b80a157f09e888d9843f14ade596a9d4188f00e77f3d01c6/tulips-1.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f20d04416e03082df5dac9258ac1c2f6", "sha256": "3ec62926a31f0617a2b380f2f3adb368a098af433de37d272f60a1b8defdd1c6" }, "downloads": -1, "filename": "tulips-1.4.1.tar.gz", "has_sig": false, "md5_digest": "f20d04416e03082df5dac9258ac1c2f6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8686, "upload_time": "2019-02-28T18:23:24", "url": "https://files.pythonhosted.org/packages/50/6d/3fd2c65fb99bacde8506c9f5e9d49f322e418c5a02060283050b95a1bb07/tulips-1.4.1.tar.gz" } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "6e6feb11c044b40a619af6bc417f8f37", "sha256": "aab885e11c369426b6a6e770daddaf0a943a6f54561cfd4ca9ff4d78273a0e29" }, "downloads": -1, "filename": "tulips-1.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "6e6feb11c044b40a619af6bc417f8f37", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 29195, "upload_time": "2019-02-28T18:55:57", "url": "https://files.pythonhosted.org/packages/7e/dd/8f97b806ace9c51bd1661ffa375a79ff685e5035dbd45b0ee3c31c39f2a2/tulips-1.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6613ace015aa4c881e1e86524472d18a", "sha256": "43dddf7eb0729b52d845504d15da8ff052dc6fc007048936388f7c5d697f21af" }, "downloads": -1, "filename": "tulips-1.4.2.tar.gz", "has_sig": false, "md5_digest": "6613ace015aa4c881e1e86524472d18a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8699, "upload_time": "2019-02-28T18:55:59", "url": "https://files.pythonhosted.org/packages/ac/36/3d04335fed9b012b7f6fa39fdf71014be55a1c9f9811c65a7fc1960779f5/tulips-1.4.2.tar.gz" } ], "1.4.3": [ { "comment_text": "", "digests": { "md5": "16ff6e19979d1097913e3f0f52db7ddd", "sha256": "ed08da472fe2f2b16f2659396c4f630215943de730a64ff0be5bcef63a06c979" }, "downloads": -1, "filename": "tulips-1.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "16ff6e19979d1097913e3f0f52db7ddd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 11671, "upload_time": "2019-05-02T12:48:01", "url": "https://files.pythonhosted.org/packages/7e/f8/ea61571031a3df5346c90b2e6f3eb1eca8dbfa02ea793f788db96b5dfce4/tulips-1.4.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "582178e94ffda7fff6b020dccf6ff78f", "sha256": "15c06ec8668ab910bd2a8646eedee97a95f7b646863ee2b665af331f2ee9d916" }, "downloads": -1, "filename": "tulips-1.4.3.tar.gz", "has_sig": false, "md5_digest": "582178e94ffda7fff6b020dccf6ff78f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 9075, "upload_time": "2019-05-02T12:48:03", "url": "https://files.pythonhosted.org/packages/91/1b/806d19e73cff614243c3b7e49dc5b16f7b6f6d0454b5d3c174255535da03/tulips-1.4.3.tar.gz" } ], "1.4.4": [ { "comment_text": "", "digests": { "md5": "e6f137391fdd4e4c33e44ff8fbfe5006", "sha256": "333ae27a5e5bfb561223566e927eb9c06b3a712808892fcfc56df1748cc70601" }, "downloads": -1, "filename": "tulips-1.4.4-py3-none-any.whl", "has_sig": false, "md5_digest": "e6f137391fdd4e4c33e44ff8fbfe5006", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 12095, "upload_time": "2019-06-24T11:25:15", "url": "https://files.pythonhosted.org/packages/be/5d/2949d30299a089b69b838896a24119abd20bb235b10e7b7c8a325d98144c/tulips-1.4.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f7f7ee86340d1395f34e373cfb86572a", "sha256": "229eda7f8b2c26256d43e356c5968c07903ca840e7a43879f979ff4d202ac81e" }, "downloads": -1, "filename": "tulips-1.4.4.tar.gz", "has_sig": false, "md5_digest": "f7f7ee86340d1395f34e373cfb86572a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 9239, "upload_time": "2019-06-24T11:25:17", "url": "https://files.pythonhosted.org/packages/c1/10/df6b637603ee22ae07f5da6f2cd605814957d29308d8d290ef5af9480c9d/tulips-1.4.4.tar.gz" } ], "1.4.5": [ { "comment_text": "", "digests": { "md5": "e3b5cb9807bb5b92ad97aeb3d2471d0b", "sha256": "fb14698232ff57fa7a93ce19dad8286483834dfe0ce1adb78ec88f6008d3ea40" }, "downloads": -1, "filename": "tulips-1.4.5-py3-none-any.whl", "has_sig": false, "md5_digest": "e3b5cb9807bb5b92ad97aeb3d2471d0b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 12130, "upload_time": "2019-08-22T07:30:27", "url": "https://files.pythonhosted.org/packages/59/82/3a7fff09da7200e428688226ad2234665b1a1b31bfd2b4f0f87101138cc5/tulips-1.4.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "def94ce49573ec42ce6a96fe52d37869", "sha256": "1c14839e6ea0256b7072c283aaa0999fcbe573373947e8f632309abea91deef1" }, "downloads": -1, "filename": "tulips-1.4.5.tar.gz", "has_sig": false, "md5_digest": "def94ce49573ec42ce6a96fe52d37869", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 9176, "upload_time": "2019-08-22T07:30:29", "url": "https://files.pythonhosted.org/packages/93/86/8c7a55760458d01112ca41529c2537a97ca581f103bc7d04a21cdadf502d/tulips-1.4.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e3b5cb9807bb5b92ad97aeb3d2471d0b", "sha256": "fb14698232ff57fa7a93ce19dad8286483834dfe0ce1adb78ec88f6008d3ea40" }, "downloads": -1, "filename": "tulips-1.4.5-py3-none-any.whl", "has_sig": false, "md5_digest": "e3b5cb9807bb5b92ad97aeb3d2471d0b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 12130, "upload_time": "2019-08-22T07:30:27", "url": "https://files.pythonhosted.org/packages/59/82/3a7fff09da7200e428688226ad2234665b1a1b31bfd2b4f0f87101138cc5/tulips-1.4.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "def94ce49573ec42ce6a96fe52d37869", "sha256": "1c14839e6ea0256b7072c283aaa0999fcbe573373947e8f632309abea91deef1" }, "downloads": -1, "filename": "tulips-1.4.5.tar.gz", "has_sig": false, "md5_digest": "def94ce49573ec42ce6a96fe52d37869", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 9176, "upload_time": "2019-08-22T07:30:29", "url": "https://files.pythonhosted.org/packages/93/86/8c7a55760458d01112ca41529c2537a97ca581f103bc7d04a21cdadf502d/tulips-1.4.5.tar.gz" } ] }