Skip to content

Commit 747e51b

Browse files
authored
Merge pull request #37 from digitalocean/release-please--branches--main--changes--next
release: 3.0.0-beta.6
2 parents 9f911df + 2fdd9db commit 747e51b

File tree

87 files changed

+1905
-505
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+1905
-505
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-
".": "3.0.0-beta.5"
2+
".": "3.0.0-beta.6"
33
}

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 170
1+
configured_endpoints: 173
22
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/digitalocean%2Fgradient-621c3ebf5011c5ca508f78fccbea17de4ca6b35bfe99578c1ae2265021578d6f.yml
33
openapi_spec_hash: e29d14e3e4679fcf22b3e760e49931b1
4-
config_hash: 6c8d569b60ae6536708a165b72ff838f
4+
config_hash: 3d425c415b7f7ab581418b43eb521cb3

CHANGELOG.md

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

3+
## 3.0.0-beta.6 (2025-09-17)
4+
5+
Full Changelog: [v3.0.0-beta.5...v3.0.0-beta.6](https://github.com/digitalocean/gradient-python/compare/v3.0.0-beta.5...v3.0.0-beta.6)
6+
7+
### Features
8+
9+
* **api:** enable typescript ([c17086a](https://github.com/digitalocean/gradient-python/commit/c17086aaed18fbb8ba85f050556a193cdc4a233f))
10+
* improve future compat with pydantic v3 ([300eac0](https://github.com/digitalocean/gradient-python/commit/300eac0417f8f17a65bb871b15de1254f4677558))
11+
* normalize user agent with other do clients ([85bc8eb](https://github.com/digitalocean/gradient-python/commit/85bc8eb26afdfd7deb28ce2198eb3ef02181b95f))
12+
* **types:** replace List[str] with SequenceNotStr in params ([5a6aa92](https://github.com/digitalocean/gradient-python/commit/5a6aa9241b5e7c2f4319caa14d62f41c0c824f9e))
13+
14+
15+
### Chores
16+
17+
* clean up LICENSING after legal review ([#49](https://github.com/digitalocean/gradient-python/issues/49)) ([7212f62](https://github.com/digitalocean/gradient-python/commit/7212f62b6d3a5bbc7c8422a7fd8f336d22792049))
18+
* **internal:** move mypy configurations to `pyproject.toml` file ([25c0448](https://github.com/digitalocean/gradient-python/commit/25c044818b636e3307af2fefd2add15a6e650e8d))
19+
* **internal:** update pydantic dependency ([55255fb](https://github.com/digitalocean/gradient-python/commit/55255fb5d51bca4204f5e741024f4184da465d78))
20+
* **tests:** simplify `get_platform` test ([b839e4b](https://github.com/digitalocean/gradient-python/commit/b839e4b31c1262157544bd69536051a10d6b098d))
21+
322
## 3.0.0-beta.5 (2025-09-08)
423

524
Full Changelog: [v3.0.0-beta.4...v3.0.0-beta.5](https://github.com/digitalocean/gradient-python/compare/v3.0.0-beta.4...v3.0.0-beta.5)

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@
186186
same "printed page" as the copyright notice for easier
187187
identification within third-party archives.
188188

189-
Copyright 2025 Gradient
189+
Copyright 2025 DigitalOcean, LLC
190190

191191
Licensed under the Apache License, Version 2.0 (the "License");
192192
you may not use this file except in compliance with the License.

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -541,3 +541,8 @@ Python 3.8 or higher.
541541
## Contributing
542542

543543
See [the contributing documentation](./CONTRIBUTING.md).
544+
545+
546+
## License
547+
548+
Licensed under the Apache License 2.0. See [LICENSE](./LICENSE)

api.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ from gradient.types import (
5151
AgentUpdateResponse,
5252
AgentListResponse,
5353
AgentDeleteResponse,
54+
AgentRetrieveUsageResponse,
5455
AgentUpdateStatusResponse,
5556
)
5657
```
@@ -62,6 +63,7 @@ Methods:
6263
- <code title="put /v2/gen-ai/agents/{uuid}">client.agents.<a href="./src/gradient/resources/agents/agents.py">update</a>(path_uuid, \*\*<a href="src/gradient/types/agent_update_params.py">params</a>) -> <a href="./src/gradient/types/agent_update_response.py">AgentUpdateResponse</a></code>
6364
- <code title="get /v2/gen-ai/agents">client.agents.<a href="./src/gradient/resources/agents/agents.py">list</a>(\*\*<a href="src/gradient/types/agent_list_params.py">params</a>) -> <a href="./src/gradient/types/agent_list_response.py">AgentListResponse</a></code>
6465
- <code title="delete /v2/gen-ai/agents/{uuid}">client.agents.<a href="./src/gradient/resources/agents/agents.py">delete</a>(uuid) -> <a href="./src/gradient/types/agent_delete_response.py">AgentDeleteResponse</a></code>
66+
- <code title="get /v2/gen-ai/agents/{uuid}/usage">client.agents.<a href="./src/gradient/resources/agents/agents.py">retrieve_usage</a>(uuid, \*\*<a href="src/gradient/types/agent_retrieve_usage_params.py">params</a>) -> <a href="./src/gradient/types/agent_retrieve_usage_response.py">AgentRetrieveUsageResponse</a></code>
6567
- <code title="put /v2/gen-ai/agents/{uuid}/deployment_visibility">client.agents.<a href="./src/gradient/resources/agents/agents.py">update_status</a>(path_uuid, \*\*<a href="src/gradient/types/agent_update_status_params.py">params</a>) -> <a href="./src/gradient/types/agent_update_status_response.py">AgentUpdateStatusResponse</a></code>
6668

6769
## APIKeys
@@ -214,6 +216,30 @@ Methods:
214216
- <code title="delete /v2/gen-ai/openai/keys/{api_key_uuid}">client.agents.evaluation_metrics.openai.keys.<a href="./src/gradient/resources/agents/evaluation_metrics/openai/keys.py">delete</a>(api_key_uuid) -> <a href="./src/gradient/types/agents/evaluation_metrics/openai/key_delete_response.py">KeyDeleteResponse</a></code>
215217
- <code title="get /v2/gen-ai/openai/keys/{uuid}/agents">client.agents.evaluation_metrics.openai.keys.<a href="./src/gradient/resources/agents/evaluation_metrics/openai/keys.py">list_agents</a>(uuid, \*\*<a href="src/gradient/types/agents/evaluation_metrics/openai/key_list_agents_params.py">params</a>) -> <a href="./src/gradient/types/agents/evaluation_metrics/openai/key_list_agents_response.py">KeyListAgentsResponse</a></code>
216218

219+
### Oauth2
220+
221+
Types:
222+
223+
```python
224+
from gradient.types.agents.evaluation_metrics import Oauth2GenerateURLResponse
225+
```
226+
227+
Methods:
228+
229+
- <code title="get /v2/gen-ai/oauth2/url">client.agents.evaluation_metrics.oauth2.<a href="./src/gradient/resources/agents/evaluation_metrics/oauth2/oauth2.py">generate_url</a>(\*\*<a href="src/gradient/types/agents/evaluation_metrics/oauth2_generate_url_params.py">params</a>) -> <a href="./src/gradient/types/agents/evaluation_metrics/oauth2_generate_url_response.py">Oauth2GenerateURLResponse</a></code>
230+
231+
#### Dropbox
232+
233+
Types:
234+
235+
```python
236+
from gradient.types.agents.evaluation_metrics.oauth2 import DropboxCreateTokensResponse
237+
```
238+
239+
Methods:
240+
241+
- <code title="post /v2/gen-ai/oauth2/dropbox/tokens">client.agents.evaluation_metrics.oauth2.dropbox.<a href="./src/gradient/resources/agents/evaluation_metrics/oauth2/dropbox.py">create_tokens</a>(\*\*<a href="src/gradient/types/agents/evaluation_metrics/oauth2/dropbox_create_tokens_params.py">params</a>) -> <a href="./src/gradient/types/agents/evaluation_metrics/oauth2/dropbox_create_tokens_response.py">DropboxCreateTokensResponse</a></code>
242+
217243
## EvaluationRuns
218244

219245
Types:

mypy.ini

Lines changed: 0 additions & 50 deletions
This file was deleted.

pyproject.toml

Lines changed: 53 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "gradient"
3-
version = "3.0.0-beta.5"
3+
version = "3.0.0-beta.6"
44
description = "The official Python library for the Gradient API"
55
dynamic = ["readme"]
66
license = "Apache-2.0"
@@ -54,7 +54,6 @@ dev-dependencies = [
5454
"dirty-equals>=0.6.0",
5555
"importlib-metadata>=6.7.0",
5656
"rich>=13.7.1",
57-
"nest_asyncio==1.6.0",
5857
"pytest-xdist>=3.6.1",
5958
]
6059

@@ -144,6 +143,58 @@ reportOverlappingOverload = false
144143
reportImportCycles = false
145144
reportPrivateUsage = false
146145

146+
[tool.mypy]
147+
pretty = true
148+
show_error_codes = true
149+
150+
# Exclude _files.py because mypy isn't smart enough to apply
151+
# the correct type narrowing and as this is an internal module
152+
# it's fine to just use Pyright.
153+
#
154+
# We also exclude our `tests` as mypy doesn't always infer
155+
# types correctly and Pyright will still catch any type errors.
156+
exclude = ['src/gradient/_files.py', '_dev/.*.py', 'tests/.*']
157+
158+
strict_equality = true
159+
implicit_reexport = true
160+
check_untyped_defs = true
161+
no_implicit_optional = true
162+
163+
warn_return_any = true
164+
warn_unreachable = true
165+
warn_unused_configs = true
166+
167+
# Turn these options off as it could cause conflicts
168+
# with the Pyright options.
169+
warn_unused_ignores = false
170+
warn_redundant_casts = false
171+
172+
disallow_any_generics = true
173+
disallow_untyped_defs = true
174+
disallow_untyped_calls = true
175+
disallow_subclassing_any = true
176+
disallow_incomplete_defs = true
177+
disallow_untyped_decorators = true
178+
cache_fine_grained = true
179+
180+
# By default, mypy reports an error if you assign a value to the result
181+
# of a function call that doesn't return anything. We do this in our test
182+
# cases:
183+
# ```
184+
# result = ...
185+
# assert result is None
186+
# ```
187+
# Changing this codegen to make mypy happy would increase complexity
188+
# and would not be worth it.
189+
disable_error_code = "func-returns-value,overload-cannot-match"
190+
191+
# https://github.com/python/mypy/issues/12162
192+
[[tool.mypy.overrides]]
193+
module = "black.files.*"
194+
ignore_errors = true
195+
ignore_missing_imports = true
196+
197+
147198
[tool.ruff]
148199
line-length = 120
149200
output-format = "grouped"

requirements-dev.lock

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ multidict==6.4.4
7575
mypy==1.14.1
7676
mypy-extensions==1.0.0
7777
# via mypy
78-
nest-asyncio==1.6.0
7978
nodeenv==1.8.0
8079
# via pyright
8180
nox==2023.4.22
@@ -89,9 +88,9 @@ pluggy==1.5.0
8988
propcache==0.3.1
9089
# via aiohttp
9190
# via yarl
92-
pydantic==2.10.3
91+
pydantic==2.11.9
9392
# via gradient
94-
pydantic-core==2.27.1
93+
pydantic-core==2.33.2
9594
# via pydantic
9695
pygments==2.18.0
9796
# via rich
@@ -127,6 +126,9 @@ typing-extensions==4.12.2
127126
# via pydantic
128127
# via pydantic-core
129128
# via pyright
129+
# via typing-inspection
130+
typing-inspection==0.4.1
131+
# via pydantic
130132
virtualenv==20.24.5
131133
# via nox
132134
yarl==1.20.0

requirements.lock

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,9 @@ multidict==6.4.4
5555
propcache==0.3.1
5656
# via aiohttp
5757
# via yarl
58-
pydantic==2.10.3
58+
pydantic==2.11.9
5959
# via gradient
60-
pydantic-core==2.27.1
60+
pydantic-core==2.33.2
6161
# via pydantic
6262
sniffio==1.3.0
6363
# via anyio
@@ -68,5 +68,8 @@ typing-extensions==4.12.2
6868
# via multidict
6969
# via pydantic
7070
# via pydantic-core
71+
# via typing-inspection
72+
typing-inspection==0.4.1
73+
# via pydantic
7174
yarl==1.20.0
7275
# via aiohttp

0 commit comments

Comments
 (0)