is_from_package.py 404 B

12345678910111213141516
  1. from types import ModuleType
  2. from typing import Any
  3. from .._mangling import is_mangled
  4. def is_from_package(obj: Any) -> bool:
  5. """
  6. Return whether an object was loaded from a package.
  7. Note: packaged objects from externed modules will return ``False``.
  8. """
  9. if type(obj) == ModuleType:
  10. return is_mangled(obj.__name__)
  11. else:
  12. return is_mangled(type(obj).__module__)