{ "info": { "author": "Distributed CI team", "author_email": "distributed-ci@redhat.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: Information Technology", "License :: OSI Approved :: Apache Software License", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Security :: Cryptography" ], "description": "# python-dciauth\n\nDCI authentication module used by dci-control-server and python-dciclient\n\nThis section shows example programs written in python that illustrate how to work with Signature Version 2 in DCI. The algorithm used by dciauth is identical to [Signature Version 4 in AWS](http://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html).\n\n\n## Authentication example:\n\nGET\n\n```python\nimport requests\n\nfrom dciauth.v2.headers import generate_headers\n\nheaders = generate_headers(\n {\"endpoint\": \"/api/v1/jobs\"},\n {\"access_key\": \"remoteci/client_id\", \"secret_key\": \"secret\"},\n)\nrequests.get(\"http://api.distributed-ci.io/api/v1/jobs\", headers=headers)\n```\n\nPOST\n\n```python\nimport requests\n\nfrom dciauth.v2.headers import generate_headers\n\npayload = {\"name\": \"user 1\"}\nheaders = generate_headers(\n {\n \"method\": \"POST\",\n \"endpoint\": \"http://api.distributed-ci.io/api/v1/users\",\n \"payload\": payload,\n },\n {\"access_key\": \"remoteci/client_id\", \"secret_key\": \"secret\"},\n)\nrequests.post(\"http://api.distributed-ci.io/api/v1/users\", headers=headers, json=payload)\n```\n\n## Validation example\n\n```python\n from flask import request\n\n from dciauth.v2.headers import parse_headers\n from dciauth.v2.signature import is_valid\n\n valid, error_message = is_valid(\n {\n \"method\": request.method,\n \"endpoint\": request.path,\n \"data\": request.data,\n \"params\": request.args.to_dict(flat=True),\n },\n {\"secret_key\": \"secret\"},\n parse_headers(request.headers),\n )\n if not valid:\n raise Exception(\"Authentication failed: %s\" % error_message)\n```\n\n## Using POSTMAN\n\nIf you are using POSTMAN to discover DCI API you can use the following parameters with the AWS Signature authorization header:\n\n GET https://api.distributed-ci.io/api/v1/identity\n AccessKey=\n SecretKey=\n AWS Region=\"BHS3\"\n Service Name=\"api\"\n\n## License\n\nApache 2.0\n\n## Author Information\n\nDistributed-CI Team \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/redhat-cip/python-dciauth", "keywords": "", "license": "Apache v2.0", "maintainer": "", "maintainer_email": "", "name": "dciauth", "package_url": "https://pypi.org/project/dciauth/", "platform": "", "project_url": "https://pypi.org/project/dciauth/", "project_urls": { "Homepage": "https://github.com/redhat-cip/python-dciauth" }, "release_url": "https://pypi.org/project/dciauth/2.1.7/", "requires_dist": null, "requires_python": "", "summary": "DCI authentication module used by dci-control-server and python-dciclient", "version": "2.1.7", "yanked": false, "yanked_reason": null }, "last_serial": 9361198, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "2f5e445fe8023a072342b364b1f142a9", "sha256": "7fac4c5e27d052a26377cfb7e8475821553fa8253ad41042162d867fbdf7c871" }, "downloads": -1, "filename": "dciauth-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "2f5e445fe8023a072342b364b1f142a9", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7393, "upload_time": "2017-11-09T14:28:25", "upload_time_iso_8601": "2017-11-09T14:28:25.961935Z", "url": "https://files.pythonhosted.org/packages/0a/39/2028cbe84ac50b29b9281fb091142530b6b15af5ecbe490f921e1a081460/dciauth-0.1.0-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b4e29a97ae871e445a56f7ebcb2a7b9d", "sha256": "64188a8db480d841cf3200e7eb6d05f88c1a121f711c5d9235e2ab7e924903bb" }, "downloads": -1, "filename": "dciauth-0.1.0.tar.gz", "has_sig": false, "md5_digest": "b4e29a97ae871e445a56f7ebcb2a7b9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7852, "upload_time": "2017-11-09T14:28:27", "upload_time_iso_8601": "2017-11-09T14:28:27.322810Z", "url": "https://files.pythonhosted.org/packages/63/4d/73818d673f92ce6639579812878056b42126bffc15ee10c836f676cb8e4c/dciauth-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "25d67b65c4db4ad28bcc11a8e718de87", "sha256": "403fcbb745c53a2479b5ffba4e2d9523bc665a5b7b494d67ce5fdb9bc6b59ae9" }, "downloads": -1, "filename": "dciauth-0.1.2-py2-none-any.whl", "has_sig": false, "md5_digest": "25d67b65c4db4ad28bcc11a8e718de87", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7402, "upload_time": "2017-11-13T11:07:10", "upload_time_iso_8601": "2017-11-13T11:07:10.020744Z", "url": "https://files.pythonhosted.org/packages/14/0d/f341b05c4dcf3d6c7b3980f3a939717b64f04c5071a99369502b1b776544/dciauth-0.1.2-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ac397103e3f17122591a883c8e44ae40", "sha256": "775127f3da1144b8a35a59bdf20209367b05580f6b90ee1e8ede462ec2b3a460" }, "downloads": -1, "filename": "dciauth-0.1.2.tar.gz", "has_sig": false, "md5_digest": "ac397103e3f17122591a883c8e44ae40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7871, "upload_time": "2017-11-13T11:07:11", "upload_time_iso_8601": "2017-11-13T11:07:11.357352Z", "url": "https://files.pythonhosted.org/packages/2e/06/e679c6d1cca8e55b145a7fd53e8e73ff3877b7014452f3967281cf4f9126/dciauth-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "93b591b756f747334eab809fdef27287", "sha256": "b7891b0610e6b538bb8870aa89afa511274c89a278721072c621b8f533dbf1e2" }, "downloads": -1, "filename": "dciauth-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "93b591b756f747334eab809fdef27287", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7406, "upload_time": "2017-11-15T17:00:47", "upload_time_iso_8601": "2017-11-15T17:00:47.321477Z", "url": "https://files.pythonhosted.org/packages/fb/a2/dd1dd70047e07ecc503d417ff37dc12eb868c5fea7f9c5fe0e157736031d/dciauth-1.0.0-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "157a520434087b94401a29e356922292", "sha256": "ce9213705baee99075369b8528b7e5972b5a8792d4a901624c4a3de7ce25e944" }, "downloads": -1, "filename": "dciauth-1.0.0.tar.gz", "has_sig": false, "md5_digest": "157a520434087b94401a29e356922292", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7807, "upload_time": "2017-11-15T17:00:48", "upload_time_iso_8601": "2017-11-15T17:00:48.453405Z", "url": "https://files.pythonhosted.org/packages/b7/d5/9a19198112295c7471db3e26edf5e3879b06a2212fb409d8ba6f3ac9736d/dciauth-1.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "b85edfdc77b5945e02b274de1b6a7695", "sha256": "368496f5ffb3a99e279e0b703c60543fc62f43a338afbe62b44d9d6aec899f0c" }, "downloads": -1, "filename": "dciauth-1.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "b85edfdc77b5945e02b274de1b6a7695", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7437, "upload_time": "2017-11-16T14:32:13", "upload_time_iso_8601": "2017-11-16T14:32:13.735459Z", "url": "https://files.pythonhosted.org/packages/3b/06/d9aebe66ecc1c1484d464ff325c5fc7db1df2e0573d6d5d37d6922470954/dciauth-1.0.1-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a5107fec8e3d2cc9ab7b1caad2f7a9a4", "sha256": "2ad7bd2f29f66927ecba7ab328a6868b7abb22e44b23288c61e9d0dcf5f74716" }, "downloads": -1, "filename": "dciauth-1.0.1.tar.gz", "has_sig": false, "md5_digest": "a5107fec8e3d2cc9ab7b1caad2f7a9a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8356, "upload_time": "2017-11-16T14:32:15", "upload_time_iso_8601": "2017-11-16T14:32:15.253212Z", "url": "https://files.pythonhosted.org/packages/39/a1/ffb426bddce6a3604b830da2714f05ff291270145438375679eb3fc11af4/dciauth-1.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "5ea5546199af628d302d7618bc5b99a3", "sha256": "3094b716936761357b009cb5fe1934166e4734f4c50bc96d694386b44def3a5e" }, "downloads": -1, "filename": "dciauth-2.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "5ea5546199af628d302d7618bc5b99a3", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6915, "upload_time": "2018-01-08T09:29:20", "upload_time_iso_8601": "2018-01-08T09:29:20.781797Z", "url": "https://files.pythonhosted.org/packages/1e/54/f5ee03444275a1db0f19c62c34b8b1839f95f9512faf5314110b0d291b34/dciauth-2.0.0-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e0fb699222c2fd1e8da99821b795f662", "sha256": "2c2bec1ce6168ab4ac47e11b027835f43c248e9c2888a9bca2ce2f9e9b27e3ca" }, "downloads": -1, "filename": "dciauth-2.0.0.tar.gz", "has_sig": false, "md5_digest": "e0fb699222c2fd1e8da99821b795f662", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7711, "upload_time": "2018-01-08T09:29:22", "upload_time_iso_8601": "2018-01-08T09:29:22.103840Z", "url": "https://files.pythonhosted.org/packages/7e/12/b83493b9d6a6e8e0ab37571cd5b48c9bfd6f6fddc54e2eb68d24b13e9409/dciauth-2.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "682f7a5c8252e63ca0a4e0521acb2abe", "sha256": "4f186ab3df73efa032246c57c6fc2f9db046f9e089eea7607575f2b68226d22a" }, "downloads": -1, "filename": "dciauth-2.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "682f7a5c8252e63ca0a4e0521acb2abe", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6927, "upload_time": "2018-01-08T12:08:58", "upload_time_iso_8601": "2018-01-08T12:08:58.658938Z", "url": "https://files.pythonhosted.org/packages/34/4e/b745133e29c516ffcf6242bbaf8d8c628ebd8f045aee6f9255a1eb6c5e46/dciauth-2.0.1-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "40893e261025b11a09e8ccef59613959", "sha256": "26e9152cef26bb31999c644046783e45d5b1ebdf28697ec8a78cee8e4a8dc0db" }, "downloads": -1, "filename": "dciauth-2.0.1.tar.gz", "has_sig": false, "md5_digest": "40893e261025b11a09e8ccef59613959", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7714, "upload_time": "2018-01-08T12:08:59", "upload_time_iso_8601": "2018-01-08T12:08:59.535804Z", "url": "https://files.pythonhosted.org/packages/a7/12/87c1b4e2558fd914ef38bcc87e4f5a428c97e0eec2c66f582c1298912868/dciauth-2.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "f33446dde49be8cbb13fc7287deb03cb", "sha256": "484d9d95b2f794247a7e9e693774c7a9ae174e67994e3fd100a27c275c935c13" }, "downloads": -1, "filename": "dciauth-2.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "f33446dde49be8cbb13fc7287deb03cb", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6997, "upload_time": "2018-01-12T12:55:00", "upload_time_iso_8601": "2018-01-12T12:55:00.471088Z", "url": "https://files.pythonhosted.org/packages/40/e7/774f1efad03043b64568a9cac0db1429869d9faa12444279ba4ceb454fcc/dciauth-2.0.2-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ddb8d6fc7244a7449f90b89deae0a60b", "sha256": "86df93a719507d424edaca170e1ed1d4ee716cc6917e16e065f1a996fba8e158" }, "downloads": -1, "filename": "dciauth-2.0.2.tar.gz", "has_sig": false, "md5_digest": "ddb8d6fc7244a7449f90b89deae0a60b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7759, "upload_time": "2018-01-12T12:55:02", "upload_time_iso_8601": "2018-01-12T12:55:02.037534Z", "url": "https://files.pythonhosted.org/packages/a5/16/8fbbffe6eff93c0bf1b63c997b0e57842e88b0fac1e79b362bb12691f5ca/dciauth-2.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "c3399ff2e32341d1ea3397a4f409f578", "sha256": "828b50c7fc0d6b101a7173f47bf00c2b68631b5d39fbcd6146ccc20f83003b0a" }, "downloads": -1, "filename": "dciauth-2.1.1-py2-none-any.whl", "has_sig": false, "md5_digest": "c3399ff2e32341d1ea3397a4f409f578", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 9325, "upload_time": "2019-10-15T13:33:26", "upload_time_iso_8601": "2019-10-15T13:33:26.078958Z", "url": "https://files.pythonhosted.org/packages/c7/23/6f94a019c1125833394cf3877be7d012a4ea1f4d00866583f77633bec588/dciauth-2.1.1-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c57cfce21d72ec8b12263d43bdb86093", "sha256": "8dca4ec128b4afc5253b7780ac06fc1eb4dccbbde97c155786f2f6c105a7bf66" }, "downloads": -1, "filename": "dciauth-2.1.1.tar.gz", "has_sig": false, "md5_digest": "c57cfce21d72ec8b12263d43bdb86093", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8036, "upload_time": "2019-10-15T13:33:30", "upload_time_iso_8601": "2019-10-15T13:33:30.038790Z", "url": "https://files.pythonhosted.org/packages/8b/98/5be09caa1231178de0ee844d7a68c2eb4ea47c200b849afae998e167146f/dciauth-2.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "47e21eec826931e8dea4b977b20bf5c0", "sha256": "24991a117a4e45526a847a0fb65fbc2166685627d407eabbd8d50dfbaa8bdc64" }, "downloads": -1, "filename": "dciauth-2.1.2-py2-none-any.whl", "has_sig": false, "md5_digest": "47e21eec826931e8dea4b977b20bf5c0", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 12986, "upload_time": "2019-10-15T15:30:18", "upload_time_iso_8601": "2019-10-15T15:30:18.446666Z", "url": "https://files.pythonhosted.org/packages/ed/73/70fbd6b9c6e14f161c3e5ed22295e7b573953777337a0f96004db4247b32/dciauth-2.1.2-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "639220ff0ec73fe924070faf29b3847d", "sha256": "2a9e645a46b069435d00ccce22685af9f129864a0355787678a039974734ac8e" }, "downloads": -1, "filename": "dciauth-2.1.2.tar.gz", "has_sig": false, "md5_digest": "639220ff0ec73fe924070faf29b3847d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9910, "upload_time": "2019-10-15T15:30:28", "upload_time_iso_8601": "2019-10-15T15:30:28.374356Z", "url": "https://files.pythonhosted.org/packages/f6/81/99536e352f339d3b92adf3ba10524629addbe1cd4100ddffe396ada2f8c0/dciauth-2.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.3": [ { "comment_text": "", "digests": { "md5": "ae47ccf6966b2b1b5045744fbee98048", "sha256": "02e6e550758733cdc86f2dd27595d6090ba61572e404b9abffad4a0133d0b563" }, "downloads": -1, "filename": "dciauth-2.1.3-py2-none-any.whl", "has_sig": false, "md5_digest": "ae47ccf6966b2b1b5045744fbee98048", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 12954, "upload_time": "2019-10-22T07:24:47", "upload_time_iso_8601": "2019-10-22T07:24:47.743466Z", "url": "https://files.pythonhosted.org/packages/75/3b/96a7b5e4989a3b936a706550391301d119a39977fca6ff95e384c857cc2d/dciauth-2.1.3-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d383b64d44d9b4a7da07ce0bd93663e8", "sha256": "a261fdc427fb704cd70254f077d81f4e8dcaa9a6911ebf0da03fb00f6b43b1a9" }, "downloads": -1, "filename": "dciauth-2.1.3.tar.gz", "has_sig": false, "md5_digest": "d383b64d44d9b4a7da07ce0bd93663e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9870, "upload_time": "2019-10-22T07:24:51", "upload_time_iso_8601": "2019-10-22T07:24:51.326778Z", "url": "https://files.pythonhosted.org/packages/63/73/85243a8fe04da6db7a2395edca2d1267b07a3ef7223822829d7ac5ff5b57/dciauth-2.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.5": [ { "comment_text": "", "digests": { "md5": "147b50a91e66f3fb1844eb5699d4a1f9", "sha256": "57550375c18b77a71b90acd5421f0c77e0e8e4cd4f6b54af7fef5b084a51a798" }, "downloads": -1, "filename": "dciauth-2.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "147b50a91e66f3fb1844eb5699d4a1f9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13012, "upload_time": "2020-12-06T08:02:25", "upload_time_iso_8601": "2020-12-06T08:02:25.597291Z", "url": "https://files.pythonhosted.org/packages/2a/e2/d679af891309960114cb6d3972d40bd0f609a5562e899fd566ae053e4457/dciauth-2.1.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9d8703b760cef924107f32648fbbe577", "sha256": "fdd1c0d1423f0a2a409b44a8ce35b787f828af77637f34dc5a4be85aaf412292" }, "downloads": -1, "filename": "dciauth-2.1.5.tar.gz", "has_sig": false, "md5_digest": "9d8703b760cef924107f32648fbbe577", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11254, "upload_time": "2020-12-06T08:02:26", "upload_time_iso_8601": "2020-12-06T08:02:26.619620Z", "url": "https://files.pythonhosted.org/packages/ec/ba/9ea026603b3a12987e5b9d65acb4f09d6013d5653348560d74477e11b054/dciauth-2.1.5.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.6": [ { "comment_text": "", "digests": { "md5": "f2503a72cc46d29f19c1c486ee9157a2", "sha256": "4a0aed20a5aa0c672acaefff70ccf04d8d4a5b5e0a6e74dedf56ac72851c3ade" }, "downloads": -1, "filename": "dciauth-2.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "f2503a72cc46d29f19c1c486ee9157a2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13153, "upload_time": "2021-02-09T09:54:32", "upload_time_iso_8601": "2021-02-09T09:54:32.302114Z", "url": "https://files.pythonhosted.org/packages/9b/09/8d0f604d142765e30a1d6eb16b8af4afdbe79a40889c3f7443ef5df12e54/dciauth-2.1.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3927cb7cd5b803cd2065e4c4a061249f", "sha256": "b7ecf0e24edd0653fbd82cd9e309e1317a7f48e202de882642edfd03eee0c867" }, "downloads": -1, "filename": "dciauth-2.1.6.tar.gz", "has_sig": false, "md5_digest": "3927cb7cd5b803cd2065e4c4a061249f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11399, "upload_time": "2021-02-09T09:54:33", "upload_time_iso_8601": "2021-02-09T09:54:33.341903Z", "url": "https://files.pythonhosted.org/packages/45/37/c39aa5c1dc51380bea3c72fc103cf0a5cf028e052023e8bb8aec62e9d4ac/dciauth-2.1.6.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.7": [ { "comment_text": "", "digests": { "md5": "2163f2f1f96be7998957a1ff0958e296", "sha256": "6aa5960741f33a166ca4d202e02fd4f345f54e40fea24a7092c4e97541221f88" }, "downloads": -1, "filename": "dciauth-2.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "2163f2f1f96be7998957a1ff0958e296", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13346, "upload_time": "2021-02-09T09:54:04", "upload_time_iso_8601": "2021-02-09T09:54:04.882151Z", "url": "https://files.pythonhosted.org/packages/05/a3/99eeda5612fe3cbe54a9e4a1086e966f96629090f520554918e60d862509/dciauth-2.1.7-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "7fd325c995cc8db4092e3cf4f7e1ed8a", "sha256": "73a7beffd571d4b5e9b8bf30fa97c555d2d2fea0bd7cf28c13eb416b8b9fadbc" }, "downloads": -1, "filename": "dciauth-2.1.7.tar.gz", "has_sig": false, "md5_digest": "7fd325c995cc8db4092e3cf4f7e1ed8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11423, "upload_time": "2021-02-09T09:54:06", "upload_time_iso_8601": "2021-02-09T09:54:06.212161Z", "url": "https://files.pythonhosted.org/packages/4b/4c/ec1c3fbda5baa3d30549c3804ac486a4f672a0808fa0a681e0ce6621b20d/dciauth-2.1.7.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2163f2f1f96be7998957a1ff0958e296", "sha256": "6aa5960741f33a166ca4d202e02fd4f345f54e40fea24a7092c4e97541221f88" }, "downloads": -1, "filename": "dciauth-2.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "2163f2f1f96be7998957a1ff0958e296", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13346, "upload_time": "2021-02-09T09:54:04", "upload_time_iso_8601": "2021-02-09T09:54:04.882151Z", "url": "https://files.pythonhosted.org/packages/05/a3/99eeda5612fe3cbe54a9e4a1086e966f96629090f520554918e60d862509/dciauth-2.1.7-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "7fd325c995cc8db4092e3cf4f7e1ed8a", "sha256": "73a7beffd571d4b5e9b8bf30fa97c555d2d2fea0bd7cf28c13eb416b8b9fadbc" }, "downloads": -1, "filename": "dciauth-2.1.7.tar.gz", "has_sig": false, "md5_digest": "7fd325c995cc8db4092e3cf4f7e1ed8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11423, "upload_time": "2021-02-09T09:54:06", "upload_time_iso_8601": "2021-02-09T09:54:06.212161Z", "url": "https://files.pythonhosted.org/packages/4b/4c/ec1c3fbda5baa3d30549c3804ac486a4f672a0808fa0a681e0ce6621b20d/dciauth-2.1.7.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }