Skip to content

Commit e84a367

Browse files
committed
Fix patching post v1 removal
1 parent fa8c8b3 commit e84a367

File tree

2 files changed

+56
-34
lines changed

2 files changed

+56
-34
lines changed

src/truefoundry_sdk/v1/_wrapped_clients.py renamed to src/truefoundry_sdk/_wrapped_clients.py

+33-19
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,31 @@
33
from pydantic import BaseModel
44

55

6-
from ..errors import NotFoundError
7-
from ..core.pagination import AsyncPager, SyncPager
8-
from ..core.pydantic_utilities import parse_obj_as
6+
from .errors import NotFoundError
7+
from .core.pagination import AsyncPager, SyncPager
8+
from .core.pydantic_utilities import parse_obj_as
99

1010
# Clients
11-
from ..core.request_options import RequestOptions
12-
from ..types.http_error import HttpError
13-
from ..v1.agent_versions.client import AgentVersionsClient, AsyncAgentVersionsClient
14-
from ..v1.artifact_versions.client import ArtifactVersionsClient, AsyncArtifactVersionsClient
15-
from ..v1.model_versions.client import ModelVersionsClient, AsyncModelVersionsClient
16-
from ..v1.prompt_versions.client import PromptVersionsClient, AsyncPromptVersionsClient
17-
from ..v1.tool_versions.client import ToolVersionsClient, AsyncToolVersionsClient
18-
from ..v1.tracing_projects.client import AsyncTracingProjectsClient, TracingProjectsClient
19-
from ..v1.workspaces.client import WorkspacesClient, AsyncWorkspacesClient
11+
from .core.request_options import RequestOptions
12+
from .types.http_error import HttpError
13+
from .agent_versions.client import AgentVersionsClient, AsyncAgentVersionsClient
14+
from .applications.client import ApplicationsClient, AsyncApplicationsClient
15+
from .artifact_versions.client import ArtifactVersionsClient, AsyncArtifactVersionsClient
16+
from .model_versions.client import ModelVersionsClient, AsyncModelVersionsClient
17+
from .prompt_versions.client import PromptVersionsClient, AsyncPromptVersionsClient
18+
from .tool_versions.client import ToolVersionsClient, AsyncToolVersionsClient
19+
from .tracing_projects.client import AsyncTracingProjectsClient, TracingProjectsClient
20+
from .workspaces.client import WorkspacesClient, AsyncWorkspacesClient
2021

2122
# Response types
22-
from ..types.get_agent_version_response import GetAgentVersionResponse
23-
from ..types.get_artifact_version_response import GetArtifactVersionResponse
24-
from ..types.get_model_version_response import GetModelVersionResponse
25-
from ..types.get_prompt_version_response import GetPromptVersionResponse
26-
from ..types.get_tool_version_response import GetToolVersionResponse
27-
from ..types.get_tracing_project_response import GetTracingProjectResponse
28-
from ..types.get_workspace_response import GetWorkspaceResponse
23+
from .types.get_agent_version_response import GetAgentVersionResponse
24+
from .types.get_application_response import GetApplicationResponse
25+
from .types.get_artifact_version_response import GetArtifactVersionResponse
26+
from .types.get_model_version_response import GetModelVersionResponse
27+
from .types.get_prompt_version_response import GetPromptVersionResponse
28+
from .types.get_tool_version_response import GetToolVersionResponse
29+
from .types.get_tracing_project_response import GetTracingProjectResponse
30+
from .types.get_workspace_response import GetWorkspaceResponse
2931

3032
T = TypeVar("T", bound=BaseModel)
3133

