__init__.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. """Model-provider interface + registry.
  2. The shared seam for "import a model from a 3D model website". Providers
  3. implement the interface (a ``ModelProvider`` descriptor + a per-request
  4. ``ProviderService`` transport) and register an instance here; the registry
  5. routes pasted URLs to the owning provider via ``find_for_url``. MakerWorld
  6. claims pasted URLs; Manyfold (#1471) is self-hosted and browsed, so it claims
  7. none.
  8. """
  9. from backend.app.services.model_providers.base import (
  10. ModelProvider,
  11. ProviderAuthConfig,
  12. ProviderAuthError,
  13. ProviderAuthType,
  14. ProviderDownload,
  15. ProviderDownloadInfo,
  16. ProviderError,
  17. ProviderForbiddenError,
  18. ProviderNotFoundError,
  19. ProviderResolvedModel,
  20. ProviderResourceRef,
  21. ProviderService,
  22. ProviderStatus,
  23. ProviderUnavailableError,
  24. ProviderUrlError,
  25. )
  26. from backend.app.services.model_providers.makerworld import makerworld_provider
  27. from backend.app.services.model_providers.manyfold import manyfold_provider
  28. from backend.app.services.model_providers.registry import ModelProviderRegistry, registry
  29. registry.register(makerworld_provider)
  30. registry.register(manyfold_provider)
  31. __all__ = [
  32. "ModelProvider",
  33. "ModelProviderRegistry",
  34. "ProviderAuthConfig",
  35. "ProviderAuthError",
  36. "ProviderAuthType",
  37. "ProviderDownload",
  38. "ProviderDownloadInfo",
  39. "ProviderError",
  40. "ProviderForbiddenError",
  41. "ProviderNotFoundError",
  42. "ProviderResolvedModel",
  43. "ProviderResourceRef",
  44. "ProviderService",
  45. "ProviderStatus",
  46. "ProviderUnavailableError",
  47. "ProviderUrlError",
  48. "makerworld_provider",
  49. "manyfold_provider",
  50. "registry",
  51. ]