Skip to content

Importing from apitools.base.py submodules is slow #232

@HarrisonGregg

Description

@HarrisonGregg

apitools/base/py/__init__.py imports everything from all of its submodules. This makes it easier to import things in the submodules, as you don't have to worry about which submodule its in, but it comes at the price of significant overhead when importing anything from any of the submodules, as all of the submodules (and everything they import) have to be imported too. On my machine, this takes about 160ms. These imports should be removed as wildcard imports in an __init__.py file are generally bad practice and have specific consequences in this case.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions