Skip to content

google-api-python-client overwrites the __init__.py file of api-client #57

@archatas

Description

@archatas

One of the dependencies google-api-python-client overwrites the __init__.py file of api-client, and if it has been used by other packages, there is an unresolved conflict.

The original __init__.py:

# Allow direct access to the base client and other methods.
from apiclient.authentication_methods import (
    BasicAuthentication,
    HeaderAuthentication,
    NoAuthentication,
    QueryParameterAuthentication,
)
from apiclient.client import APIClient
from apiclient.decorates import endpoint
from apiclient.paginators import paginated
from apiclient.request_formatters import JsonRequestFormatter
from apiclient.response_handlers import JsonResponseHandler, RequestsResponseHandler, XmlResponseHandler
from apiclient.retrying import retry_request

The overwritten one:

"""Retain apiclient as an alias for googleapiclient."""

from googleapiclient import channel, discovery, errors, http, mimeparse, model

try:
    from googleapiclient import sample_tools
except ImportError:
    # Silently ignore, because the vast majority of consumers won't use it and
    # it has deep dependence on oauth2client, an optional dependency.
    sample_tools = None
from googleapiclient import schema

_SUBMODULES = {
    "channel": channel,
    "discovery": discovery,
    "errors": errors,
    "http": http,
    "mimeparse": mimeparse,
    "model": model,
    "sample_tools": sample_tools,
    "schema": schema,
}

import sys

for module_name, module in _SUBMODULES.items():
    sys.modules["apiclient.%s" % module_name] = module

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions