{ "info": { "author": "Andy Driver", "author_email": "andy.driver@digital.cabinet-office.gov.uk", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.5", "Topic :: Internet :: WWW/HTTP", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Accessing GaaP Services Client\n==============================\n\n.. image:: https://travis-ci.org/crossgovernmentservices/ags_client_python.svg?branch=master\n :alt: Test result\n\nPython package providing a WSGI middleware for accessing GaaP services.\n\n\nInstallation\n------------\n\n.. code-block:: bash\n\n pip3 install ags_client\n\n\nUsage\n-----\n\nRegistration\n~~~~~~~~~~~~\n\nYou will need a *client ID* and *client secret* from the GaaP Identity Broker.\nYou can't get these yet, but soon will by emailing us with a brief summary of:\n\n* who you are\n* what project you're going to be using it on\n\n\nQuick Start\n~~~~~~~~~~~\n\n**Flask**\n\nFor example: given your Flask app is defined in ``webservice.py`` in a variable\nnamed ``app``, create a file called ``wsgi.py``:\n\n.. code-block:: python\n\n import ags\n\n from webservice import app\n\n\n app.wsgi_app = ags.Client(app.wsgi_app)\n\nThen start your app with a WSGI server such as Gunicorn or uWSGI. Eg:\n\n.. code-block:: shell\n\n gunicorn wsgi:app\n\n\nConfiguration\n-------------\n\nThe middleware looks for certain environment variables for settings. The\nfollowing variables are **REQUIRED**:\n\n``AGS_CLIENT_ISSUER``\n The URL of the OIDC identity broker\n\n``AGS_CLIENT_ID``\n The client ID that you have been issued\n\n``AGS_CLIENT_SECRET``\n The client secret that you have been issued\n\n``AGS_CLIENT_AUTHENTICATED_PATHS``\n Comma separated list of paths in your web application that require\n authentication. May include regular expressions.\n\n``AGS_CLIENT_SIGN_OUT_PATH``\n Path to sign out view in your application - default: ``sign-out``\n\nThe following variables are **OPTIONAL**:\n\n``AGS_CLIENT_DEBUG``\n If set to ``True``, errors will be handled by the Werkzeug debugger. DO NOT\n USE IN PRODUCTION!\n\n``AGS_CLIENT_LOG_PATH``\n Log to the specified file, in addition to console\n\n``AGS_CLIENT_SESSION_COOKIE``\n The name of the cookie used to store the session ID - default:\n ``ags_client_session``\n\n``AGS_CLIENT_SESSION_SECRET``\n The secret key use to encrypt the session cookie - default: generates a new\n secret on start-up\n\n .. note::\n Override this value when deploying across multiple hosts, otherwise\n sessions may become invalid across requests\n\nThe following variables can be used to override defaults, but usually should\nnot be used:\n\n``AGS_CLIENT_CALLBACK_PATH``\n Overrides default OIDC callback path\n\n``AGS_CLIENT_FEATURE_FLAG_COOKIE``\n The name of the cookie used to store the feature flag status - default:\n ``ags_client_active``\n\n``AGS_CLIENT_FEATURE_FLAG_DEFAULT``\n The default state of the feature flag if the cookie is not set - default:\n ``True``\n\n``AGS_CLIENT_VERIFY_SSL``\n If ``False``, verification of the broker's SSL certificate is skipped\n\n\nUsage\n-----\n\nWhen activated, the middleware will intercept requests to the paths specified in\nthe ``AGS_CLIENT_AUTHENTICATED_PATHS`` environment variable and perform OpenID\nConnect authentication before passing the user authentication details on to the\nwrapped application.\n\nIt will also intercept requests to the ``AGS_CLIENT_SIGN_OUT_PATH`` and end the\nsession on the identity broker before passing through to the wrapped\napplication.\n\nActivation\n==========\n\nThe middleware is activated by default, unless the\n``AGS_CLIENT_FEATURE_FLAG_DEFAULT`` environment variable is set to ``False``.\n\nThe middleware is activated or deactivated via a feature flag cookie, which can\nbe toggled by browsing to ``/toggle-feature/{FLAG}``, where ``{FLAG}`` is the\nvalue of the ``AGS_CLIENT_FEATURE_FLAG_COOKIE`` environment variable or the\ndefault value ``ags_client_active``.\n\n\nSupport\n-------\n\nThis source code is provided as-is, with no incident response or support levels.\nPlease log all questions, issues, and feature requests in the Github issue\ntracker for this repo, and we'll take a look as soon as we can. If you're\nreporting a bug, then it really helps if you can provide the smallest possible\nbit of code that reproduces the issue. A failing test is even better!\n\n\nContributing\n------------\n\n* Check out the latest master to make sure the feature hasn't been implemented\n or the bug hasn't been fixed\n* Check the issue tracker to make sure someone hasn't already requested\n and/or contributed the feature\n* Fork the project\n* Start a feature/bugfix branch\n* Commit and push until you are happy with your contribution\n* Make sure your changes are covered by unit tests, so that we don't break it\n unintentionally in the future.\n* Please don't mess with setup.py, version or history.\n\n\nCopyright\n---------\n\nCopyright |copy| 2016 HM Government (Government Digital Service). See\nLICENSE for further details.\n\n.. |copy| unicode:: 0xA9 .. copyright symbol\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/crossgovernmentservices/ags_client_python", "keywords": "python", "license": "LICENSE", "maintainer": "", "maintainer_email": "", "name": "ags_client", "package_url": "https://pypi.org/project/ags_client/", "platform": "any", "project_url": "https://pypi.org/project/ags_client/", "project_urls": { "Homepage": "https://github.com/crossgovernmentservices/ags_client_python" }, "release_url": "https://pypi.org/project/ags_client/0.1.12/", "requires_dist": null, "requires_python": "", "summary": "Client library for accessing GaaP services", "version": "0.1.12" }, "last_serial": 2655387, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "3020b745dbedb68a51eafb6df0d69d5b", "sha256": "4c343571d8f7cbaaf305870178a8ed81bd4cb2350b727610975b67edab5a18e5" }, "downloads": -1, "filename": "ags_client-0.0.1.tar.gz", "has_sig": false, "md5_digest": "3020b745dbedb68a51eafb6df0d69d5b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3891, "upload_time": "2016-11-22T15:09:13", "url": "https://files.pythonhosted.org/packages/44/c1/01e6a433d590430b7511b8467131f084a8d87b1ed80e8f08746da47c0aa3/ags_client-0.0.1.tar.gz" } ], "0.0.12": [], "0.0.13": [ { "comment_text": "", "digests": { "md5": "942cc544c0ff5a2e8a9f082ccaccfb09", "sha256": "57b7dd0c2e88ceb6a3356896299b293b8e73a7101bb06adc89d834b8af484c47" }, "downloads": -1, "filename": "ags_client-0.0.13-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "942cc544c0ff5a2e8a9f082ccaccfb09", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 17028, "upload_time": "2016-12-05T14:07:49", "url": "https://files.pythonhosted.org/packages/58/53/57cf0ab8d69331c5cfa9b779b6bac27f9a6e8fc9ee32edef815b2bb197e2/ags_client-0.0.13-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "59eb59ef88b34566bf045e1d8ed5d0ee", "sha256": "7025861030fbdd2b840435f92a7ce78e04587e9ecd3359a15707f5a04882046e" }, "downloads": -1, "filename": "ags_client-0.0.13.tar.gz", "has_sig": false, "md5_digest": "59eb59ef88b34566bf045e1d8ed5d0ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11628, "upload_time": "2016-12-05T14:07:47", "url": "https://files.pythonhosted.org/packages/ff/7f/a96bfcb992cb65ee9a02f4779d5058727de7289eaa9c795d23bdaf06b721/ags_client-0.0.13.tar.gz" } ], "0.0.14": [ { "comment_text": "", "digests": { "md5": "8ae06e7ec30241fd8629e0c8d7f82617", "sha256": "ad753f90c7998489166e97387bc4eec99d82814b4c698555ea7381d3e782bbaa" }, "downloads": -1, "filename": "ags_client-0.0.14-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8ae06e7ec30241fd8629e0c8d7f82617", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 17104, "upload_time": "2016-12-05T14:31:58", "url": "https://files.pythonhosted.org/packages/7f/cf/81cd766610b57f47c3d61b22474d7c04c518220e73c6ef25a8513631d0cb/ags_client-0.0.14-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a9d4ecad0c7dc4de7891d10fbe9b87d0", "sha256": "f09f99e65fb386b157d770a7cc6b2edccd14d11618e3f82b72e6f93233ef9aa8" }, "downloads": -1, "filename": "ags_client-0.0.14.tar.gz", "has_sig": false, "md5_digest": "a9d4ecad0c7dc4de7891d10fbe9b87d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11666, "upload_time": "2016-12-05T14:31:56", "url": "https://files.pythonhosted.org/packages/5f/ca/da963ea5d0f84c79a19cf05aebdc28d60dd52ec49c8af3f13ab1d1b465b6/ags_client-0.0.14.tar.gz" } ], "0.0.15": [ { "comment_text": "", "digests": { "md5": "f4fab50660319ed4661b6e0937d41306", "sha256": "fe7955dc4348c89b61b5819accf85300224eea78cbeb6762a254f0a90a00e34c" }, "downloads": -1, "filename": "ags_client-0.0.15-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f4fab50660319ed4661b6e0937d41306", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 17119, "upload_time": "2016-12-05T16:13:24", "url": "https://files.pythonhosted.org/packages/cc/b0/15467213c86d14052d896470bd7bb08bd1d4368c17a9e2c6fe8679777e47/ags_client-0.0.15-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bd0ebb87f59a8ed67cdb74695820645e", "sha256": "77190f9499c2c9355cabe6867fc736ff75994f3536ab7b8c7d404bba91bf1e48" }, "downloads": -1, "filename": "ags_client-0.0.15.tar.gz", "has_sig": false, "md5_digest": "bd0ebb87f59a8ed67cdb74695820645e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11681, "upload_time": "2016-12-05T16:13:22", "url": "https://files.pythonhosted.org/packages/a2/13/51302836a401d2f290956839234efeb2be50a90c2a631825236aa1f3e0ef/ags_client-0.0.15.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "2c9d0705959b76ad5acc54ec25888a41", "sha256": "6951a2f011c498cd286fdd05afb4173b792194fa32091d318d7d23328970eaa8" }, "downloads": -1, "filename": "ags_client-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2c9d0705959b76ad5acc54ec25888a41", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 20218, "upload_time": "2016-12-13T16:45:36", "url": "https://files.pythonhosted.org/packages/39/cd/27cd65a8e18f5e7834816c234a1cee8c6729159d766cfc9b81c3d1b4f25a/ags_client-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "75a75996666fb156e8039ebd6ce879ed", "sha256": "f65c43a7ce3596e257139c70b2f8eeadb2f2be0749b2b251aa88679e80d575c1" }, "downloads": -1, "filename": "ags_client-0.1.0.tar.gz", "has_sig": false, "md5_digest": "75a75996666fb156e8039ebd6ce879ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11086, "upload_time": "2016-12-13T16:45:33", "url": "https://files.pythonhosted.org/packages/b4/13/840b296071a1e32d517e5b03c5dbc8839aeabace2b8ce9ae34742d06a090/ags_client-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "12a5fd6abf66f929e4d883b0bf54f295", "sha256": "923a63c82dfbda031e3779523000ee7ad2411f85948b725eacc8efaf5e08185b" }, "downloads": -1, "filename": "ags_client-0.1.1.tar.gz", "has_sig": false, "md5_digest": "12a5fd6abf66f929e4d883b0bf54f295", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11056, "upload_time": "2016-12-13T17:11:05", "url": "https://files.pythonhosted.org/packages/90/73/0858e204d185ad408f82f5cde9d8108626a42e901f64e9c7fddd52471ed4/ags_client-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "7cd55c68c309cc03986ef584219a481d", "sha256": "8099747c69f2ee3a97f64e3b69ee79700d25e22e68b44febd0365f8107657825" }, "downloads": -1, "filename": "ags_client-0.1.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7cd55c68c309cc03986ef584219a481d", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 18990, "upload_time": "2017-01-06T12:47:24", "url": "https://files.pythonhosted.org/packages/a5/0c/49a5b74390ce96be5d554e60b005c5957cbd20a3b1fa0f6a4e2cf30637e2/ags_client-0.1.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e8fe49deb3ea2d92d7144d61f88ba5b9", "sha256": "2ab5a9bba3d88225a60ab713fb6ec5450e2ec764afb9f7193ef21f67e55a29f9" }, "downloads": -1, "filename": "ags_client-0.1.10.tar.gz", "has_sig": false, "md5_digest": "e8fe49deb3ea2d92d7144d61f88ba5b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11409, "upload_time": "2017-01-06T12:47:23", "url": "https://files.pythonhosted.org/packages/27/6b/506bda3c4759e90a243fdb2f84eabe91abf7511a8ff852c622fcf10fc056/ags_client-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "338e3431faac00c453cc60094459de21", "sha256": "9e492caa50959fc58de8d26cd1db746879bc3fe26cfdf0042ca1c267cc70f2b4" }, "downloads": -1, "filename": "ags_client-0.1.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "338e3431faac00c453cc60094459de21", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 18993, "upload_time": "2017-01-06T15:49:31", "url": "https://files.pythonhosted.org/packages/f5/d0/9d60664a6aae6b8450cd1c14a3b1a3835e06f96d500e8f896a2dd175752f/ags_client-0.1.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2c500d6e1ff2a484becaddbfa4571b1d", "sha256": "2d37f2ccceabd3d6b4450fe6842ea77c5c70794bf4ef06359b177b3b4124064e" }, "downloads": -1, "filename": "ags_client-0.1.11.tar.gz", "has_sig": false, "md5_digest": "2c500d6e1ff2a484becaddbfa4571b1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11414, "upload_time": "2017-01-06T15:49:29", "url": "https://files.pythonhosted.org/packages/b8/f8/43a9298fedfe107ada84b5cf5e73e1c2c192de3e781df325e0e4fb3ea0ee/ags_client-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "5eebb2f1900daaa681538abf191b8d7a", "sha256": "4b65eac0768f1583101f8ffdb134b8ae090b3595f4b740bff9e8337f92241420" }, "downloads": -1, "filename": "ags_client-0.1.12.tar.gz", "has_sig": false, "md5_digest": "5eebb2f1900daaa681538abf191b8d7a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11374, "upload_time": "2017-02-20T16:30:44", "url": "https://files.pythonhosted.org/packages/ea/b8/b6cbfd4433456d50b52304814107ebac5c728da922d6780a792316b8df48/ags_client-0.1.12.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "da5f3a6ac5f29859afee9c68da39eec2", "sha256": "515a067ff2b7f62ed956598e7e630460c1c10fcb6647ce31e173c291631c6655" }, "downloads": -1, "filename": "ags_client-0.1.2.tar.gz", "has_sig": false, "md5_digest": "da5f3a6ac5f29859afee9c68da39eec2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11129, "upload_time": "2016-12-14T13:40:39", "url": "https://files.pythonhosted.org/packages/6b/4a/ddb6a025249e0253d428aa1bf3f933af6908d4f5a41391b464ccda9b5d52/ags_client-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "a02a977dd003b7736f5c96258532ed6b", "sha256": "269b68c14d675ee186b5cc2a549525c304e64ec434ec2797fffaaa8a90f501f4" }, "downloads": -1, "filename": "ags_client-0.1.3.tar.gz", "has_sig": false, "md5_digest": "a02a977dd003b7736f5c96258532ed6b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11145, "upload_time": "2016-12-14T14:02:08", "url": "https://files.pythonhosted.org/packages/06/a2/a84c3f03ff252cccd3c5c5ef3f9dc835d4a4b87a23d2f9ba3815b60a544a/ags_client-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "8947e552b1455dbe10c16967b2d22631", "sha256": "9fa341d63cf06cd4e39a8f2793f0a8364f822c8b22af6cd0c900ec31c9521d3b" }, "downloads": -1, "filename": "ags_client-0.1.4.tar.gz", "has_sig": false, "md5_digest": "8947e552b1455dbe10c16967b2d22631", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11164, "upload_time": "2016-12-14T14:16:30", "url": "https://files.pythonhosted.org/packages/54/19/13a80bc86902a3d92f73dffbb5eb2e657b99560342f6f1ebc9465ee44cf4/ags_client-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "da1c4bdbe52cb8141ed6606065cd4984", "sha256": "d950b417a1ced83b89ce83f8e7a992f4b16fd8421c85e8e4488e0cc785e45ef8" }, "downloads": -1, "filename": "ags_client-0.1.5.tar.gz", "has_sig": false, "md5_digest": "da1c4bdbe52cb8141ed6606065cd4984", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11184, "upload_time": "2016-12-14T14:34:27", "url": "https://files.pythonhosted.org/packages/2d/f9/a5a2a84b772cac7d6b7eece0c0b5b3fbee2da36ca3e0d0140a756d326dfa/ags_client-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "f4b01660d89f4f7549fcc82aa6a3ac2e", "sha256": "d074e2c33dd69b26f57e0d3f9b18b331f4e1ec9e4b37abc3850c0c064d13b296" }, "downloads": -1, "filename": "ags_client-0.1.6.tar.gz", "has_sig": false, "md5_digest": "f4b01660d89f4f7549fcc82aa6a3ac2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11204, "upload_time": "2016-12-14T16:14:05", "url": "https://files.pythonhosted.org/packages/8a/40/18b50d540a5bb267f634b0c2eccaa573febcf98e2e85af4f9e2af25c034a/ags_client-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "9de26aa6a1ee200974e5364158ae622b", "sha256": "9f923cbbbd46550bfb0c8a938d2448a48f84668f425327848f4093337df8b08a" }, "downloads": -1, "filename": "ags_client-0.1.7.tar.gz", "has_sig": false, "md5_digest": "9de26aa6a1ee200974e5364158ae622b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11118, "upload_time": "2016-12-14T17:43:13", "url": "https://files.pythonhosted.org/packages/e0/0b/5360a44b21e848ee291f28165b1caa82ab4753db7f75061ac9f508d6410f/ags_client-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "11330c0c2033ef54bfa809785a8983f5", "sha256": "10393634e65d2d38737e52f758549e297030ce4d552be38f2928097109a5a504" }, "downloads": -1, "filename": "ags_client-0.1.8.tar.gz", "has_sig": false, "md5_digest": "11330c0c2033ef54bfa809785a8983f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11372, "upload_time": "2017-01-05T17:41:05", "url": "https://files.pythonhosted.org/packages/45/a6/4b75adaf46e50235e5ae4df54741e01a7760baa6aa813b30845e9c4a609b/ags_client-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "2096e189cddd29afc26446f4e1cb4dde", "sha256": "40104fcf6b534c329c3370a2ce757d312789ba38687a39778a5bb010521ba4aa" }, "downloads": -1, "filename": "ags_client-0.1.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2096e189cddd29afc26446f4e1cb4dde", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 18936, "upload_time": "2017-01-05T17:46:20", "url": "https://files.pythonhosted.org/packages/64/16/8c3c8cc94f6c78b33a733c4a18a9e8c573f1b1d453298b31991de7ca30ab/ags_client-0.1.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6e42126ec10d1f52b04cab723d304978", "sha256": "3af7aff143a5334546d0e4bb87d8e929f29c6eff8297dee42bf0f755fc734337" }, "downloads": -1, "filename": "ags_client-0.1.9.tar.gz", "has_sig": false, "md5_digest": "6e42126ec10d1f52b04cab723d304978", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11377, "upload_time": "2017-01-05T17:46:18", "url": "https://files.pythonhosted.org/packages/c1/c4/11f6490c9d8cb8ff7e840f73a18db8af548923175b987d9de537adedd4fa/ags_client-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5eebb2f1900daaa681538abf191b8d7a", "sha256": "4b65eac0768f1583101f8ffdb134b8ae090b3595f4b740bff9e8337f92241420" }, "downloads": -1, "filename": "ags_client-0.1.12.tar.gz", "has_sig": false, "md5_digest": "5eebb2f1900daaa681538abf191b8d7a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11374, "upload_time": "2017-02-20T16:30:44", "url": "https://files.pythonhosted.org/packages/ea/b8/b6cbfd4433456d50b52304814107ebac5c728da922d6780a792316b8df48/ags_client-0.1.12.tar.gz" } ] }