refactor: Replace Literal with Enum in sources.py

This commit is contained in:
Seth Howes
2025-07-01 12:15:28 +01:00
parent c0df8e5463
commit d5033e658c
+10 -5
View File
@@ -1,10 +1,15 @@
from typing import Annotated, Any, Generic, Literal, TypeVar, Union, final
from enum import Enum
from pydantic import AnyHttpUrl, BaseModel, Field, TypeAdapter
from shared.types.models.common import ModelId
SourceType = Literal["HuggingFace", "GitHub"]
class SourceType(str, Enum):
HuggingFace = "HuggingFace"
GitHub = "GitHub"
T = TypeVar("T", bound=SourceType)
@@ -28,14 +33,14 @@ class GitHubModelSourceData(BaseModel):
@final
class HuggingFaceModelSource(BaseModelSource[Literal["HuggingFace"]]):
source_type: Literal["HuggingFace"] = "HuggingFace"
class HuggingFaceModelSource(BaseModelSource[SourceType.HuggingFace]):
source_type: Literal[SourceType.HuggingFace] = SourceType.HuggingFace
source_data: HuggingFaceModelSourceData
@final
class GitHubModelSource(BaseModelSource[Literal["GitHub"]]):
source_type: Literal["GitHub"] = "GitHub"
class GitHubModelSource(BaseModelSource[SourceType.GitHub]):
source_type: Literal[SourceType.GitHub] = SourceType.GitHub
source_data: GitHubModelSourceData