{"id":398,"library":"google-auth-httplib2","title":"Google Auth Library for httplib2","description":"A transport for Google Authentication Library using httplib2. The current version is 0.3.0, released on 2025-12-12. The library has a regular release cadence with updates to support new Python versions.","status":"active","version":"0.3.0","language":"python","source_language":"en","source_url":"https://github.com/googleapis/google-auth-library-python-httplib2","tags":["google","authentication","httplib2","http"],"install":[{"cmd":"pip install google-auth-httplib2","lang":"bash","label":"Install google-auth-httplib2"}],"dependencies":[{"reason":"Required for authentication functionalities","package":"google-auth","optional":false},{"reason":"Required for HTTP functionalities","package":"httplib2","optional":false}],"imports":[{"note":"Ensure to use google_auth_httplib2 instead of older versions.","symbol":"AuthorizedHttp","correct":"from google_auth_httplib2 import AuthorizedHttp"}],"quickstart":{"code":"import os\nfrom google.auth.transport.requests import Request\nfrom google_auth_httplib2 import AuthorizedHttp\n\ncredentials = ... # Obtain your credentials here\nhttp = AuthorizedHttp(credentials)\n","lang":"python","description":"This quickstart shows you how to use AuthorizedHttp with Google Authentication Library."},"warnings":[{"fix":"Upgrade httplib2 to a compatible version.","message":"Requires httplib2 >= 0.19.0 and < 1.0.0 from version 0.2.1.","severity":"breaking","affected_versions":"<= 0.2.0"},{"fix":"Use the updated import paths.","message":"Older versions of this library may use deprecated imports.","severity":"deprecated","affected_versions":"<0.3.0"},{"fix":"Ensure the `requests` package is installed (e.g., `pip install requests`). If this library uses `google-auth` and its requests transport, confirm that `requests` is included in your project's dependencies or install `google-auth[requests]`.","message":"The `requests` library, a dependency for Google authentication transport, is missing, leading to `ImportError: No module named 'requests'`.","severity":"breaking","affected_versions":"*"},{"fix":"Ensure the 'requests' library is installed in the environment (e.g., 'pip install requests').","message":"The library failed with a ModuleNotFoundError for 'requests', indicating that the 'requests' package, a required dependency for 'google.auth.transport.requests', is not installed.","severity":"breaking","affected_versions":"*"}],"env_vars":null,"last_verified":"2026-05-12T13:31:41.427Z","next_check":"2026-06-26T00:00:00.000Z","problems":[{"fix":"Ensure the package is installed using pip: `pip install google-auth-httplib2`. If on App Engine, ensure correct vendoring or environment configuration to resolve module path conflicts.","cause":"This error occurs when the 'google-auth-httplib2' package is not installed in the Python environment, or if there's an environment conflict (e.g., with Google App Engine's bundled 'google' module).","error":"ModuleNotFoundError: No module named 'google_auth_httplib2'"},{"fix":"Install the required transport library: `pip install google-auth-httplib2`.","cause":"The `google-api-python-client` library requires `google-auth-httplib2` to be installed when authenticating with `google-auth` credentials, as it provides the necessary HTTP transport.","error":"ValueError: Credentials from google.auth specified, but google-api-python-client is unable to use these credentials unless google-auth-httplib2 is installed. Please install google-auth-httplib2."},{"fix":"Ensure `google-auth-httplib2` is installed: `pip install google-auth-httplib2`. Also, verify `google-api-python-client` is up-to-date: `pip install --upgrade google-api-python-client`.","cause":"This error typically arises when using `google-auth` credentials with an older version of `google-api-python-client` or code expecting `oauth2client` style credentials, which had an `authorize` method. `google-auth-httplib2` acts as a bridge for `google-auth` credentials to work with `google-api-python-client`'s expectations.","error":"AttributeError: 'Credentials' object has no attribute 'authorize'"},{"fix":"When initializing `httplib2.Http`, pass the timeout argument, for example: `http = httplib2.Http(timeout=30)`. Then use this `http` instance when creating `google.auth.transport.httplib2.AuthorizedHttp`.","cause":"This message, often a warning, indicates that a per-request timeout was attempted with a version of `google-auth` that doesn't propagate it correctly to the `httplib2` transport. The timeout needs to be set directly on the `httplib2.Http` instance used by `google-auth-httplib2`.","error":"httplib2 transport does not support per-request timeout. Set the timeout when constructing the httplib2.Http instance."}],"ecosystem":"pypi","meta_description":null,"install_score":100,"install_tag":"verified","quickstart_score":0,"quickstart_tag":"stale","pypi_latest":null,"install_checks":{"last_tested":"2026-05-12","tag":"verified","tag_description":"installs cleanly on critical runtimes, fast import, recently tested","results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":0.37,"mem_mb":11,"disk_size":"39.2M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":0.28,"mem_mb":11,"disk_size":"40M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":0.49,"mem_mb":11.7,"disk_size":"42.4M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":0.42,"mem_mb":11.7,"disk_size":"43M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":0.45,"mem_mb":11.5,"disk_size":"34.0M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":0.43,"mem_mb":11.5,"disk_size":"34M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":0.42,"mem_mb":11.8,"disk_size":"33.6M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":0.42,"mem_mb":11.8,"disk_size":"34M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":0.31,"mem_mb":10.7,"disk_size":"39.5M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":0.28,"mem_mb":10.7,"disk_size":"40M"}]},"quickstart_checks":{"last_tested":"2026-04-23","tag":"stale","tag_description":"widespread failures or data too old to trust","results":[{"runtime":"python:3.10-alpine","exit_code":1},{"runtime":"python:3.10-slim","exit_code":1},{"runtime":"python:3.11-alpine","exit_code":1},{"runtime":"python:3.11-slim","exit_code":1},{"runtime":"python:3.12-alpine","exit_code":1},{"runtime":"python:3.12-slim","exit_code":1},{"runtime":"python:3.13-alpine","exit_code":1},{"runtime":"python:3.13-slim","exit_code":1},{"runtime":"python:3.9-alpine","exit_code":1},{"runtime":"python:3.9-slim","exit_code":1}]}}