Files
2026-09-20 12:12:56 +02:00

52 lines
1.5 KiB
Python

"""Model-provider interface + registry.
The shared seam for "import a model from a 3D model website". Providers
implement the interface (a ``ModelProvider`` descriptor + a per-request
``ProviderService`` transport) and register an instance here; the registry
routes pasted URLs to the owning provider via ``find_for_url``. MakerWorld is
the first (and currently only) registered provider.
"""
from backend.app.services.model_providers.base import (
ModelProvider,
ProviderAuthConfig,
ProviderAuthError,
ProviderAuthType,
ProviderDownload,
ProviderDownloadInfo,
ProviderError,
ProviderForbiddenError,
ProviderNotFoundError,
ProviderResolvedModel,
ProviderResourceRef,
ProviderService,
ProviderStatus,
ProviderUnavailableError,
ProviderUrlError,
)
from backend.app.services.model_providers.makerworld import makerworld_provider
from backend.app.services.model_providers.registry import ModelProviderRegistry, registry
registry.register(makerworld_provider)
__all__ = [
"ModelProvider",
"ModelProviderRegistry",
"ProviderAuthConfig",
"ProviderAuthError",
"ProviderAuthType",
"ProviderDownload",
"ProviderDownloadInfo",
"ProviderError",
"ProviderForbiddenError",
"ProviderNotFoundError",
"ProviderResolvedModel",
"ProviderResourceRef",
"ProviderService",
"ProviderStatus",
"ProviderUnavailableError",
"ProviderUrlError",
"makerworld_provider",
"registry",
]