Skip to content
This repository was archived by the owner on Sep 14, 2026. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
142 commits
Select commit Hold shift + click to select a range
5e4b37b
chore(internal): codegen related update (#72)
stainless-app[bot] Dec 3, 2024
76dbaf6
chore: make the `Omit` type public (#74)
stainless-app[bot] Dec 5, 2024
da0cbfa
chore(internal): bump pydantic dependency (#75)
stainless-app[bot] Dec 10, 2024
16a3429
docs(readme): fix http client proxies example (#76)
stainless-app[bot] Dec 10, 2024
fa673fd
chore(internal): codegen related update (#77)
stainless-app[bot] Dec 13, 2024
934bb92
chore(internal): codegen related update (#78)
stainless-app[bot] Dec 14, 2024
836fc31
chore(internal): codegen related update (#79)
stainless-app[bot] Dec 14, 2024
95fbd1f
chore(internal): updated imports (#80)
stainless-app[bot] Dec 14, 2024
d4eca1c
chore(internal): codegen related update (#81)
stainless-app[bot] Dec 17, 2024
68ab6b3
chore(internal): codegen related update (#82)
stainless-app[bot] Dec 17, 2024
471d048
docs(readme): example snippet for client context manager (#83)
stainless-app[bot] Dec 17, 2024
d8fe216
chore(internal): fix some typos (#84)
stainless-app[bot] Dec 18, 2024
b5193a7
chore(internal): codegen related update (#85)
stainless-app[bot] Jan 2, 2025
2caa323
chore(client): simplify `Optional[object]` to just `object` (#86)
stainless-app[bot] Jan 7, 2025
6147129
chore: add missing isclass check (#87)
stainless-app[bot] Jan 7, 2025
2e6af33
chore(internal): bump httpx dependency (#88)
stainless-app[bot] Jan 8, 2025
0d60c0e
fix(client): only call .close() when needed (#89)
stainless-app[bot] Jan 8, 2025
d75a8d5
docs: fix typos (#90)
stainless-app[bot] Jan 9, 2025
e17d9fa
chore(internal): codegen related update (#91)
stainless-app[bot] Jan 9, 2025
eef2c15
fix(api): better support union schemas with common properties (#92)
stainless-app[bot] Jan 10, 2025
e9a5800
fix: correctly handle deserialising `cls` fields (#94)
stainless-app[bot] Jan 10, 2025
eeed899
chore(internal): codegen related update (#95)
stainless-app[bot] Jan 17, 2025
d13b829
docs(raw responses): fix duplicate `the` (#96)
stainless-app[bot] Jan 21, 2025
b18604c
fix(tests): make test_get_platform less flaky (#97)
stainless-app[bot] Jan 21, 2025
1f5c64a
chore(internal): avoid pytest-asyncio deprecation warning (#98)
stainless-app[bot] Jan 21, 2025
ef7980e
chore(internal): minor style changes (#99)
stainless-app[bot] Jan 22, 2025
ef56b7d
chore(internal): minor formatting changes (#100)
stainless-app[bot] Jan 24, 2025
2083784
chore(internal): codegen related update (#101)
stainless-app[bot] Jan 28, 2025
aa430f5
chore(internal): change default timeout to an int (#102)
stainless-app[bot] Feb 4, 2025
7e27bb2
chore(internal): bummp ruff dependency (#103)
stainless-app[bot] Feb 4, 2025
ad27414
feat(client): send `X-Stainless-Read-Timeout` header (#104)
stainless-app[bot] Feb 6, 2025
39541c9
chore(internal): fix type traversing dictionary params (#105)
stainless-app[bot] Feb 7, 2025
d4339f7
chore(internal): minor type handling changes (#106)
stainless-app[bot] Feb 7, 2025
f43e7eb
chore(internal): update client tests (#107)
stainless-app[bot] Feb 13, 2025
138ac15
fix: asyncify on non-asyncio runtimes (#108)
stainless-app[bot] Feb 14, 2025
6e07ab6
feat(client): allow passing `NotGiven` for body (#109)
stainless-app[bot] Feb 21, 2025
1942380
chore(internal): fix devcontainers setup (#110)
stainless-app[bot] Feb 22, 2025
fdf56ff
chore(internal): properly set __pydantic_private__ (#111)
stainless-app[bot] Feb 26, 2025
c9d003a
docs: update URLs from stainlessapi.com to stainless.com (#112)
stainless-app[bot] Feb 28, 2025
ff53598
chore(docs): update client docstring (#113)
stainless-app[bot] Feb 28, 2025
12a3eee
chore(internal): remove unused http client options forwarding (#114)
stainless-app[bot] Mar 4, 2025
f3cc5cd
docs: revise readme docs about nested params (#115)
stainless-app[bot] Mar 11, 2025
b2a3b42
test: add DEFER_PYDANTIC_BUILD=false flag to tests (#116)
stainless-app[bot] Mar 11, 2025
34df2f6
chore(internal): remove extra empty newlines (#117)
stainless-app[bot] Mar 14, 2025
63e202c
feat(api): manual updates (#118)
stainless-app[bot] Mar 14, 2025
de6baa4
feat(api): manual updates (#119)
stainless-app[bot] Mar 14, 2025
7417d33
codegen metadata
stainless-app[bot] Mar 14, 2025
5ad9b62
feat(api): manual updates (#120)
stainless-app[bot] Mar 14, 2025
e56560b
chore(internal): bump rye to 0.44.0 (#121)
stainless-app[bot] Mar 15, 2025
45bc1ee
fix(types): handle more discriminated union shapes (#122)
stainless-app[bot] Mar 15, 2025
7641012
fix(ci): ensure pip is always available (#123)
stainless-app[bot] Mar 17, 2025
8460bae
fix(ci): remove publishing patch (#124)
stainless-app[bot] Mar 17, 2025
be765a1
chore: fix typos (#125)
stainless-app[bot] Mar 27, 2025
03dda86
codegen metadata
stainless-app[bot] Mar 27, 2025
47d4c8b
fix(types): add missing total=False (#126)
stainless-app[bot] Mar 28, 2025
74a5492
codegen metadata
stainless-app[bot] Mar 29, 2025
cffd47b
codegen metadata
stainless-app[bot] Apr 2, 2025
bf384bd
chore(internal): remove trailing character (#127)
stainless-app[bot] Apr 4, 2025
553e3ce
chore(internal): slight transform perf improvement (#128)
stainless-app[bot] Apr 9, 2025
1fbeff3
chore(internal): expand CI branch coverage
stainless-app[bot] Apr 10, 2025
7fd60ea
chore(internal): reduce CI branch coverage
stainless-app[bot] Apr 10, 2025
827644c
fix(perf): skip traversing types for NotGiven values
stainless-app[bot] Apr 12, 2025
3dd3ca6
fix(perf): optimize some hot paths
stainless-app[bot] Apr 12, 2025
f753908
chore(internal): update pyright settings
stainless-app[bot] Apr 15, 2025
cee4cc8
chore(client): minor internal fixes
stainless-app[bot] Apr 15, 2025
49b6a7a
chore(internal): bump pyright version
stainless-app[bot] Apr 17, 2025
df24cba
chore(internal): base client updates
stainless-app[bot] Apr 17, 2025
316af6f
chore(internal): update models test
stainless-app[bot] Apr 19, 2025
49e9552
chore(ci): add timeout thresholds for CI jobs
stainless-app[bot] Apr 23, 2025
5a7a874
chore(internal): import reformatting
stainless-app[bot] Apr 23, 2025
40348db
chore(internal): fix list file params
stainless-app[bot] Apr 23, 2025
ae05f8f
chore(internal): refactor retries to not use recursion
stainless-app[bot] Apr 23, 2025
3bad66b
fix(pydantic v1): more robust ModelField.annotation check
stainless-app[bot] Apr 23, 2025
13a53a3
chore(internal): minor formatting changes
stainless-app[bot] Apr 24, 2025
7b6e6d6
chore(internal): codegen related update
stainless-app[bot] Apr 24, 2025
d2ef77a
chore(ci): only use depot for staging repos
stainless-app[bot] Apr 24, 2025
3befdb8
chore: broadly detect json family of content-type headers
stainless-app[bot] Apr 24, 2025
d000c3f
chore(internal): avoid errors for isinstance checks on proxies
stainless-app[bot] May 9, 2025
12d747b
fix(package): support direct resource imports
stainless-app[bot] May 10, 2025
8d74835
chore(ci): upload sdks to package manager
stainless-app[bot] May 15, 2025
6efadec
chore(ci): fix installation instructions
stainless-app[bot] May 16, 2025
d1cb254
chore(docs): grammar improvements
stainless-app[bot] May 22, 2025
5b74eb6
fix(docs/api): remove references to nonexistent types
stainless-app[bot] May 28, 2025
460c7f4
chore(docs): remove reference to rye shell
stainless-app[bot] Jun 3, 2025
3b8e0c7
chore(docs): remove unnecessary param examples
stainless-app[bot] Jun 3, 2025
bc631ed
feat(client): add follow_redirects request option
stainless-app[bot] Jun 3, 2025
d99e688
chore(tests): run tests in parallel
stainless-app[bot] Jun 13, 2025
3825cae
fix(client): correctly parse binary response | stream
stainless-app[bot] Jun 13, 2025
88ee490
chore(tests): add tests for httpx client instantiation & proxies
stainless-app[bot] Jun 17, 2025
ae3364b
chore(internal): update conftest.py
stainless-app[bot] Jun 17, 2025
fac0113
chore(ci): enable for pull requests
stainless-app[bot] Jun 17, 2025
d8a93b0
chore(readme): update badges
stainless-app[bot] Jun 18, 2025
d24e16f
fix(tests): fix: tests which call HTTP endpoints directly with the ex…
stainless-app[bot] Jun 18, 2025
98234df
docs(client): fix httpx.Timeout documentation reference
stainless-app[bot] Jun 19, 2025
4cb377e
feat(client): add support for aiohttp
stainless-app[bot] Jun 21, 2025
3d9df0b
chore(tests): skip some failing tests on the latest python versions
stainless-app[bot] Jun 24, 2025
e4c6c12
fix(ci): release-doctor — report correct token name
stainless-app[bot] Jun 27, 2025
14d6eba
chore(ci): only run for pushes and fork pull requests
stainless-app[bot] Jun 28, 2025
93ac1d6
fix(ci): correct conditional
stainless-app[bot] Jun 30, 2025
68f25d4
chore(ci): change upload type
stainless-app[bot] Jul 2, 2025
2c6433b
chore(internal): codegen related update
stainless-app[bot] Jul 8, 2025
34e6151
chore(internal): bump pinned h11 dep
stainless-app[bot] Jul 9, 2025
08e67ff
chore(package): mark python 3.13 as supported
stainless-app[bot] Jul 9, 2025
e68d6c9
fix(parsing): correctly handle nested discriminated unions
stainless-app[bot] Jul 10, 2025
e3b94a9
chore(readme): fix version rendering on pypi
stainless-app[bot] Jul 11, 2025
61555e0
fix(client): don't send Content-Type header on GET requests
stainless-app[bot] Jul 12, 2025
f89c278
feat: clean up environment call outs
stainless-app[bot] Jul 15, 2025
927d97a
fix(parsing): ignore empty metadata
stainless-app[bot] Jul 22, 2025
1cc2d17
fix(parsing): parse extra field types
stainless-app[bot] Jul 23, 2025
22b6ad6
chore(project): add settings file for vscode
stainless-app[bot] Jul 25, 2025
220e8ca
feat(client): support file upload requests
stainless-app[bot] Jul 31, 2025
dfaf940
chore(internal): fix ruff target version
stainless-app[bot] Aug 6, 2025
7da60e9
chore: update @stainless-api/prism-cli to v5.15.0
stainless-app[bot] Aug 9, 2025
8ba181d
chore(internal): update comment in script
stainless-app[bot] Aug 9, 2025
a03992a
chore: update github action
stainless-app[bot] Aug 21, 2025
0e8211a
chore(internal): change ci workflow machines
stainless-app[bot] Aug 25, 2025
ce333f0
fix: avoid newer type syntax
stainless-app[bot] Aug 26, 2025
71fd220
chore(internal): update pyright exclude list
stainless-app[bot] Aug 26, 2025
1cd4188
chore(internal): add Sequence related utils
stainless-app[bot] Aug 29, 2025
ed5d3b9
feat(types): replace List[str] with SequenceNotStr in params
stainless-app[bot] Sep 2, 2025
5da7ac1
feat: improve future compat with pydantic v3
stainless-app[bot] Sep 3, 2025
41d1fd4
chore(internal): move mypy configurations to `pyproject.toml` file
stainless-app[bot] Sep 4, 2025
f84e074
chore(tests): simplify `get_platform` test
stainless-app[bot] Sep 5, 2025
ce7e61d
codegen metadata
stainless-app[bot] Sep 9, 2025
5ce685b
chore(internal): update pydantic dependency
stainless-app[bot] Sep 17, 2025
87710bf
chore(types): change optional parameter type from NotGiven to Omit
stainless-app[bot] Sep 19, 2025
6bb6f8b
chore: do not install brew dependencies in ./scripts/bootstrap by def…
stainless-app[bot] Sep 20, 2025
332d176
fix(compat): compat with `pydantic<2.8.0` when using additional fields
stainless-app[bot] Sep 25, 2025
c8690f3
chore(internal): detect missing future annotations with ruff
stainless-app[bot] Oct 11, 2025
daac88b
chore: bump `httpx-aiohttp` version to 0.1.9
stainless-app[bot] Oct 18, 2025
368e476
fix(client): close streams without requiring full consumption
stainless-app[bot] Oct 30, 2025
6fb44c4
chore(internal/tests): avoid race condition with implicit client cleanup
stainless-app[bot] Oct 31, 2025
fc9d94f
chore(internal): grammar fix (it's -> its)
stainless-app[bot] Nov 4, 2025
37d9089
chore(package): drop Python 3.8 support
stainless-app[bot] Nov 11, 2025
cb4d371
fix: compat with Python 3.14
stainless-app[bot] Nov 11, 2025
0d74069
fix(compat): update signatures of `model_dump` and `model_dump_json` …
stainless-app[bot] Nov 12, 2025
1176297
chore: add Python 3.14 classifier and testing
stainless-app[bot] Nov 22, 2025
6f0fd91
fix: ensure streams are always closed
stainless-app[bot] Nov 28, 2025
c8fe9e4
chore(deps): mypy 1.18.1 has a regression, pin to 1.17
stainless-app[bot] Nov 28, 2025
0dd4858
chore: update lockfile
stainless-app[bot] Dec 3, 2025
eb1e80f
chore(docs): use environment variables for authentication in code sni…
stainless-app[bot] Dec 3, 2025
58ae182
release: 0.7.0
stainless-app[bot] Mar 23, 2026
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
4 changes: 2 additions & 2 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ FROM mcr.microsoft.com/vscode/devcontainers/python:0-${VARIANT}

USER vscode

RUN curl -sSf https://rye.astral.sh/get | RYE_VERSION="0.35.0" RYE_INSTALL_OPTION="--yes" bash
RUN curl -sSf https://rye.astral.sh/get | RYE_VERSION="0.44.0" RYE_INSTALL_OPTION="--yes" bash
ENV PATH=/home/vscode/.rye/shims:$PATH

RUN echo "[[ -d .venv ]] && source .venv/bin/activate" >> /home/vscode/.bashrc
RUN echo "[[ -d .venv ]] && source .venv/bin/activate || export PATH=\$PATH" >> /home/vscode/.bashrc
3 changes: 3 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@
}
}
}
},
"features": {
"ghcr.io/devcontainers/features/node:1": {}
}

// Features to add to the dev container. More info: https://containers.dev/features.
Expand Down
71 changes: 58 additions & 13 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
name: CI
on:
push:
branches:
- main
branches-ignore:
- 'generated'
- 'codegen/**'
- 'integrated/**'
- 'stl-preview-head/**'
- 'stl-preview-base/**'
pull_request:
branches:
- main
- next
branches-ignore:
- 'stl-preview-head/**'
- 'stl-preview-base/**'

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


runs-on: ${{ github.repository == 'stainless-sdks/braintrust-sdk-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1

Expand All @@ -22,18 +26,60 @@ jobs:
curl -sSf https://rye.astral.sh/get | bash
echo "$HOME/.rye/shims" >> $GITHUB_PATH
env:
RYE_VERSION: '0.35.0'
RYE_VERSION: '0.44.0'
RYE_INSTALL_OPTION: '--yes'

- name: Install dependencies
run: rye sync --all-features

- name: Run lints
run: ./scripts/lint

build:
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
timeout-minutes: 10
name: build
permissions:
contents: read
id-token: write
runs-on: ${{ github.repository == 'stainless-sdks/braintrust-sdk-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
steps:
- uses: actions/checkout@v4

- name: Install Rye
run: |
curl -sSf https://rye.astral.sh/get | bash
echo "$HOME/.rye/shims" >> $GITHUB_PATH
env:
RYE_VERSION: '0.44.0'
RYE_INSTALL_OPTION: '--yes'

- name: Install dependencies
run: rye sync --all-features

- name: Run build
run: rye build

- name: Get GitHub OIDC Token
if: github.repository == 'stainless-sdks/braintrust-sdk-python'
id: github-oidc
uses: actions/github-script@v6
with:
script: core.setOutput('github_token', await core.getIDToken());

- name: Upload tarball
if: github.repository == 'stainless-sdks/braintrust-sdk-python'
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/braintrust-sdk-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1

Expand All @@ -42,12 +88,11 @@ jobs:
curl -sSf https://rye.astral.sh/get | bash
echo "$HOME/.rye/shims" >> $GITHUB_PATH
env:
RYE_VERSION: '0.35.0'
RYE_VERSION: '0.44.0'
RYE_INSTALL_OPTION: '--yes'

- name: Bootstrap
run: ./scripts/bootstrap

- name: Run tests
run: ./scripts/test

2 changes: 1 addition & 1 deletion .github/workflows/publish-pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
curl -sSf https://rye.astral.sh/get | bash
echo "$HOME/.rye/shims" >> $GITHUB_PATH
env:
RYE_VERSION: '0.35.0'
RYE_VERSION: '0.44.0'
RYE_INSTALL_OPTION: '--yes'

- name: Publish to PyPI
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
.prism.log
.vscode
_dev

__pycache__
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.6.0"
".": "0.7.0"
}
4 changes: 3 additions & 1 deletion .stats.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
configured_endpoints: 110
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/manugoyal%2Fbraintrust-sdk-ce135a587d4ea037e39949984ed8f98578043e8c3a90fa203d24f28d234d8675.yml
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/manugoyal%2Fbraintrust-sdk-f0d64ce0e0efde75f9c171f7f3c3d4a72f00a77abb3bc5a7d65b7be1e715689b.yml
openapi_spec_hash: a027e48cc6aea2fab3cbdd38f4081119
config_hash: dca6e2cafd0764aa5fa3e78987e8b07c
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"python.analysis.importFormat": "relative",
}
Loading
Loading