{ "info": { "author": "AOS Marketplace", "author_email": "aos-marketplace@redhat.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# Operator Courier\n\n[![Build Status](https://travis-ci.org/operator-framework/operator-courier.svg?branch=master)](https://travis-ci.org/operator-framework/operator-courier)\n[![Coverage Status](https://coveralls.io/repos/github/operator-framework/operator-courier/badge.svg?branch=master)](https://coveralls.io/github/operator-framework/operator-courier?branch=master)\n\nThe Operator Courier is used to build, validate and push Operator Artifacts.\n\nOperator Courier is currently supported on Python 3.6 and above.\n\n## Installation\n\n- To install the latest version of operator-courier, just install the latest release from [PyPI](https://pypi.org/project/operator-courier/):\n\n ```bash\n $ pip3 install operator-courier\n ```\n\n- To install a specific release, use the `==` operator and specify the version. For example:\n\n ```bash\n $ pip3 install operator-courier==2.0.1\n ```\n\n- To upgrade an existing operator-courier release:\n\n ```bash\n $ pip3 install -U operator-courier\n ```\n\n## Usage\n\n### Command Line Interface\n\nOnce the project is installed, you can run the `verify` command on a directory that adheres to the expected [Manifest format](https://github.com/operator-framework/operator-registry#manifest-format).\n\n```bash\n$ operator-courier verify $MANIFESTS_DIR\n```\n\nTo push the operator manifests to a quay.io app registry just use `operator-courier push`. Just pass the directory, namespace, repository, release version and quay.io authorization token needed to push.\n\n```bash\n$ operator-courier push $MANIFESTS_DIR $EXAMPLE_NAMESPACE $EXAMPLE_REPOSITORY $EXAMPLE_RELEASE \"$AUTH_TOKEN\"\n```\n\nOnce that is created, you should be able to view your pushed application on quay.io's Application page for your particular namespace, repo, and release version (https://quay.io/application/$EXAMPLE_NAMESPACE/$EXAMPLE_REPOSITORY?tab=$EXAMPLE_RELEASE)\n\nFor more info, run help on the main program or any of the subcommands\n\n```bash\n$ operator-courier -h\n$ operator-courier $SUBCOMMAND -h\n```\n\n### Debugging Validation Errors\nYou can optionally specify the `--verbose` flag to view detailed validation information during `verify` or `push`\n\n```bash\n$ operator-courier --verbose verify $MANIFESTS_DIR\n$ operator-courier --verbose push $MANIFESTS_DIR $EXAMPLE_NAMESPACE $EXAMPLE_REPOSITORY $EXAMPLE_RELEASE \"$AUTH_TOKEN\"\n```\n\nFor more information, please refer to the following docs about creating valid CSVs\n- [Building a Cluster Service Version (CSV) for the Operator Framework](https://github.com/operator-framework/operator-lifecycle-manager/blob/master/Documentation/design/building-your-csv.md#your-custom-resource-definitions)\n- [Required fields within your CSV](https://github.com/operator-framework/community-operators/blob/master/docs/required-fields.md#categories)\n\n\n### Authentication\nCurrently, the quay API used by the courier can only be authenticated using quay.io's basic account token authentication. In order to get this token to authenticate with quay, a request needs to be made against the login API. This requires a normal quay.io account, and takes a username and password as parameters. This will return an auth token which can be passed to the courier.\n\n```bash\n$ AUTH_TOKEN=$(curl -sH \"Content-Type: application/json\" -XPOST https://quay.io/cnr/api/v1/users/login -d '\n{\n \"user\": {\n \"username\": \"'\"${QUAY_USERNAME}\"'\",\n \"password\": \"'\"${QUAY_PASSWORD}\"'\"\n }\n}' | jq -r '.token')\n```\n\nExpecting future enhancements, this authentication process will change somewhat in future releases.\n\n## Library\nTo use the Operator Courier in your project, simply install the Operator Courier pip package. Then import the api module:\n\n```python\nfrom operatorcourier import api\n\ndef main():\n api.build_verify_and_push(NAMESPACE, RESPOSITORY, RELEASE_VERSION, AUTH_TOKEN, source_dir=\"./my/folder/to/manifests/\")\n```\n\n## Building and running the tool locally with pip\n```bash\n$ pip3 install --user .\n\n$ operator-courier\n```\n\n## Testing\n\n### Running the tests\n\n[Install tox](https://tox.readthedocs.io/en/latest/install.html) and run:\n\n```bash \n$ tox\n```\n\nThis will run the tests with several versions of Python 3, measure coverage,\nand run flake8 for code linting.\n\n## Building the docker image\n```\ndocker build Dockerfile -t $TAG\ndocker run $TAG operator-courier\n```\n\nFor further details, please see the [contribution guide](docs/contributing.md).\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/operator-framework/operator-courier", "keywords": "operator,courier", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "operator-courier", "package_url": "https://pypi.org/project/operator-courier/", "platform": "", "project_url": "https://pypi.org/project/operator-courier/", "project_urls": { "Homepage": "https://github.com/operator-framework/operator-courier" }, "release_url": "https://pypi.org/project/operator-courier/2.1.7/", "requires_dist": [ "pyyaml", "requests", "validators", "semver", "pytest ; extra == 'test'", "pytest-cov ; extra == 'test'", "testfixtures ; extra == 'test'" ], "requires_python": ">=3.6, <4", "summary": "Build, verify and push operators", "version": "2.1.7" }, "last_serial": 5688665, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "8ec173db15cf8c0ca5636203df48faef", "sha256": "e6ba4468ece5ce2ecfa59a8154ce59711a4f661077d0bba51921800388d5ae22" }, "downloads": -1, "filename": "operator_courier-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "8ec173db15cf8c0ca5636203df48faef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11985, "upload_time": "2019-02-06T17:45:27", "url": "https://files.pythonhosted.org/packages/2c/04/4bb5048ad1c68759db24be3cf6c998b53c3e82505bd98a3c300e51b33092/operator_courier-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8387d2831531ccb1565d0c270ffe1e1e", "sha256": "6c04ad557fb5bac99b5ba90fbd97cfc84e8880ad7b28b4d560d31f47498705e9" }, "downloads": -1, "filename": "operator-courier-0.0.1.tar.gz", "has_sig": false, "md5_digest": "8387d2831531ccb1565d0c270ffe1e1e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5952, "upload_time": "2019-02-06T17:45:28", "url": "https://files.pythonhosted.org/packages/9e/29/c040617b6e811362e2926e6dc98c2f9ab764c5a16c3eb5d4773804de9c30/operator-courier-0.0.1.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "1e381d88b02e2a7ac6575e67e15ca429", "sha256": "643752078d13f539d40fc84605955ee1b3b06b65f4e4d0d769e8b546a453293a" }, "downloads": -1, "filename": "operator_courier-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "1e381d88b02e2a7ac6575e67e15ca429", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11985, "upload_time": "2019-02-06T17:52:46", "url": "https://files.pythonhosted.org/packages/c8/0f/c47ae9b9de01095fe6ed584b4fa06f3a19f7d00f86de95f8930e279aea7b/operator_courier-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a204832a56bdbbb0e837032aeb3d0614", "sha256": "6b190fdab602548de54b38aa24ed3dc67fb3de8e24aa6f1c2305985f68184c8c" }, "downloads": -1, "filename": "operator-courier-1.0.0.tar.gz", "has_sig": false, "md5_digest": "a204832a56bdbbb0e837032aeb3d0614", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5940, "upload_time": "2019-02-06T17:52:47", "url": "https://files.pythonhosted.org/packages/91/62/cf43c66e5d427e561e06635fbeabe867354edaa63dc2fbcb30e22ebefdcc/operator-courier-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "31a5c8fa509ae4327c3d7f18c62b3fab", "sha256": "ce2ba422aed7c924adc4c8e9929c0411db1c318b2f58df39857324e8e5932160" }, "downloads": -1, "filename": "operator_courier-1.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "31a5c8fa509ae4327c3d7f18c62b3fab", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 14153, "upload_time": "2019-02-14T20:32:31", "url": "https://files.pythonhosted.org/packages/af/ad/de379026e50b1d15ddd9e0ff7685ee03285ad3bf1641abc8a96e1ecc5e13/operator_courier-1.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "65f733b1b8d0d9c3810bda67fae2ae1f", "sha256": "81375c074a0d49b74e08583ced479a697640de9cefe57384f1a4567441d6da09" }, "downloads": -1, "filename": "operator-courier-1.0.1.tar.gz", "has_sig": false, "md5_digest": "65f733b1b8d0d9c3810bda67fae2ae1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6764, "upload_time": "2019-02-14T20:32:33", "url": "https://files.pythonhosted.org/packages/ca/25/e087b5825af38c33fd62b9d4529f33fd3fce2feb2ba335c101cd15c6e2b8/operator-courier-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "1437048a8683d15498491e20a696cb0d", "sha256": "e6c86475da79d8cac35ff080fc06da93d3533378a8b610cd72a8cd09a298d13a" }, "downloads": -1, "filename": "operator_courier-1.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "1437048a8683d15498491e20a696cb0d", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 14539, "upload_time": "2019-02-26T14:11:19", "url": "https://files.pythonhosted.org/packages/c0/6a/5d14161ac0b126722a14023227422b7d772d06e10ed67140d10c88322414/operator_courier-1.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "584f683d48823b6f0dad193ce5ee7cf8", "sha256": "65b93bd4ae8fb0464abae131762671784f32b478625935663bab73f270cd2ae9" }, "downloads": -1, "filename": "operator-courier-1.0.2.tar.gz", "has_sig": false, "md5_digest": "584f683d48823b6f0dad193ce5ee7cf8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8480, "upload_time": "2019-02-26T14:11:21", "url": "https://files.pythonhosted.org/packages/39/c8/e952c83ca4f56c76506beeb1c0e3b47aa180a8b535f072cb8b4b9f346c3c/operator-courier-1.0.2.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "b243933868fbb11ccf5fd5880f434571", "sha256": "8a05ab006ecc69de8cc5a01228e08e38c462d3096bad5a28e7ea2ee279532b15" }, "downloads": -1, "filename": "operator_courier-1.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "b243933868fbb11ccf5fd5880f434571", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 18444, "upload_time": "2019-03-07T17:06:33", "url": "https://files.pythonhosted.org/packages/8c/01/d6a20b906f4034e5768509febd8123075588e3269c55ef3e72add799eb99/operator_courier-1.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c666c34e5f3e1a54518d85cfc86d879", "sha256": "7de0cdb9304276e99193153d08a9fd0229b8b10542f8aebc9da3a4ab9a1a7051" }, "downloads": -1, "filename": "operator-courier-1.1.0.tar.gz", "has_sig": false, "md5_digest": "0c666c34e5f3e1a54518d85cfc86d879", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 235666, "upload_time": "2019-03-07T17:06:35", "url": "https://files.pythonhosted.org/packages/f8/4e/a7fe1ebcacee81bf1edaf9426cae7f2c58a02286b042c589fbddd544d41a/operator-courier-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "8bd2e2c6c113b2edcd1e5b1b74fd4d9a", "sha256": "04d06077720fb2be6b38c91361ec3014c25dc37fc4196277dd1903d87830c011" }, "downloads": -1, "filename": "operator_courier-1.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "8bd2e2c6c113b2edcd1e5b1b74fd4d9a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 19255, "upload_time": "2019-03-11T17:10:27", "url": "https://files.pythonhosted.org/packages/d0/20/f1deadc3885607dc9912d9f3fd9530142a5f04de3bd169e5eea4aba2a23b/operator_courier-1.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "11ef682a9a6b94948b4a5407230e0e5d", "sha256": "b081fb982c48686a4ea46f090d09736427a113219a3daef19bf1cb98f62d8abd" }, "downloads": -1, "filename": "operator-courier-1.2.0.tar.gz", "has_sig": false, "md5_digest": "11ef682a9a6b94948b4a5407230e0e5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 238534, "upload_time": "2019-03-11T17:10:29", "url": "https://files.pythonhosted.org/packages/fb/29/66cb7a504f480882667a32e290af7a1a20bd71d0a3fab40be9a81f6955ed/operator-courier-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "362f26940da92e1f5699c608bb726982", "sha256": "b54c3bbefda545f868027fa5d9115e8dd3a54f09d1299cf942a34c279e95dca4" }, "downloads": -1, "filename": "operator_courier-1.2.1-py2-none-any.whl", "has_sig": false, "md5_digest": "362f26940da92e1f5699c608bb726982", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=3.6, <4", "size": 21350, "upload_time": "2019-03-27T19:15:47", "url": "https://files.pythonhosted.org/packages/a9/d2/669298b9cc13feba5379adf4a2cbaefab9531ca20df714d3bac2269dd453/operator_courier-1.2.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4be5cecd77b1e0e3b9920129d4581bc3", "sha256": "5796b43e0275a7c43f2fa860205a5fb4fba4d234b1936f5b4f715cf71964bf21" }, "downloads": -1, "filename": "operator-courier-1.2.1.tar.gz", "has_sig": false, "md5_digest": "4be5cecd77b1e0e3b9920129d4581bc3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, <4", "size": 325690, "upload_time": "2019-03-27T19:15:49", "url": "https://files.pythonhosted.org/packages/67/f7/ec9761dd9e1cb431f58cce5d2feb641b0ed821734b3b2b904d501ad133bb/operator-courier-1.2.1.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "321070993276bd87c29b5a493dd86705", "sha256": "b3cfbdf65b28ee6637a0200cb0761fe89e7aa1caa7ce745922ded6b06422c2f6" }, "downloads": -1, "filename": "operator_courier-1.3.0-py2-none-any.whl", "has_sig": false, "md5_digest": "321070993276bd87c29b5a493dd86705", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=3.6, <4", "size": 24484, "upload_time": "2019-04-01T14:13:47", "url": "https://files.pythonhosted.org/packages/b3/9c/6cb57f83c39f75b8290cfd95142f9357fffd43c56a486c01712e37f2c1f7/operator_courier-1.3.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d58204d559e9aab4df3b6a121f967fb8", "sha256": "e66edaf3cc8a682a6a76a70d71e39d6496eaeca5c04a9022f194e96ca840f6d2" }, "downloads": -1, "filename": "operator-courier-1.3.0.tar.gz", "has_sig": false, "md5_digest": "d58204d559e9aab4df3b6a121f967fb8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, <4", "size": 346551, "upload_time": "2019-04-01T14:13:49", "url": "https://files.pythonhosted.org/packages/55/dd/e9ea774c511d35984bc2763e30b6d236406634f946c8c34038b5fb457de1/operator-courier-1.3.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "553b1724f3be42afb0de4120d6fd2a31", "sha256": "492d51c4edddb9b20bc5b802b5e5cf8a0f71a46e899b736fc03ca59e3dd88432" }, "downloads": -1, "filename": "operator_courier-2.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "553b1724f3be42afb0de4120d6fd2a31", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=3.6, <4", "size": 27395, "upload_time": "2019-04-26T20:59:42", "url": "https://files.pythonhosted.org/packages/67/18/20d0f6ccac41906cf87d4f55f1a5d2b0104ad5ab650e7287f783630fb292/operator_courier-2.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "02adcbfae4fa87da2732cbfa385ff0b5", "sha256": "40b8424a9cf7f8ede3cfff6addacfe1dd8b420f3ec7b0dde1954c59858bc8e6d" }, "downloads": -1, "filename": "operator-courier-2.0.1.tar.gz", "has_sig": false, "md5_digest": "02adcbfae4fa87da2732cbfa385ff0b5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, <4", "size": 518499, "upload_time": "2019-04-26T20:59:45", "url": "https://files.pythonhosted.org/packages/35/8d/d25525791b8a5d1ba5b0894455a64a392802323168e2e2114714d7c13afa/operator-courier-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "1e996ca1e1617d21499d0710c05d0de2", "sha256": "3e1eeb6111df48ef67b45ec75b203ff3d7cc02a6c5b55714577e7a7d8c4625af" }, "downloads": -1, "filename": "operator_courier-2.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "1e996ca1e1617d21499d0710c05d0de2", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=3.6, <4", "size": 27465, "upload_time": "2019-04-30T12:56:58", "url": "https://files.pythonhosted.org/packages/86/32/22f1b52d875be858beb709da303ee56c6dc04b28d82d6617661d88f7e277/operator_courier-2.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "53f0f9e881760b37b3e6143e06b09e3b", "sha256": "fadb28597afde1deba8db57a660886b9105502c5f35077745eb1efdc18687731" }, "downloads": -1, "filename": "operator-courier-2.0.2.tar.gz", "has_sig": false, "md5_digest": "53f0f9e881760b37b3e6143e06b09e3b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, <4", "size": 518628, "upload_time": "2019-04-30T12:57:00", "url": "https://files.pythonhosted.org/packages/7b/e7/635b8761b142cff2c7bcf0a3ca54f780e5b05b1f67489f9e4685594ddf6f/operator-courier-2.0.2.tar.gz" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "4471fd3813f1f33774784bdb9e140878", "sha256": "8d8233e6c2495ade885c9ff2d1c4d2480554b32c6f7c5f3cd473189a5abddf82" }, "downloads": -1, "filename": "operator_courier-2.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "4471fd3813f1f33774784bdb9e140878", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=3.6, <4", "size": 29458, "upload_time": "2019-05-15T13:33:44", "url": "https://files.pythonhosted.org/packages/a2/7d/82f66d6b287ab5e0ee7dd3ad5c1d12a94678a24efa722152040d0371c0b2/operator_courier-2.0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3ba30aff7992198fe4bb9bccaaf06648", "sha256": "b23da587a3ea961d3474c66f889b81e1cb529ab36ea31090fb568609a49f9c36" }, "downloads": -1, "filename": "operator-courier-2.0.3.tar.gz", "has_sig": false, "md5_digest": "3ba30aff7992198fe4bb9bccaaf06648", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, <4", "size": 886019, "upload_time": "2019-05-15T13:33:46", "url": "https://files.pythonhosted.org/packages/b4/b5/1f9927e4ba9b9f191c9817ec68b4a44ef88b122f8d4f4fd241a1f6f14ba3/operator-courier-2.0.3.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "8c802eff445c6a9392fcd84f722f7171", "sha256": "312c6ecf57b9e52cc562a43c7bcd885c84178a1910dfd4e8719bb7afdd355cca" }, "downloads": -1, "filename": "operator_courier-2.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "8c802eff445c6a9392fcd84f722f7171", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=3.6, <4", "size": 30426, "upload_time": "2019-05-30T13:39:48", "url": "https://files.pythonhosted.org/packages/54/b5/9ab04d61930945c34d932f3240c9daa7524eefd70538dcde655a021e6464/operator_courier-2.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "346ecf2cdbd43249778f351558c8bc19", "sha256": "5ab9c96867a04271a1cbea9f6a5a09a641c0443167a99762a8d25f5dbdb7a47a" }, "downloads": -1, "filename": "operator-courier-2.1.0.tar.gz", "has_sig": false, "md5_digest": "346ecf2cdbd43249778f351558c8bc19", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, <4", "size": 886863, "upload_time": "2019-05-30T13:39:50", "url": "https://files.pythonhosted.org/packages/ea/21/6c98531a2c6727900df8d0884478ada7a24aec62a54f4992a9a60c9467b3/operator-courier-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "cd980ef88943fd268f5deb41a54093e9", "sha256": "afea8c613609d7eacf1863440b96603fefd2b170ac78c1b2ffcd5fd5e676b074" }, "downloads": -1, "filename": "operator_courier-2.1.1-py2-none-any.whl", "has_sig": false, "md5_digest": "cd980ef88943fd268f5deb41a54093e9", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=3.6, <4", "size": 30412, "upload_time": "2019-06-21T19:44:08", "url": "https://files.pythonhosted.org/packages/76/86/95c041566d4d18e62e529e3983a4cbcb8ea877b4ffc7bb53cdd17f7d0aee/operator_courier-2.1.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fae454782c4b50c033bc23feb715ebd0", "sha256": "acfe577ce7b098af28d99e2f9d1d5d8cb8d722950b8921308865220a7071ec9f" }, "downloads": -1, "filename": "operator-courier-2.1.1.tar.gz", "has_sig": false, "md5_digest": "fae454782c4b50c033bc23feb715ebd0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, <4", "size": 888607, "upload_time": "2019-06-21T19:44:09", "url": "https://files.pythonhosted.org/packages/b1/54/4985170655fa467038657ab4d5fcc33cd9fa118057897f09ab73af15aa10/operator-courier-2.1.1.tar.gz" } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "a1cae2ff75fa31e73397092c69137ecf", "sha256": "fcae352fc518337647c24aa318d907d3767cba55587d9339d682fc4a361bb27b" }, "downloads": -1, "filename": "operator_courier-2.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a1cae2ff75fa31e73397092c69137ecf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6, <4", "size": 30475, "upload_time": "2019-06-24T13:09:12", "url": "https://files.pythonhosted.org/packages/58/3f/3225e51c96f47e0ae3a387b38db0a10551c787200c0d1778dc256e91d75d/operator_courier-2.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "142114fb96b5054e8880b97150c8da42", "sha256": "7e3b643c6deddd2b5e6c5c2f509366a7c61121e9485a7795cb8b77f8794f2912" }, "downloads": -1, "filename": "operator-courier-2.1.2.tar.gz", "has_sig": false, "md5_digest": "142114fb96b5054e8880b97150c8da42", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, <4", "size": 888656, "upload_time": "2019-06-24T13:09:14", "url": "https://files.pythonhosted.org/packages/0d/9d/3605e6892920f952ac1a1351cc01c5aac284f966d83f461aaf20498d4a50/operator-courier-2.1.2.tar.gz" } ], "2.1.3": [ { "comment_text": "", "digests": { "md5": "bfa0e12b31ed4aa7e857d1fdb93f61f6", "sha256": "5ff3ed599ef440e23bb88dee262ebd63878e7b0522c2b1ee6252ad7a2f097e90" }, "downloads": -1, "filename": "operator_courier-2.1.3-py2-none-any.whl", "has_sig": false, "md5_digest": "bfa0e12b31ed4aa7e857d1fdb93f61f6", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=3.6, <4", "size": 30473, "upload_time": "2019-07-23T14:37:23", "url": "https://files.pythonhosted.org/packages/f8/ec/dea9985227e86f43843ad8a8340043d3b0c86a5e697875c2fdc7fc75a832/operator_courier-2.1.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "42f5f13ca5eaecab62f9e0644e5f9b2e", "sha256": "1c6ec5ae7de7cf15e987ee0b5dd1c6579493ebbebaef566d59eb5ed242addd9d" }, "downloads": -1, "filename": "operator-courier-2.1.3.tar.gz", "has_sig": false, "md5_digest": "42f5f13ca5eaecab62f9e0644e5f9b2e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, <4", "size": 888716, "upload_time": "2019-07-23T14:37:25", "url": "https://files.pythonhosted.org/packages/b0/99/3aaad928d82fdd8a1542e6deb9d439bd11473f1199dab71428f45c436407/operator-courier-2.1.3.tar.gz" } ], "2.1.4": [ { "comment_text": "", "digests": { "md5": "d196c289f058221af64542714ee81835", "sha256": "a4876f500aac241159279d86effafa575d703f2316d0c589b5bce004b17e8de5" }, "downloads": -1, "filename": "operator_courier-2.1.4-py2-none-any.whl", "has_sig": false, "md5_digest": "d196c289f058221af64542714ee81835", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=3.6, <4", "size": 30683, "upload_time": "2019-08-08T18:35:31", "url": "https://files.pythonhosted.org/packages/88/31/9031ddf99c7a1f1a1bc8c9fb3e4a1a8da1ad96ac3caeedecac7ed7bb0e1e/operator_courier-2.1.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d92fedc30c79825f41ed7fa5b2fb0348", "sha256": "50a81795579af9a9c2e773e60603b65300833e62d54f261ff44c2d22d8f34c6a" }, "downloads": -1, "filename": "operator-courier-2.1.4.tar.gz", "has_sig": false, "md5_digest": "d92fedc30c79825f41ed7fa5b2fb0348", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, <4", "size": 890582, "upload_time": "2019-08-08T18:35:33", "url": "https://files.pythonhosted.org/packages/1c/dd/643f24658119642f0cd4c89d119698aabf8c4331025bcd449e3d1dcabb1b/operator-courier-2.1.4.tar.gz" } ], "2.1.5": [ { "comment_text": "", "digests": { "md5": "68ea6b9873767442bc4c0cf61c192e1e", "sha256": "c6293b0f91ae5e7169cd0657b2321770d8984c2f82415ec70ca6afdd4eb2daa2" }, "downloads": -1, "filename": "operator_courier-2.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "68ea6b9873767442bc4c0cf61c192e1e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6, <4", "size": 30709, "upload_time": "2019-08-14T13:10:36", "url": "https://files.pythonhosted.org/packages/8b/68/9e5db437dfdde3ad5aa230e822ed2a7de7b05e9bc855e624204ff0a02066/operator_courier-2.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bb8279ca92805fcb5ea1bc93b21d2aa9", "sha256": "27d6ead403df6b6ada9f9aff0eab0b8ef4d729e39603335a93f15f1146de4872" }, "downloads": -1, "filename": "operator-courier-2.1.5.tar.gz", "has_sig": false, "md5_digest": "bb8279ca92805fcb5ea1bc93b21d2aa9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, <4", "size": 893618, "upload_time": "2019-08-14T13:10:38", "url": "https://files.pythonhosted.org/packages/1f/58/31ef329e9cae1740da25b3b38ef3011fa94ce55bec2fcdfe69f454f4796d/operator-courier-2.1.5.tar.gz" } ], "2.1.6": [ { "comment_text": "", "digests": { "md5": "7beab535900959a55a7c941903f25690", "sha256": "c2cc34960c25e32914a4933fadb2c6f7d1dab6c6ccf63aef5e84e9ed0e2edbdd" }, "downloads": -1, "filename": "operator_courier-2.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "7beab535900959a55a7c941903f25690", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6, <4", "size": 30703, "upload_time": "2019-08-15T20:57:59", "url": "https://files.pythonhosted.org/packages/43/17/26ac48a493952b90b54660917b566c50b3af7f3331b94a3f0949748b82c2/operator_courier-2.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "55f6913dc64140cacb68f64c0879219b", "sha256": "7b43493d78e0f691a48abe3fc18ed0dee6dd20a254e8ab131a2b66faa0cab073" }, "downloads": -1, "filename": "operator-courier-2.1.6.tar.gz", "has_sig": false, "md5_digest": "55f6913dc64140cacb68f64c0879219b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, <4", "size": 893653, "upload_time": "2019-08-15T20:58:00", "url": "https://files.pythonhosted.org/packages/cd/09/a4cedfe556575e288663c2fc57bafb5b7c9a986a887c86c330f749b40d57/operator-courier-2.1.6.tar.gz" } ], "2.1.7": [ { "comment_text": "", "digests": { "md5": "b3a17eb822670a86164f0e2c042ef41c", "sha256": "06924ef57a12ac43e86f6dd3dd6ac2b896a36809a8e7c906128d78ffb07da98c" }, "downloads": -1, "filename": "operator_courier-2.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "b3a17eb822670a86164f0e2c042ef41c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6, <4", "size": 30764, "upload_time": "2019-08-16T17:36:36", "url": "https://files.pythonhosted.org/packages/8a/3b/c8f3d95ee79a2d4992895b715095fcadeca7145f0b8fd7e5b9dd0ceecf24/operator_courier-2.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "740d4436ff7037ef3d9af885375cf32f", "sha256": "ca11468f78577c3179e986ce4e3b7d15e34b57ed0d4bd2e3fbcfc00da2d0f2ef" }, "downloads": -1, "filename": "operator-courier-2.1.7.tar.gz", "has_sig": false, "md5_digest": "740d4436ff7037ef3d9af885375cf32f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, <4", "size": 894577, "upload_time": "2019-08-16T17:36:38", "url": "https://files.pythonhosted.org/packages/c4/fb/98db989367487447451b00ee0f0661e2ec164c565224c6064e30962f18f6/operator-courier-2.1.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b3a17eb822670a86164f0e2c042ef41c", "sha256": "06924ef57a12ac43e86f6dd3dd6ac2b896a36809a8e7c906128d78ffb07da98c" }, "downloads": -1, "filename": "operator_courier-2.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "b3a17eb822670a86164f0e2c042ef41c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6, <4", "size": 30764, "upload_time": "2019-08-16T17:36:36", "url": "https://files.pythonhosted.org/packages/8a/3b/c8f3d95ee79a2d4992895b715095fcadeca7145f0b8fd7e5b9dd0ceecf24/operator_courier-2.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "740d4436ff7037ef3d9af885375cf32f", "sha256": "ca11468f78577c3179e986ce4e3b7d15e34b57ed0d4bd2e3fbcfc00da2d0f2ef" }, "downloads": -1, "filename": "operator-courier-2.1.7.tar.gz", "has_sig": false, "md5_digest": "740d4436ff7037ef3d9af885375cf32f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, <4", "size": 894577, "upload_time": "2019-08-16T17:36:38", "url": "https://files.pythonhosted.org/packages/c4/fb/98db989367487447451b00ee0f0661e2ec164c565224c6064e30962f18f6/operator-courier-2.1.7.tar.gz" } ] }