27 lines
982 B
Python
27 lines
982 B
Python
|
|
"""Backwards compatibility module for instructor.multimodal.
|
||
|
|
|
||
|
|
This module provides lazy imports to maintain backwards compatibility.
|
||
|
|
"""
|
||
|
|
|
||
|
|
import warnings
|
||
|
|
|
||
|
|
|
||
|
|
def __getattr__(name: str):
|
||
|
|
"""Lazy import to provide backward compatibility for multimodal imports."""
|
||
|
|
# Issue deprecation warning when accessing multimodal imports
|
||
|
|
warnings.warn(
|
||
|
|
"Importing from 'instructor.multimodal' is deprecated and will be removed in v2.0.0. "
|
||
|
|
f"Please update your imports to use 'instructor.processing.multimodal.{name}' instead:\n"
|
||
|
|
" from instructor.processing.multimodal import PDF, Image, Audio",
|
||
|
|
DeprecationWarning,
|
||
|
|
stacklevel=2,
|
||
|
|
)
|
||
|
|
|
||
|
|
from .processing import multimodal as processing_multimodal
|
||
|
|
|
||
|
|
# Try to get the attribute from the processing.multimodal module
|
||
|
|
if hasattr(processing_multimodal, name):
|
||
|
|
return getattr(processing_multimodal, name)
|
||
|
|
|
||
|
|
raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
|