Reference for ultralytics/__init__.py#
Improvements
This page is sourced from https://github.com/ultralytics/ultralytics/blob/main/ultralytics/__init__.py. Have an improvement or example to add? Open a Pull Request — thank you! 🙏
Summary
Function ultralytics.__getattr__#
def __getattr__(name: str)Lazy-import public classes on first access.
Args
| Name | Type | Description | Default |
|---|---|---|---|
name | str | required |
ultralytics/__init__.py
def __getattr__(name: str):
"""Lazy-import public classes on first access."""
if name in MODELS:
return getattr(importlib.import_module("ultralytics.models"), name)
if name in PLATFORM_EXPORTS:
if sys.version_info < (3, 11):
raise ImportError("Ultralytics Platform requires Python 3.11 or newer.")
return getattr(importlib.import_module("ultralytics_platform"), name)
raise AttributeError(f"module {__name__} has no attribute {name}")Function ultralytics.__dir__#
def __dir__()Extend dir() to include lazily available public names for IDE autocompletion.
ultralytics/__init__.py
def __dir__():
"""Extend dir() to include lazily available public names for IDE autocompletion."""
return sorted(set(globals()) | set(MODELS) | set(PLATFORM_EXPORTS))