{ "info": { "author": "Craig Citro", "author_email": "craigcitro@google.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "oauth2l\n-------\n\n[![Build Status](https://travis-ci.org/google/oauth2l.svg?branch=master)](https://travis-ci.org/google/oauth2l)\n[![Coverage](https://coveralls.io/repos/google/oauth2l/badge.svg?branch=master)](https://coveralls.io/r/google/oauth2l?branch=master)\n[![PyPI](https://img.shields.io/pypi/v/google-oauth2l.svg)](https://pypi.python.org/pypi/google-oauth2l)\n[![Versions](https://img.shields.io/pypi/pyversions/google-oauth2l.svg)](https://pypi.python.org/pypi/google-oauth2l)\n\n`oauth2l` (pronounced \"oauth tool\") is a simple command-line tool for\nworking with\n[Google OAuth 2.0](https://developers.google.com/identity/protocols/OAuth2).\nIts primary use is to fetch and\nprint OAuth 2.0 access tokens, which can be used with other command-line\ntools and shell scripts.\n\nThis tool also demonstrates how to design a simple and easy-to-use OAuth\n2.0 client experience. If you need to reimplement this functionality in\nanother programming language, please use [Go OAuth2l](go/oauth2client)\nas reference code.\n\n## Overview\n\n`oauth2l` supports all Google OAuth 2.0 authentication flows for both user\naccounts and service accounts in different environments:\n\n* When running inside Google Compute Engine (GCE) and Google Container\n Engine (GKE), it uses the credentials of the current service account\n if it is available.\n\n* When running inside user context that has an active Google Cloud SDK\n (gcloud) session, it uses the current gcloud credentials.\n\n* When running with command option `--json xxx`, where `xxx` points to\n a JSON credential file downloaded from\n [Google Cloud Console](https://console.cloud.google.com/apis/credentials),\n `oauth2l` uses the file to start an OAuth session. The file can be\n either a service account key or an OAuth client ID.\n\n* When running with command option `--sso {email}`, it invokes an\n external `sso` command to retrieve Single Sign-on (SSO) access token.\n\nNOTE: `oauth2l` caches the OAuth credentials in user's home directory to\navoid prompting user repeatedly.\n\n## Install\n\n```\n# Mac only. Install `pip` first.\n$ sudo easy_install pip\n\n# Install `oauth2l` under the OS, typically \"/usr/local/bin\".\n$ pip install google-oauth2l --upgrade\n\n# If you see an error on OS X El Capitan or up, please try\n$ pip install google-oauth2l --upgrade --ignore-installed\n\n# Install `oauth2l` under the current user, typically \"~/.local/bin\" (on Linux)\n# and \"~/Library/Python/2.7/bin\" (on Mac).\n$ pip install --user google-oauth2l\n```\n\n## Command Options\n\n### --json\n\nSpecifies an OAuth credential file, either an OAuth client ID or a Service\nAccount key, to start the OAuth flow. You can download the file from\n[Google Cloud Console](https://console.cloud.google.com/apis/credentials).\n\n```\n$ oauth2l fetch --json ~/service_account.json cloud-platform\n```\n\n### --sso and --sso_cli\n\nUsing an external Single Sign-on (SSO) command to fetch OAuth token.\nThe command outputs an OAuth access token to its stdout. The default\ncommand is for Google's corporate SSO. For example:\n\n```\n$ sso me@example.com scope1 scope2\n```\n\nThen use oauth2l with the SSO CLI:\n\n```\n$ oauth2l header --sso me@example.com --sso_cli /usr/bin/sso cloud-platform\n$ oauth2l header --sso me@google.com cloud-platform\n```\n\n### --jwt\n\nWhen this option is set and the json file specified in the `--json` option\nis a service account key file, a JWT token signed by the service account\nprivate key will be generated. When this option is set, no scope list is\nneeded but a single JWT audience must be provided.\n\nExample:\n\n```\noauth2l fetch --jwt --json ~/service_account.json https://pubsub.googleapis.com/google.pubsub.v1.Publisher\n```\n\n## Commands\n\n### fetch\n\nFetch and print an access token for the specified OAuth scopes. For example,\nthe following command prints access token for the following OAuth2 scopes:\n\n* https://www.googleapis.com/auth/userinfo.email\n* https://www.googleapis.com/auth/cloud-platform\n\n```\n$ oauth2l fetch userinfo.email cloud-platform\nya29.zyxwvutsrqpnmolkjihgfedcba\n\n$ oauth2l fetch -f json userinfo.email cloud-platform\n{\n \"access_token\": \"ya29.zyxwvutsrqpnmolkjihgfedcba\",\n \"token_expiry\": \"2017-02-27T21:20:47Z\",\n \"user_agent\": \"oauth2l/1.0.0\",\n ...\n}\n```\n\nNOTE: the `-f` flag specifies the output format. The supported formats are:\nbare (default), header, json, json_compact, pretty.\n\n### header\n\nThe same as `fetch`, except the output is in HTTP header format:\n\n```\n$ oauth2l header userinfo.email\nAuthorization: Bearer ya29.zyxwvutsrqpnmolkjihgfedcba\n```\n\nThe `header` command is designed to be easy to use with `curl`. For example,\nthe following command uses the PubSub API to list all PubSub topics.\n\n```\n$ curl -H \"$(oauth2l header pubsub)\" https://pubsub.googleapis.com/v1/projects/my-project-id/topics\n```\n\nIf you need to call Google APIs frequently using `curl`, you can define a\nshell alias for it. For example:\n\n```\n$ alias gcurl='curl -H \"$(oauth2l header cloud-platform)\" -H \"Content-Type: application/json\" '\n$ gcurl 'https://pubsub.googleapis.com/v1/projects/my-project-id/topics'\n```\n\n### info\n\nPrint information about a valid token. This always includes the list of scopes\nand expiration time. If the token has either the\n`https://www.googleapis.com/auth/userinfo.email` or\n`https://www.googleapis.com/auth/plus.me` scope, it also prints the email\naddress of the authenticated identity.\n\n```\n$ oauth2l info $(oauth2l fetch pubsub)\n{\n \"expires_in\": 3599,\n \"scope\": \"https://www.googleapis.com/auth/pubsub\",\n \"email\": \"user@gmail.com\"\n ...\n}\n```\n\n### test\n\nTest a token. This sets an exit code of 0 for a valid token and 1 otherwise,\nwhich can be useful in shell pipelines.\n\n```\n$ oauth2l test ya29.zyxwvutsrqpnmolkjihgfedcba\n$ echo $?\n0\n$ oauth2l test ya29.justkiddingmadethisoneup\n$ echo $?\n1\n```\n\n### reset\n\nReset all tokens cached locally. We cache previously retrieved tokens in the\nfile `~/.oauth2l.token`.\n\n```\n$ oauth2l reset\n```\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/google/oauth2l", "keywords": "apitools", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "google-oauth2l", "package_url": "https://pypi.org/project/google-oauth2l/", "platform": "", "project_url": "https://pypi.org/project/google-oauth2l/", "project_urls": { "Homepage": "http://github.com/google/oauth2l" }, "release_url": "https://pypi.org/project/google-oauth2l/1.0.2/", "requires_dist": [ "httplib2 (>=0.9.1)", "oauth2client (>=2.1.0)", "setuptools (>=18.5)", "six (>=1.9.0)", "fasteners (>=0.14.1)", "pyopenssl (>=17.5.0)" ], "requires_python": "", "summary": "command-line google oauth tools", "version": "1.0.2" }, "last_serial": 3630239, "releases": { "0.8.0": [ { "comment_text": "", "digests": { "md5": "90b6dfab9993f31a33d3e905fb6f093d", "sha256": "4d7166e7e2fcc9ad79f3a79a211a80354232432b9b6eb4149d751ebffc09982e" }, "downloads": -1, "filename": "google_oauth2l-0.8.0-py2-none-any.whl", "has_sig": false, "md5_digest": "90b6dfab9993f31a33d3e905fb6f093d", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 11305, "upload_time": "2016-03-31T06:35:48", "url": "https://files.pythonhosted.org/packages/84/23/1154d83f3524ae425084f8503692619d368b81d348d76396363747efabee/google_oauth2l-0.8.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c48fd632852bbe4e0069b6211c7730a", "sha256": "7c6e8798c98e60908190b6d1a1a9f102cf044bf6e70b1d2e6dc425254c90a50d" }, "downloads": -1, "filename": "google-oauth2l-0.8.0.tar.gz", "has_sig": false, "md5_digest": "7c48fd632852bbe4e0069b6211c7730a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13026, "upload_time": "2016-03-31T06:35:35", "url": "https://files.pythonhosted.org/packages/f2/0f/8d3449a18dbe29c0c4f60f708e229f3b227704d3fa8b012e656952059153/google-oauth2l-0.8.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "a4b7b77b137a0b9ce33db590e114a0e8", "sha256": "3d1377b984639a07b52cf1882d8eadd7b0bc888e82d9a4a9adcdcb4340d7c979" }, "downloads": -1, "filename": "google-oauth2l-0.8.0.zip", "has_sig": false, "md5_digest": "a4b7b77b137a0b9ce33db590e114a0e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17979, "upload_time": "2016-03-31T06:35:41", "url": "https://files.pythonhosted.org/packages/b6/16/a5b678d92d9ca4a8d32784af57d5a769a28392046a81cb17b3d1e6e1f610/google-oauth2l-0.8.0.zip" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "5130a7f0710fb390fdce1e1dd0e0759c", "sha256": "e38c94baae04028d0f5dfcee91ff363682ce1f9999b93df75750b4cdc12d77a4" }, "downloads": -1, "filename": "google_oauth2l-0.9.0-py2-none-any.whl", "has_sig": false, "md5_digest": "5130a7f0710fb390fdce1e1dd0e0759c", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 13677, "upload_time": "2016-06-10T15:42:32", "url": "https://files.pythonhosted.org/packages/6d/e3/f00a2f02e7c81edb0b94a34f737fd5dbb8a12fc5bde8159c20faa5a71861/google_oauth2l-0.9.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8d79e1e58de74eab1f366e5068d9fb63", "sha256": "10771f45c4440c205b891780413fdca4d980bb283110b978986b0af3adfb7138" }, "downloads": -1, "filename": "google-oauth2l-0.9.0.tar.gz", "has_sig": false, "md5_digest": "8d79e1e58de74eab1f366e5068d9fb63", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15383, "upload_time": "2016-06-10T15:41:59", "url": "https://files.pythonhosted.org/packages/97/00/9792f236fda9e17e18778887bdd957843f45dd41c8c45dc77747e0ede987/google-oauth2l-0.9.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "e9526da31497196ed39cb1c0c2a74c96", "sha256": "85bc5883641491412a039732cb4f8225988492078d52672670d9ccd293747172" }, "downloads": -1, "filename": "google-oauth2l-0.9.0.zip", "has_sig": false, "md5_digest": "e9526da31497196ed39cb1c0c2a74c96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20650, "upload_time": "2016-06-10T15:42:25", "url": "https://files.pythonhosted.org/packages/87/ce/947589bb68b2b1e9fb113ef2ae2155a7996e836570d41ac225fe5ff62efb/google-oauth2l-0.9.0.zip" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "08e21c9de23f32bfe6637a1e13919acb", "sha256": "a696de159f9d678ecd370101097e211565011ccfac89671c19b4e9246e535ced" }, "downloads": -1, "filename": "google_oauth2l-0.9.1-py2-none-any.whl", "has_sig": false, "md5_digest": "08e21c9de23f32bfe6637a1e13919acb", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 14482, "upload_time": "2016-08-06T04:11:22", "url": "https://files.pythonhosted.org/packages/6f/bd/a0e7e96d0e503fa2a912d1df171aa6500d68e6330ee0ce7aa205d0b69e93/google_oauth2l-0.9.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "57c97373a413facdad6725043a07fa51", "sha256": "368a4c20c392353c492aef0c0a6c63ea5983c782c1ea79c4674aa3289dee3d10" }, "downloads": -1, "filename": "google-oauth2l-0.9.1.tar.gz", "has_sig": false, "md5_digest": "57c97373a413facdad6725043a07fa51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16497, "upload_time": "2016-08-06T04:11:26", "url": "https://files.pythonhosted.org/packages/04/11/900ab1aad0702efb18f22769ec30c73fb1779cc59bfaa1cb2db741e19a17/google-oauth2l-0.9.1.tar.gz" }, { "comment_text": "", "digests": { "md5": "f3d9066a9059fad5bf6dfe5acf7cd419", "sha256": "01f6d8fd3e079d1e6a1a5968656e4705fe0068272697c8941400bb9d27d6652e" }, "downloads": -1, "filename": "google-oauth2l-0.9.1.zip", "has_sig": false, "md5_digest": "f3d9066a9059fad5bf6dfe5acf7cd419", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21562, "upload_time": "2016-08-06T04:11:29", "url": "https://files.pythonhosted.org/packages/dd/9a/f5bb0699e125a49b366f3d219262d25301a8babb93cc0a01172c0cd6d032/google-oauth2l-0.9.1.zip" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "064330a8739843a297141546adaba6f3", "sha256": "b13d43e2582a2202d95c954d02f7f2401fdf6135942dad67945eaf81f2d2081b" }, "downloads": -1, "filename": "google_oauth2l-0.9.2-py2-none-any.whl", "has_sig": false, "md5_digest": "064330a8739843a297141546adaba6f3", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 14655, "upload_time": "2016-08-11T20:20:12", "url": "https://files.pythonhosted.org/packages/b0/c4/6dbe83314a68aa7f3cdd3981132221d58d4f7be8b08013f0a8fca99f1568/google_oauth2l-0.9.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "abb6ed13dc30c5ea0c949b06911eb88c", "sha256": "10c5324f5dc55cac324c383916edf77cf1b728a6efd04782686651153a971540" }, "downloads": -1, "filename": "google-oauth2l-0.9.2.tar.gz", "has_sig": false, "md5_digest": "abb6ed13dc30c5ea0c949b06911eb88c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15331, "upload_time": "2016-08-11T20:20:14", "url": "https://files.pythonhosted.org/packages/5e/ec/e52ac7b5de002a37b76e7812359ed796368df973985fdada771d4bd470d1/google-oauth2l-0.9.2.tar.gz" }, { "comment_text": "", "digests": { "md5": "42f7167387289354bbf0117471acddb2", "sha256": "7a066c2eacd0271d8b427f85aa65542e503bf89ff7347d42910ea5c759225a13" }, "downloads": -1, "filename": "google-oauth2l-0.9.2.zip", "has_sig": false, "md5_digest": "42f7167387289354bbf0117471acddb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22252, "upload_time": "2016-08-11T20:20:17", "url": "https://files.pythonhosted.org/packages/77/72/fafc06acd7fb689f04cdf823fba861de50fcbf6f53ff296452a617ab8818/google-oauth2l-0.9.2.zip" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "96fbfe4b697db3bdf9aab885fc771176", "sha256": "277cd8b1ac6148fbff330771f14e9474c22b36c3aa6cbf6c0f0ee6d9587a70f4" }, "downloads": -1, "filename": "google_oauth2l-0.9.3-py2-none-any.whl", "has_sig": false, "md5_digest": "96fbfe4b697db3bdf9aab885fc771176", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 14783, "upload_time": "2016-08-23T20:57:39", "url": "https://files.pythonhosted.org/packages/c4/5f/93f3923178fb01509c34b4d6f0bd15dc5bd8f50986a7cd05927b0d9207de/google_oauth2l-0.9.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d4616b5e686d304ec4fe1028e6e67c55", "sha256": "99763c7e544c60d9f5c0b98e576f3185c6938051f4b7dd08f3a5fa1059a1f1ed" }, "downloads": -1, "filename": "google-oauth2l-0.9.3.tar.gz", "has_sig": false, "md5_digest": "d4616b5e686d304ec4fe1028e6e67c55", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15333, "upload_time": "2016-08-23T20:57:41", "url": "https://files.pythonhosted.org/packages/f9/1b/612694b4b520e213f76f6afb19b2a3a128265151c586498e18f986bec00a/google-oauth2l-0.9.3.tar.gz" }, { "comment_text": "", "digests": { "md5": "0810d3d89d64e88caf0f70c376fa1167", "sha256": "00708fdbfcb8bbbd40060ee8256e7f55b524afe885519344cbac7ddcf1a29d7f" }, "downloads": -1, "filename": "google-oauth2l-0.9.3.zip", "has_sig": false, "md5_digest": "0810d3d89d64e88caf0f70c376fa1167", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22441, "upload_time": "2016-08-23T20:57:44", "url": "https://files.pythonhosted.org/packages/4e/0e/707bf5b4a39db94b771f9c02943f82c794f1b230ad5e493d39d88ed8e244/google-oauth2l-0.9.3.zip" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "8de0f9fd08947f6df91986e60a3f4114", "sha256": "25b0766685395dfbc97c6663d0d994ae9dbf777299eac91802f273285a52a915" }, "downloads": -1, "filename": "google_oauth2l-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "8de0f9fd08947f6df91986e60a3f4114", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 16106, "upload_time": "2017-02-27T22:54:56", "url": "https://files.pythonhosted.org/packages/4d/64/0608672c55f2622acabbf92ce892a16723b2ed2b3c44bd75ed8fc1c1acf9/google_oauth2l-1.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da887421d10a82b9b20f8931b7190fb6", "sha256": "fd78808d60bfa6ffe6ade77a3f2615092246b744078202e08661835e1bc8f11b" }, "downloads": -1, "filename": "google-oauth2l-1.0.0.tar.gz", "has_sig": false, "md5_digest": "da887421d10a82b9b20f8931b7190fb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18189, "upload_time": "2017-02-27T22:54:57", "url": "https://files.pythonhosted.org/packages/b3/5f/f5f2d6d2ed549ecfecf044b1dd471c6ba6d3ef5fa0ea840716a89671a8d7/google-oauth2l-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "08e87f8c08ef358c019e50116dfc511c", "sha256": "33c59e2bb23180be37ceb8608bfd3a98461cbb9c7578248b47138e545ab690d6" }, "downloads": -1, "filename": "google_oauth2l-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "08e87f8c08ef358c019e50116dfc511c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16278, "upload_time": "2017-05-25T23:48:01", "url": "https://files.pythonhosted.org/packages/09/fc/04c6086e68a82fd809176ccd4c1d0227edecad5a6bde6314152fb6e8f182/google_oauth2l-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1d573b1bd845d3e137e2fb047ecae6b6", "sha256": "7c6a02f2a8fc18831b921d4c3c57782de6434161800c2935489322ac9e588f11" }, "downloads": -1, "filename": "google-oauth2l-1.0.1.tar.gz", "has_sig": false, "md5_digest": "1d573b1bd845d3e137e2fb047ecae6b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18669, "upload_time": "2017-05-25T23:48:03", "url": "https://files.pythonhosted.org/packages/dc/5c/90330d347991f0183cce1495e4b36abaf062cec300e22caeb921a650f4b9/google-oauth2l-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "8a87052fe4917fb5e6834394f02298dd", "sha256": "72b6f4b99b04e74789eee9f1473f0fb73ae9848c2046c8292527cb847d283c14" }, "downloads": -1, "filename": "google_oauth2l-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8a87052fe4917fb5e6834394f02298dd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17439, "upload_time": "2018-03-01T22:16:16", "url": "https://files.pythonhosted.org/packages/4a/a2/270bf3e7755a394bd724dd21f65775b9f002bd2459f5767887935564ff35/google_oauth2l-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fd47796db276980cab275bc5d2becf58", "sha256": "c1b2ef13e05631f28bc901b61a8639506fdf4d28ef2833320d3b44b8276f9636" }, "downloads": -1, "filename": "google-oauth2l-1.0.2.tar.gz", "has_sig": false, "md5_digest": "fd47796db276980cab275bc5d2becf58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21341, "upload_time": "2018-03-01T22:16:17", "url": "https://files.pythonhosted.org/packages/22/b7/3747bcded8681cc6ce52d9c668939013b7658f49dcd30a9cc1653b00be67/google-oauth2l-1.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8a87052fe4917fb5e6834394f02298dd", "sha256": "72b6f4b99b04e74789eee9f1473f0fb73ae9848c2046c8292527cb847d283c14" }, "downloads": -1, "filename": "google_oauth2l-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8a87052fe4917fb5e6834394f02298dd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17439, "upload_time": "2018-03-01T22:16:16", "url": "https://files.pythonhosted.org/packages/4a/a2/270bf3e7755a394bd724dd21f65775b9f002bd2459f5767887935564ff35/google_oauth2l-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fd47796db276980cab275bc5d2becf58", "sha256": "c1b2ef13e05631f28bc901b61a8639506fdf4d28ef2833320d3b44b8276f9636" }, "downloads": -1, "filename": "google-oauth2l-1.0.2.tar.gz", "has_sig": false, "md5_digest": "fd47796db276980cab275bc5d2becf58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21341, "upload_time": "2018-03-01T22:16:17", "url": "https://files.pythonhosted.org/packages/22/b7/3747bcded8681cc6ce52d9c668939013b7658f49dcd30a9cc1653b00be67/google-oauth2l-1.0.2.tar.gz" } ] }