Skip to content

release: 0.1.2 #17

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 27 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
4f69dfa
chore: fix typos (#16)
stainless-app[bot] Mar 27, 2025
374f1e4
codegen metadata
stainless-app[bot] Mar 27, 2025
83e50f3
fix: pluralize `list` response variables (#18)
stainless-app[bot] Apr 2, 2025
b870e56
chore(internal): remove trailing character (#19)
stainless-app[bot] Apr 4, 2025
1e27481
chore(internal): slight transform perf improvement (#20)
stainless-app[bot] Apr 9, 2025
e8a9f71
chore(internal): expand CI branch coverage
stainless-app[bot] Apr 10, 2025
908e6bc
chore(internal): reduce CI branch coverage
stainless-app[bot] Apr 10, 2025
286dd31
fix(perf): skip traversing types for NotGiven values
stainless-app[bot] Apr 12, 2025
6b0e567
fix(perf): optimize some hot paths
stainless-app[bot] Apr 12, 2025
dac518e
chore(internal): update pyright settings
stainless-app[bot] Apr 15, 2025
53c5d34
chore(client): minor internal fixes
stainless-app[bot] Apr 15, 2025
24419c5
chore(internal): bump pyright version
stainless-app[bot] Apr 17, 2025
b1ec190
chore(internal): base client updates
stainless-app[bot] Apr 17, 2025
6a227e2
chore(internal): update models test
stainless-app[bot] Apr 19, 2025
5f8b24d
chore(ci): add timeout thresholds for CI jobs
stainless-app[bot] Apr 23, 2025
102ccf2
chore(internal): import reformatting
stainless-app[bot] Apr 23, 2025
f0cd66c
chore(internal): fix list file params
stainless-app[bot] Apr 23, 2025
76e2a76
chore(internal): refactor retries to not use recursion
stainless-app[bot] Apr 23, 2025
151c8d7
fix(pydantic v1): more robust ModelField.annotation check
stainless-app[bot] Apr 23, 2025
4f449d6
chore(internal): codegen related update
stainless-app[bot] Apr 24, 2025
55e4d39
chore(ci): only use depot for staging repos
stainless-app[bot] Apr 24, 2025
6581584
chore: broadly detect json family of content-type headers
stainless-app[bot] Apr 24, 2025
2667249
chore(internal): avoid errors for isinstance checks on proxies
stainless-app[bot] May 9, 2025
72c4510
fix(package): support direct resource imports
stainless-app[bot] May 10, 2025
17a00b4
chore(ci): upload sdks to package manager
stainless-app[bot] May 15, 2025
5dbb8ab
chore(ci): fix installation instructions
stainless-app[bot] May 16, 2025
e8b9ffc
release: 0.1.2
stainless-app[bot] May 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 34 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
- next
branches-ignore:
- 'generated'
- 'codegen/**'
- 'integrated/**'
- 'stl-preview-head/**'
- 'stl-preview-base/**'

jobs:
lint:
timeout-minutes: 10
name: lint
runs-on: ubuntu-latest

runs-on: ${{ github.repository == 'stainless-sdks/oxp-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
steps:
- uses: actions/checkout@v4

Expand All @@ -30,10 +30,34 @@ jobs:
- name: Run lints
run: ./scripts/lint

upload:
if: github.repository == 'stainless-sdks/oxp-python'
timeout-minutes: 10
name: upload
permissions:
contents: read
id-token: write
runs-on: depot-ubuntu-24.04
steps:
- uses: actions/checkout@v4

- name: Get GitHub OIDC Token
id: github-oidc
uses: actions/github-script@v6
with:
script: core.setOutput('github_token', await core.getIDToken());

- name: Upload tarball
env:
URL: https://pkg.stainless.com/s
AUTH: ${{ steps.github-oidc.outputs.github_token }}
SHA: ${{ github.sha }}
run: ./scripts/utils/upload-artifact.sh

test:
timeout-minutes: 10
name: test
runs-on: ubuntu-latest

runs-on: ${{ github.repository == 'stainless-sdks/oxp-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
steps:
- uses: actions/checkout@v4

Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.1.1"
".": "0.1.2"
}
2 changes: 2 additions & 0 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
configured_endpoints: 3
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/oxp%2Foxp-40d99ea9c623ae3faf290164274b8d9a85b078d85a71718afba833e7218502a8.yml
openapi_spec_hash: 0e452b918e63bb906a2886dfc2109a82
config_hash: 4267724890db00da87d77d1a951b86f4
36 changes: 36 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,41 @@
# Changelog

## 0.1.2 (2025-05-16)

Full Changelog: [v0.1.1...v0.1.2](https://github.com/OpenExecProtocol/oxp-python/compare/v0.1.1...v0.1.2)

### Bug Fixes

* **package:** support direct resource imports ([72c4510](https://github.com/OpenExecProtocol/oxp-python/commit/72c4510d911d8d1a370d61544801656bc89ec380))
* **perf:** optimize some hot paths ([6b0e567](https://github.com/OpenExecProtocol/oxp-python/commit/6b0e5678583e03c373ee4f7e78bf6298659a92b1))
* **perf:** skip traversing types for NotGiven values ([286dd31](https://github.com/OpenExecProtocol/oxp-python/commit/286dd311a3d0689f8d19114a80b64a8a6f95e5be))
* pluralize `list` response variables ([#18](https://github.com/OpenExecProtocol/oxp-python/issues/18)) ([83e50f3](https://github.com/OpenExecProtocol/oxp-python/commit/83e50f3c775959dae738d5d927fcf3ccfc2652bc))
* **pydantic v1:** more robust ModelField.annotation check ([151c8d7](https://github.com/OpenExecProtocol/oxp-python/commit/151c8d76c13ead33aee207edfedf1a7e5154443c))


### Chores

* broadly detect json family of content-type headers ([6581584](https://github.com/OpenExecProtocol/oxp-python/commit/65815847ad2c3f4e3f6f538978b26fe6cbf51c98))
* **ci:** add timeout thresholds for CI jobs ([5f8b24d](https://github.com/OpenExecProtocol/oxp-python/commit/5f8b24de0fedd15f744f0e27579693b06c2bcf8d))
* **ci:** fix installation instructions ([5dbb8ab](https://github.com/OpenExecProtocol/oxp-python/commit/5dbb8abd11a7e814f2f2e29d9ce57757f322a0a6))
* **ci:** only use depot for staging repos ([55e4d39](https://github.com/OpenExecProtocol/oxp-python/commit/55e4d39a1e10e4e0009a5b31a36f635e448f18e2))
* **ci:** upload sdks to package manager ([17a00b4](https://github.com/OpenExecProtocol/oxp-python/commit/17a00b41e83ffa3ab321ae0d098dad657796d2f2))
* **client:** minor internal fixes ([53c5d34](https://github.com/OpenExecProtocol/oxp-python/commit/53c5d34be4f5b5601321d886f4e86e054a394795))
* fix typos ([#16](https://github.com/OpenExecProtocol/oxp-python/issues/16)) ([4f69dfa](https://github.com/OpenExecProtocol/oxp-python/commit/4f69dfa1eb5016931e4febad4eebfaa2538c681d))
* **internal:** avoid errors for isinstance checks on proxies ([2667249](https://github.com/OpenExecProtocol/oxp-python/commit/266724983d1edbdca30f58b6175146ebf50a0510))
* **internal:** base client updates ([b1ec190](https://github.com/OpenExecProtocol/oxp-python/commit/b1ec19072e83637a07bfd8a305a9723698b98f8c))
* **internal:** bump pyright version ([24419c5](https://github.com/OpenExecProtocol/oxp-python/commit/24419c513a2e19ed18e3e734f68149aea4b989d9))
* **internal:** codegen related update ([4f449d6](https://github.com/OpenExecProtocol/oxp-python/commit/4f449d6a67753b051f0e1e72e63f7cdb0edc6bdf))
* **internal:** expand CI branch coverage ([e8a9f71](https://github.com/OpenExecProtocol/oxp-python/commit/e8a9f71f2f556bc7ab2d8c2193c1fd9fa44cec4e))
* **internal:** fix list file params ([f0cd66c](https://github.com/OpenExecProtocol/oxp-python/commit/f0cd66c23b9805f44268af34be9a4d613fa3c12e))
* **internal:** import reformatting ([102ccf2](https://github.com/OpenExecProtocol/oxp-python/commit/102ccf2387b007066f1c880c96e1d743c0578759))
* **internal:** reduce CI branch coverage ([908e6bc](https://github.com/OpenExecProtocol/oxp-python/commit/908e6bc4009e946b0eb65d59db4d82284f26b070))
* **internal:** refactor retries to not use recursion ([76e2a76](https://github.com/OpenExecProtocol/oxp-python/commit/76e2a76f2c3cb04af873be16b8d9af04f273949d))
* **internal:** remove trailing character ([#19](https://github.com/OpenExecProtocol/oxp-python/issues/19)) ([b870e56](https://github.com/OpenExecProtocol/oxp-python/commit/b870e569254debfbeffed25051a080c1650987eb))
* **internal:** slight transform perf improvement ([#20](https://github.com/OpenExecProtocol/oxp-python/issues/20)) ([1e27481](https://github.com/OpenExecProtocol/oxp-python/commit/1e27481a8e4eef43b8df3cb6b6bb9010ba12e783))
* **internal:** update models test ([6a227e2](https://github.com/OpenExecProtocol/oxp-python/commit/6a227e207e281f30d8fb1e588551bade9da4caf4))
* **internal:** update pyright settings ([dac518e](https://github.com/OpenExecProtocol/oxp-python/commit/dac518ec8de90d4854ca6b828661083e84b183ee))

## 0.1.1 (2025-03-17)

Full Changelog: [v0.1.0...v0.1.1](https://github.com/OpenExecProtocol/oxp-python/compare/v0.1.0...v0.1.1)
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ client = Oxp(
bearer_token=os.environ.get("OXP_API_KEY"), # This is the default and can be omitted
)

tool = client.tools.list()
print(tool.items)
tools = client.tools.list()
print(tools.items)
```

While you can provide a `bearer_token` keyword argument,
Expand All @@ -55,8 +55,8 @@ client = AsyncOxp(


async def main() -> None:
tool = await client.tools.list()
print(tool.items)
tools = await client.tools.list()
print(tools.items)


asyncio.run(main())
Expand Down
5 changes: 3 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "oxp"
version = "0.1.1"
version = "0.1.2"
description = "The official Python library for the oxp API"
dynamic = ["readme"]
license = "MIT"
Expand Down Expand Up @@ -42,7 +42,7 @@ Repository = "https://github.com/OpenExecProtocol/oxp-python"
managed = true
# version pins are in requirements-dev.lock
dev-dependencies = [
"pyright>=1.1.359",
"pyright==1.1.399",
"mypy",
"respx",
"pytest",
Expand Down Expand Up @@ -147,6 +147,7 @@ exclude = [
]

reportImplicitOverride = true
reportOverlappingOverload = false

reportImportCycles = false
reportPrivateUsage = false
Expand Down
2 changes: 1 addition & 1 deletion requirements-dev.lock
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ pydantic-core==2.27.1
# via pydantic
pygments==2.18.0
# via rich
pyright==1.1.392.post0
pyright==1.1.399
pytest==8.3.3
# via pytest-asyncio
pytest-asyncio==0.24.0
Expand Down
25 changes: 25 additions & 0 deletions scripts/utils/upload-artifact.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/usr/bin/env bash
set -exuo pipefail

RESPONSE=$(curl -X POST "$URL" \
-H "Authorization: Bearer $AUTH" \
-H "Content-Type: application/json")

SIGNED_URL=$(echo "$RESPONSE" | jq -r '.url')

if [[ "$SIGNED_URL" == "null" ]]; then
echo -e "\033[31mFailed to get signed URL.\033[0m"
exit 1
fi

UPLOAD_RESPONSE=$(tar -cz . | curl -v -X PUT \
-H "Content-Type: application/gzip" \
--data-binary @- "$SIGNED_URL" 2>&1)

if echo "$UPLOAD_RESPONSE" | grep -q "HTTP/[0-9.]* 200"; then
echo -e "\033[32mUploaded build to Stainless storage.\033[0m"
echo -e "\033[32mInstallation: pip install 'https://pkg.stainless.com/s/oxp-python/$SHA'\033[0m"
else
echo -e "\033[31mFailed to upload artifact.\033[0m"
exit 1
fi
5 changes: 5 additions & 0 deletions src/oxp/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

import typing as _t

from . import types
from ._types import NOT_GIVEN, Omit, NoneType, NotGiven, Transport, ProxiesTypes
from ._utils import file_from_path
Expand Down Expand Up @@ -68,6 +70,9 @@
"DefaultAsyncHttpxClient",
]

if not _t.TYPE_CHECKING:
from ._utils._resources_proxy import resources as resources

_setup_logging()

# Update the __module__ attribute for exported symbols so that
Expand Down
Loading