Skip to content

Commit b6bf022

Browse files
authored
Merge pull request #27 from digitalocean/release-please--branches--main--changes--next
release: 0.1.0-beta.2
2 parents 6b79ce2 + b9879b6 commit b6bf022

File tree

8 files changed

+190
-27
lines changed

8 files changed

+190
-27
lines changed

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "0.1.0-beta.1"
2+
".": "0.1.0-beta.2"
33
}

CHANGELOG.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,20 @@
11
# Changelog
22

3+
## 0.1.0-beta.2 (2025-07-22)
4+
5+
Full Changelog: [v0.1.0-beta.1...v0.1.0-beta.2](https://github.com/digitalocean/gradientai-python/compare/v0.1.0-beta.1...v0.1.0-beta.2)
6+
7+
### Bug Fixes
8+
9+
* **parsing:** ignore empty metadata ([cee9728](https://github.com/digitalocean/gradientai-python/commit/cee9728fd727cd600d2ac47ead9206ca937f7757))
10+
11+
12+
### Chores
13+
14+
* **internal:** version bump ([e13ccb0](https://github.com/digitalocean/gradientai-python/commit/e13ccb069743fc6ebc56e0bb0463ff11864ad944))
15+
* **internal:** version bump ([00ee94d](https://github.com/digitalocean/gradientai-python/commit/00ee94d848ae5c5fc4604160c822e4757c4e6de8))
16+
* **types:** rebuild Pydantic models after all types are defined ([db7d61c](https://github.com/digitalocean/gradientai-python/commit/db7d61c02df9f86af9170d38539257e9cbf3eff9))
17+
318
## 0.1.0-beta.1 (2025-07-21)
419

520
Full Changelog: [v0.1.0-alpha.19...v0.1.0-beta.1](https://github.com/digitalocean/gradientai-python/compare/v0.1.0-alpha.19...v0.1.0-beta.1)

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
88
<!-- prettier-ignore -->
99
[![PyPI version](https://img.shields.io/pypi/v/do_gradientai.svg?label=pypi%20(stable))](https://pypi.org/project/do_gradientai/)
10+
[![Docs](https://img.shields.io/badge/Docs-8A2BE2)](https://gradientai-sdk.digitalocean.com/getting-started/overview/)
1011

1112
The GradientAI Python library provides convenient access to the GradientAI REST API from any Python 3.8+
1213
application. The library includes type definitions for all request params and response fields,
@@ -16,7 +17,9 @@ It is generated with [Stainless](https://www.stainless.com/).
1617

1718
## Documentation
1819

19-
The REST API documentation can be found on [developers.digitalocean.com](https://developers.digitalocean.com/documentation/v2/). The full API of this library can be found in [api.md](api.md).
20+
The getting started guide can be found on [gradientai-sdk.digitalocean.com](https://gradientai-sdk.digitalocean.com/getting-started/overview).
21+
The REST API documentation can be found on [developers.digitalocean.com](https://developers.digitalocean.com/documentation/v2/).
22+
The full API of this library can be found in [api.md](api.md).
2023

2124
## Installation
2225

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "do_gradientai"
3-
version = "0.1.0-beta.1"
3+
version = "0.1.0-beta.2"
44
description = "The official Python library for GradientAI"
55
dynamic = ["readme"]
66
license = "Apache-2.0"

src/do_gradientai/_models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -439,7 +439,7 @@ def construct_type(*, value: object, type_: object, metadata: Optional[List[Any]
439439
type_ = type_.__value__ # type: ignore[unreachable]
440440

441441
# unwrap `Annotated[T, ...]` -> `T`
442-
if metadata is not None:
442+
if metadata is not None and len(metadata) > 0:
443443
meta: tuple[Any, ...] = tuple(metadata)
444444
elif is_annotated_type(type_):
445445
meta = get_args(type_)[1:]

src/do_gradientai/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

33
__title__ = "do_gradientai"
4-
__version__ = "0.1.0-beta.1" # x-release-please-version
4+
__version__ = "0.1.0-beta.2" # x-release-please-version

src/do_gradientai/types/__init__.py

Lines changed: 166 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,20 @@
22

33
from __future__ import annotations
44

5+
from . import (
6+
agents,
7+
models,
8+
api_agent,
9+
api_workspace,
10+
agent_create_response,
11+
agent_delete_response,
12+
agent_update_response,
13+
agent_retrieve_response,
14+
agent_update_status_response,
15+
)
16+
from .. import _compat
17+
from .agents import evaluation_metrics # type: ignore # noqa: F401
18+
from .models import providers # type: ignore # noqa: F401
519
from .shared import (
620
Size as Size,
721
Image as Image,
@@ -55,28 +69,158 @@
5569
from .api_openai_api_key_info import APIOpenAIAPIKeyInfo as APIOpenAIAPIKeyInfo
5670
from .gpu_droplet_list_params import GPUDropletListParams as GPUDropletListParams
5771
from .model_retrieve_response import ModelRetrieveResponse as ModelRetrieveResponse
58-
from .api_deployment_visibility import APIDeploymentVisibility as APIDeploymentVisibility
72+
from .agents.evaluation_metrics import workspaces # type: ignore # noqa: F401
73+
from .api_deployment_visibility import (
74+
APIDeploymentVisibility as APIDeploymentVisibility,
75+
)
5976
from .gpu_droplet_create_params import GPUDropletCreateParams as GPUDropletCreateParams
6077
from .gpu_droplet_list_response import GPUDropletListResponse as GPUDropletListResponse
61-
from .agent_update_status_params import AgentUpdateStatusParams as AgentUpdateStatusParams
78+
from .agent_update_status_params import (
79+
AgentUpdateStatusParams as AgentUpdateStatusParams,
80+
)
6281
from .api_anthropic_api_key_info import APIAnthropicAPIKeyInfo as APIAnthropicAPIKeyInfo
63-
from .knowledge_base_list_params import KnowledgeBaseListParams as KnowledgeBaseListParams
64-
from .droplet_backup_policy_param import DropletBackupPolicyParam as DropletBackupPolicyParam
65-
from .gpu_droplet_create_response import GPUDropletCreateResponse as GPUDropletCreateResponse
66-
from .agent_update_status_response import AgentUpdateStatusResponse as AgentUpdateStatusResponse
67-
from .knowledge_base_create_params import KnowledgeBaseCreateParams as KnowledgeBaseCreateParams
68-
from .knowledge_base_list_response import KnowledgeBaseListResponse as KnowledgeBaseListResponse
69-
from .knowledge_base_update_params import KnowledgeBaseUpdateParams as KnowledgeBaseUpdateParams
70-
from .gpu_droplet_retrieve_response import GPUDropletRetrieveResponse as GPUDropletRetrieveResponse
71-
from .knowledge_base_create_response import KnowledgeBaseCreateResponse as KnowledgeBaseCreateResponse
72-
from .knowledge_base_delete_response import KnowledgeBaseDeleteResponse as KnowledgeBaseDeleteResponse
73-
from .knowledge_base_update_response import KnowledgeBaseUpdateResponse as KnowledgeBaseUpdateResponse
74-
from .gpu_droplet_list_kernels_params import GPUDropletListKernelsParams as GPUDropletListKernelsParams
75-
from .gpu_droplet_delete_by_tag_params import GPUDropletDeleteByTagParams as GPUDropletDeleteByTagParams
76-
from .knowledge_base_retrieve_response import KnowledgeBaseRetrieveResponse as KnowledgeBaseRetrieveResponse
77-
from .gpu_droplet_list_firewalls_params import GPUDropletListFirewallsParams as GPUDropletListFirewallsParams
78-
from .gpu_droplet_list_kernels_response import GPUDropletListKernelsResponse as GPUDropletListKernelsResponse
79-
from .gpu_droplet_list_snapshots_params import GPUDropletListSnapshotsParams as GPUDropletListSnapshotsParams
80-
from .gpu_droplet_list_firewalls_response import GPUDropletListFirewallsResponse as GPUDropletListFirewallsResponse
81-
from .gpu_droplet_list_neighbors_response import GPUDropletListNeighborsResponse as GPUDropletListNeighborsResponse
82-
from .gpu_droplet_list_snapshots_response import GPUDropletListSnapshotsResponse as GPUDropletListSnapshotsResponse
82+
from .knowledge_base_list_params import (
83+
KnowledgeBaseListParams as KnowledgeBaseListParams,
84+
)
85+
from .droplet_backup_policy_param import (
86+
DropletBackupPolicyParam as DropletBackupPolicyParam,
87+
)
88+
from .gpu_droplet_create_response import (
89+
GPUDropletCreateResponse as GPUDropletCreateResponse,
90+
)
91+
from .agent_update_status_response import (
92+
AgentUpdateStatusResponse as AgentUpdateStatusResponse,
93+
)
94+
from .knowledge_base_create_params import (
95+
KnowledgeBaseCreateParams as KnowledgeBaseCreateParams,
96+
)
97+
from .knowledge_base_list_response import (
98+
KnowledgeBaseListResponse as KnowledgeBaseListResponse,
99+
)
100+
from .knowledge_base_update_params import (
101+
KnowledgeBaseUpdateParams as KnowledgeBaseUpdateParams,
102+
)
103+
from .gpu_droplet_retrieve_response import (
104+
GPUDropletRetrieveResponse as GPUDropletRetrieveResponse,
105+
)
106+
from .knowledge_base_create_response import (
107+
KnowledgeBaseCreateResponse as KnowledgeBaseCreateResponse,
108+
)
109+
from .knowledge_base_delete_response import (
110+
KnowledgeBaseDeleteResponse as KnowledgeBaseDeleteResponse,
111+
)
112+
from .knowledge_base_update_response import (
113+
KnowledgeBaseUpdateResponse as KnowledgeBaseUpdateResponse,
114+
)
115+
from .gpu_droplet_list_kernels_params import (
116+
GPUDropletListKernelsParams as GPUDropletListKernelsParams,
117+
)
118+
from .gpu_droplet_delete_by_tag_params import (
119+
GPUDropletDeleteByTagParams as GPUDropletDeleteByTagParams,
120+
)
121+
from .knowledge_base_retrieve_response import (
122+
KnowledgeBaseRetrieveResponse as KnowledgeBaseRetrieveResponse,
123+
)
124+
from .gpu_droplet_list_firewalls_params import (
125+
GPUDropletListFirewallsParams as GPUDropletListFirewallsParams,
126+
)
127+
from .gpu_droplet_list_kernels_response import (
128+
GPUDropletListKernelsResponse as GPUDropletListKernelsResponse,
129+
)
130+
from .gpu_droplet_list_snapshots_params import (
131+
GPUDropletListSnapshotsParams as GPUDropletListSnapshotsParams,
132+
)
133+
from .gpu_droplet_list_firewalls_response import (
134+
GPUDropletListFirewallsResponse as GPUDropletListFirewallsResponse,
135+
)
136+
from .gpu_droplet_list_neighbors_response import (
137+
GPUDropletListNeighborsResponse as GPUDropletListNeighborsResponse,
138+
)
139+
from .gpu_droplet_list_snapshots_response import (
140+
GPUDropletListSnapshotsResponse as GPUDropletListSnapshotsResponse,
141+
)
142+
from .agents.evaluation_metrics.workspaces import (
143+
agent_list_response, # type: ignore # noqa: F401
144+
agent_move_response, # type: ignore # noqa: F401
145+
)
146+
147+
# Rebuild cyclical models only after all modules are imported.
148+
# This ensures that, when building the deferred (due to cyclical references) model schema,
149+
# Pydantic can resolve the necessary references.
150+
# See: https://github.com/pydantic/pydantic/issues/11250 for more context.
151+
if _compat.PYDANTIC_V2:
152+
api_agent.APIAgent.model_rebuild(_parent_namespace_depth=0)
153+
api_workspace.APIWorkspace.model_rebuild(_parent_namespace_depth=0)
154+
agent_create_response.AgentCreateResponse.model_rebuild(_parent_namespace_depth=0)
155+
agent_retrieve_response.AgentRetrieveResponse.model_rebuild(
156+
_parent_namespace_depth=0
157+
)
158+
agent_update_response.AgentUpdateResponse.model_rebuild(_parent_namespace_depth=0)
159+
agent_delete_response.AgentDeleteResponse.model_rebuild(_parent_namespace_depth=0)
160+
agent_update_status_response.AgentUpdateStatusResponse.model_rebuild(
161+
_parent_namespace_depth=0
162+
)
163+
agents.evaluation_metrics.workspace_create_response.WorkspaceCreateResponse.model_rebuild(
164+
_parent_namespace_depth=0
165+
)
166+
agents.evaluation_metrics.workspace_retrieve_response.WorkspaceRetrieveResponse.model_rebuild(
167+
_parent_namespace_depth=0
168+
)
169+
agents.evaluation_metrics.workspace_update_response.WorkspaceUpdateResponse.model_rebuild(
170+
_parent_namespace_depth=0
171+
)
172+
agents.evaluation_metrics.workspace_list_response.WorkspaceListResponse.model_rebuild(
173+
_parent_namespace_depth=0
174+
)
175+
agents.evaluation_metrics.workspaces.agent_list_response.AgentListResponse.model_rebuild(
176+
_parent_namespace_depth=0
177+
)
178+
agents.evaluation_metrics.workspaces.agent_move_response.AgentMoveResponse.model_rebuild(
179+
_parent_namespace_depth=0
180+
)
181+
agents.function_create_response.FunctionCreateResponse.model_rebuild(
182+
_parent_namespace_depth=0
183+
)
184+
agents.function_update_response.FunctionUpdateResponse.model_rebuild(
185+
_parent_namespace_depth=0
186+
)
187+
agents.function_delete_response.FunctionDeleteResponse.model_rebuild(
188+
_parent_namespace_depth=0
189+
)
190+
agents.api_link_knowledge_base_output.APILinkKnowledgeBaseOutput.model_rebuild(
191+
_parent_namespace_depth=0
192+
)
193+
agents.knowledge_base_detach_response.KnowledgeBaseDetachResponse.model_rebuild(
194+
_parent_namespace_depth=0
195+
)
196+
agents.route_view_response.RouteViewResponse.model_rebuild(
197+
_parent_namespace_depth=0
198+
)
199+
models.providers.anthropic_list_agents_response.AnthropicListAgentsResponse.model_rebuild(
200+
_parent_namespace_depth=0
201+
)
202+
models.providers.openai_retrieve_agents_response.OpenAIRetrieveAgentsResponse.model_rebuild(
203+
_parent_namespace_depth=0
204+
)
205+
else:
206+
api_agent.APIAgent.update_forward_refs() # type: ignore
207+
api_workspace.APIWorkspace.update_forward_refs() # type: ignore
208+
agent_create_response.AgentCreateResponse.update_forward_refs() # type: ignore
209+
agent_retrieve_response.AgentRetrieveResponse.update_forward_refs() # type: ignore
210+
agent_update_response.AgentUpdateResponse.update_forward_refs() # type: ignore
211+
agent_delete_response.AgentDeleteResponse.update_forward_refs() # type: ignore
212+
agent_update_status_response.AgentUpdateStatusResponse.update_forward_refs() # type: ignore
213+
agents.evaluation_metrics.workspace_create_response.WorkspaceCreateResponse.update_forward_refs() # type: ignore
214+
agents.evaluation_metrics.workspace_retrieve_response.WorkspaceRetrieveResponse.update_forward_refs() # type: ignore
215+
agents.evaluation_metrics.workspace_update_response.WorkspaceUpdateResponse.update_forward_refs() # type: ignore
216+
agents.evaluation_metrics.workspace_list_response.WorkspaceListResponse.update_forward_refs() # type: ignore
217+
agents.evaluation_metrics.workspaces.agent_list_response.AgentListResponse.update_forward_refs() # type: ignore
218+
agents.evaluation_metrics.workspaces.agent_move_response.AgentMoveResponse.update_forward_refs() # type: ignore
219+
agents.function_create_response.FunctionCreateResponse.update_forward_refs() # type: ignore
220+
agents.function_update_response.FunctionUpdateResponse.update_forward_refs() # type: ignore
221+
agents.function_delete_response.FunctionDeleteResponse.update_forward_refs() # type: ignore
222+
agents.api_link_knowledge_base_output.APILinkKnowledgeBaseOutput.update_forward_refs() # type: ignore
223+
agents.knowledge_base_detach_response.KnowledgeBaseDetachResponse.update_forward_refs() # type: ignore
224+
agents.route_view_response.RouteViewResponse.update_forward_refs() # type: ignore
225+
models.providers.anthropic_list_agents_response.AnthropicListAgentsResponse.update_forward_refs() # type: ignore
226+
models.providers.openai_retrieve_agents_response.OpenAIRetrieveAgentsResponse.update_forward_refs() # type: ignore

src/do_gradientai/types/agents/evaluation_metrics/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from __future__ import annotations
44

5+
from . import workspaces # type: ignore # noqa: F401
56
from .model_list_params import ModelListParams as ModelListParams
67
from .model_list_response import ModelListResponse as ModelListResponse
78
from .workspace_create_params import WorkspaceCreateParams as WorkspaceCreateParams

0 commit comments

Comments
 (0)