@@ -78,6 +80,12 @@ def get_by_fqn(self, fqn: str, *, request_options: Optional[RequestOptions] = No
7880
return parse_obj_as(GetAgentVersionResponse, {"data": item})
7981

8082

83+
class WrappedApplicationsClient(ApplicationsClient):
84+
def get_by_fqn(self, fqn: str, *, request_options: Optional[RequestOptions] = None) -> GetApplicationResponse:
85+
item = _get_by_fqn(self, fqn=fqn, request_options=request_options) # type: ignore[arg-type,var-annotated]
86+
return parse_obj_as(GetApplicationResponse, {"data": item})
87+
88+
8189
class WrappedArtifactVersionsClient(ArtifactVersionsClient):
8290
def get_by_fqn(self, fqn: str, *, request_options: Optional[RequestOptions] = None) -> GetArtifactVersionResponse:
8391
item = _get_by_fqn(self, fqn=fqn, request_options=request_options) # type: ignore[arg-type,var-annotated]
@@ -120,6 +128,12 @@ async def get_by_fqn(self, fqn: str, *, request_options: Optional[RequestOptions
120128
return parse_obj_as(GetAgentVersionResponse, {"data": item})
121129

122130

131+
class WrappedAsyncApplicationsClient(AsyncApplicationsClient):
132+
async def get_by_fqn(self, fqn: str, *, request_options: Optional[RequestOptions] = None) -> GetApplicationResponse:
133+
item = await _aget_by_fqn(self, fqn=fqn, request_options=request_options) # type: ignore[arg-type,var-annotated]
134+
return parse_obj_as(GetApplicationResponse, {"data": item})
135+
136+
123137
class WrappedAsyncArtifactVersionsClient(AsyncArtifactVersionsClient):
124138
async def get_by_fqn(self, fqn: str, *, request_options: Optional[RequestOptions] = None) -> GetArtifactVersionResponse:
125139
item = await _aget_by_fqn(self, fqn=fqn, request_options=request_options) # type: ignore[arg-type,var-annotated]

src/truefoundry_sdk/client.py

+23-15
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
import httpx
66

77
from truefoundry_sdk.base_client import AsyncBaseTrueFoundry, BaseTrueFoundry
8-
from truefoundry_sdk.v1._wrapped_clients import (
8+
from truefoundry_sdk._wrapped_clients import (
99
WrappedAgentVersionsClient,
10+
WrappedApplicationsClient,
1011
WrappedArtifactVersionsClient,
12+
WrappedAsyncApplicationsClient,
1113
WrappedAsyncTracingProjectsClient,
1214
WrappedModelVersionsClient,
1315
WrappedPromptVersionsClient,
@@ -42,25 +44,28 @@ def __init__(
4244
follow_redirects=follow_redirects,
4345
httpx_client=httpx_client,
4446
)
45-
self.v1.agent_versions = WrappedAgentVersionsClient(
47+
self.agent_versions = WrappedAgentVersionsClient(
4648
client_wrapper=self._client_wrapper
4749
)
48-
self.v1.artifact_versions = WrappedArtifactVersionsClient(
50+
self.applications = WrappedApplicationsClient(
4951
client_wrapper=self._client_wrapper
5052
)
51-
self.v1.model_versions = WrappedModelVersionsClient(
53+
self.artifact_versions = WrappedArtifactVersionsClient(
5254
client_wrapper=self._client_wrapper
5355
)
54-
self.v1.prompt_versions = WrappedPromptVersionsClient(
56+
self.model_versions = WrappedModelVersionsClient(
5557
client_wrapper=self._client_wrapper
5658
)
57-
self.v1.tool_versions = WrappedToolVersionsClient(
59+
self.prompt_versions = WrappedPromptVersionsClient(
5860
client_wrapper=self._client_wrapper
5961
)
60-
self.v1.tracing_projects = WrappedTracingProjectsClient(
62+
self.tool_versions = WrappedToolVersionsClient(
6163
client_wrapper=self._client_wrapper
6264
)
63-
self.v1.workspaces = WrappedWorkspacesClient(
65+
self.tracing_projects = WrappedTracingProjectsClient(
66+
client_wrapper=self._client_wrapper
67+
)
68+
self.workspaces = WrappedWorkspacesClient(
6469
client_wrapper=self._client_wrapper
6570
)
6671

@@ -84,25 +89,28 @@ def __init__(
8489
follow_redirects=follow_redirects,
8590
httpx_client=httpx_client,
8691
)
87-
self.v1.agent_versions = WrappedAsyncAgentVersionsClient(
92+
self.agent_versions = WrappedAsyncAgentVersionsClient(
93+
client_wrapper=self._client_wrapper
94+
)
95+
self.applications = WrappedAsyncApplicationsClient(
8896
client_wrapper=self._client_wrapper
8997
)
90-
self.v1.artifact_versions = WrappedAsyncArtifactVersionsClient(
98+
self.artifact_versions = WrappedAsyncArtifactVersionsClient(
9199
client_wrapper=self._client_wrapper
92100
)
93-
self.v1.model_versions = WrappedAsyncModelVersionsClient(
101+
self.model_versions = WrappedAsyncModelVersionsClient(
94102
client_wrapper=self._client_wrapper
95103
)
96-
self.v1.prompt_versions = WrappedAsyncPromptVersionsClient(
104+
self.prompt_versions = WrappedAsyncPromptVersionsClient(
97105
client_wrapper=self._client_wrapper
98106
)
99-
self.v1.tool_versions = WrappedAsyncToolVersionsClient(
107+
self.tool_versions = WrappedAsyncToolVersionsClient(
100108
client_wrapper=self._client_wrapper
101109
)
102-
self.v1.tracing_projects = WrappedAsyncTracingProjectsClient(
110+
self.tracing_projects = WrappedAsyncTracingProjectsClient(
103111
client_wrapper=self._client_wrapper
104112
)
105-
self.v1.workspaces = WrappedAsyncWorkspacesClient(
113+
self.workspaces = WrappedAsyncWorkspacesClient(
106114
client_wrapper=self._client_wrapper
107115
)
108116

0 commit comments

Comments
 (0)