Skip to content

Commit 0918ad8

Browse files
release: 1.5.0 (#145)
* chore(internal): avoid errors for isinstance checks on proxies * chore(internal): avoid lint errors in pagination expressions * fix(package): support direct resource imports * codegen metadata * codegen metadata * codegen metadata * codegen metadata * chore(ci): upload sdks to package manager * codegen metadata * chore(ci): fix installation instructions * chore(docs): grammar improvements * codegen metadata * fix(docs/api): remove references to nonexistent types * feat(api): api update * codegen metadata * feat(api): api update * feat(api): api update * feat(api): api update * release: 1.5.0 --------- Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
1 parent 3f0307f commit 0918ad8

28 files changed

+257
-24
lines changed

.github/workflows/ci.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,30 @@ jobs:
3030
- name: Run lints
3131
run: ./scripts/lint
3232

33+
upload:
34+
if: github.repository == 'stainless-sdks/arcade-engine-python'
35+
timeout-minutes: 10
36+
name: upload
37+
permissions:
38+
contents: read
39+
id-token: write
40+
runs-on: depot-ubuntu-24.04
41+
steps:
42+
- uses: actions/checkout@v4
43+
44+
- name: Get GitHub OIDC Token
45+
id: github-oidc
46+
uses: actions/github-script@v6
47+
with:
48+
script: core.setOutput('github_token', await core.getIDToken());
49+
50+
- name: Upload tarball
51+
env:
52+
URL: https://pkg.stainless.com/s
53+
AUTH: ${{ steps.github-oidc.outputs.github_token }}
54+
SHA: ${{ github.sha }}
55+
run: ./scripts/utils/upload-artifact.sh
56+
3357
test:
3458
timeout-minutes: 10
3559
name: test

.release-please-manifest.json

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

.stats.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 19
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/arcade-ai%2Farcade-engine-4ab7584c83c5c3a70e1dbe129614563b90a0cca67a62e77a394964af6d495187.yml
3-
openapi_spec_hash: 28328429c60e98b6713f717951688ba9
4-
config_hash: d86655f9af7ae4c4c444d9a16685a7c5
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/arcade-ai%2Farcade-engine-8c15fa101ceb4bf0f446fce918d2092361770e32ce43e6f88e1ece57244e8fa6.yml
3+
openapi_spec_hash: 008132037e04c877822a61f59c789647
4+
config_hash: 214997e49eded7cde9997ecb3bb24f68

CHANGELOG.md

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

3+
## 1.5.0 (2025-06-02)
4+
5+
Full Changelog: [v1.4.0...v1.5.0](https://github.com/ArcadeAI/arcade-py/compare/v1.4.0...v1.5.0)
6+
7+
### Features
8+
9+
* **api:** api update ([1e1f9ba](https://github.com/ArcadeAI/arcade-py/commit/1e1f9baf76f6bc0ba3a5099be15c3ea2c2d13c9d))
10+
* **api:** api update ([f362ab5](https://github.com/ArcadeAI/arcade-py/commit/f362ab5666cc12ade753f440e2ed2415a814a291))
11+
* **api:** api update ([055b14d](https://github.com/ArcadeAI/arcade-py/commit/055b14de18f70df3f17df3c7822e580189bd7754))
12+
* **api:** api update ([439fc45](https://github.com/ArcadeAI/arcade-py/commit/439fc45322818ee4cc4ab68937e0f0f90cc7f571))
13+
14+
15+
### Bug Fixes
16+
17+
* **docs/api:** remove references to nonexistent types ([ade9d56](https://github.com/ArcadeAI/arcade-py/commit/ade9d56256030ba632180cbd9732dea44491944d))
18+
* **package:** support direct resource imports ([b28c43b](https://github.com/ArcadeAI/arcade-py/commit/b28c43b1c107474147a829084fe4c2918fc83506))
19+
20+
21+
### Chores
22+
23+
* **ci:** fix installation instructions ([35ab018](https://github.com/ArcadeAI/arcade-py/commit/35ab01810788e9ed962e8ca18bc160cad13d5166))
24+
* **ci:** upload sdks to package manager ([264c2af](https://github.com/ArcadeAI/arcade-py/commit/264c2afb311f8f0042a210fcd48bf3ae4f869b3b))
25+
* **docs:** grammar improvements ([4039ce4](https://github.com/ArcadeAI/arcade-py/commit/4039ce4156faac6966efc62e6645328a52a3c9c3))
26+
* **internal:** avoid errors for isinstance checks on proxies ([f6a0407](https://github.com/ArcadeAI/arcade-py/commit/f6a04072956906ba2e1f14f2938deb26fe73a93b))
27+
* **internal:** avoid lint errors in pagination expressions ([4288f8c](https://github.com/ArcadeAI/arcade-py/commit/4288f8c7152ee984cc11db01950a12e470fd2fd3))
28+
329
## 1.4.0 (2025-04-25)
430

531
Full Changelog: [v1.3.1...v1.4.0](https://github.com/ArcadeAI/arcade-py/compare/v1.3.1...v1.4.0)

SECURITY.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ before making any information public.
1616
## Reporting Non-SDK Related Security Issues
1717

1818
If you encounter security issues that are not directly related to SDKs but pertain to the services
19-
or products provided by Arcade please follow the respective company's security reporting guidelines.
19+
or products provided by Arcade, please follow the respective company's security reporting guidelines.
2020

2121
### Arcade Terms and Policies
2222

23-
Please contact [email protected] for any questions or concerns regarding security of our services.
23+
Please contact [email protected] for any questions or concerns regarding the security of our services.
2424

2525
---
2626

api.md

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -81,16 +81,10 @@ Methods:
8181

8282
## Formatted
8383

84-
Types:
85-
86-
```python
87-
from arcadepy.types.tools import FormattedListResponse, FormattedGetResponse
88-
```
89-
9084
Methods:
9185

92-
- <code title="get /v1/formatted_tools">client.tools.formatted.<a href="./src/arcadepy/resources/tools/formatted.py">list</a>(\*\*<a href="src/arcadepy/types/tools/formatted_list_params.py">params</a>) -> <a href="./src/arcadepy/types/tools/formatted_list_response.py">SyncOffsetPage[object]</a></code>
93-
- <code title="get /v1/formatted_tools/{name}">client.tools.formatted.<a href="./src/arcadepy/resources/tools/formatted.py">get</a>(name, \*\*<a href="src/arcadepy/types/tools/formatted_get_params.py">params</a>) -> <a href="./src/arcadepy/types/tools/formatted_get_response.py">object</a></code>
86+
- <code title="get /v1/formatted_tools">client.tools.formatted.<a href="./src/arcadepy/resources/tools/formatted.py">list</a>(\*\*<a href="src/arcadepy/types/tools/formatted_list_params.py">params</a>) -> SyncOffsetPage[object]</code>
87+
- <code title="get /v1/formatted_tools/{name}">client.tools.formatted.<a href="./src/arcadepy/resources/tools/formatted.py">get</a>(name, \*\*<a href="src/arcadepy/types/tools/formatted_get_params.py">params</a>) -> object</code>
9488

9589
# Workers
9690

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "arcadepy"
3-
version = "1.4.0"
3+
version = "1.5.0"
44
description = "The official Python library for the Arcade API"
55
dynamic = ["readme"]
66
license = "MIT"

scripts/utils/upload-artifact.sh

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#!/usr/bin/env bash
2+
set -exuo pipefail
3+
4+
RESPONSE=$(curl -X POST "$URL" \
5+
-H "Authorization: Bearer $AUTH" \
6+
-H "Content-Type: application/json")
7+
8+
SIGNED_URL=$(echo "$RESPONSE" | jq -r '.url')
9+
10+
if [[ "$SIGNED_URL" == "null" ]]; then
11+
echo -e "\033[31mFailed to get signed URL.\033[0m"
12+
exit 1
13+
fi
14+
15+
UPLOAD_RESPONSE=$(tar -cz . | curl -v -X PUT \
16+
-H "Content-Type: application/gzip" \
17+
--data-binary @- "$SIGNED_URL" 2>&1)
18+
19+
if echo "$UPLOAD_RESPONSE" | grep -q "HTTP/[0-9.]* 200"; then
20+
echo -e "\033[32mUploaded build to Stainless storage.\033[0m"
21+
echo -e "\033[32mInstallation: pip install 'https://pkg.stainless.com/s/arcade-engine-python/$SHA'\033[0m"
22+
else
23+
echo -e "\033[31mFailed to upload artifact.\033[0m"
24+
exit 1
25+
fi

src/arcadepy/__init__.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

3+
import typing as _t
4+
35
from . import types
46
from ._types import NOT_GIVEN, Omit, NoneType, NotGiven, Transport, ProxiesTypes
57
from ._utils import file_from_path
@@ -68,6 +70,9 @@
6870
"DefaultAsyncHttpxClient",
6971
]
7072

73+
if not _t.TYPE_CHECKING:
74+
from ._utils._resources_proxy import resources as resources
75+
7176
_setup_logging()
7277

7378
# Update the __module__ attribute for exported symbols so that

src/arcadepy/_utils/_proxy.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,10 @@ def __dir__(self) -> Iterable[str]:
4646
@property # type: ignore
4747
@override
4848
def __class__(self) -> type: # pyright: ignore
49-
proxied = self.__get_proxied__()
49+
try:
50+
proxied = self.__get_proxied__()
51+
except Exception:
52+
return type(self)
5053
if issubclass(type(proxied), LazyProxy):
5154
return type(proxied)
5255
return proxied.__class__

0 commit comments

Comments
 (0)