Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
650 commits
Select commit Hold shift + click to select a range
7429008
codegen metadata
stainless-app[bot] Dec 23, 2025
6fd4dd6
codegen metadata
stainless-app[bot] Dec 23, 2025
3ddd403
codegen metadata
stainless-app[bot] Dec 23, 2025
67e7a2c
codegen metadata
stainless-app[bot] Dec 23, 2025
61a6a0e
codegen metadata
stainless-app[bot] Dec 23, 2025
991d69e
codegen metadata
stainless-app[bot] Dec 23, 2025
a5cda2d
codegen metadata
stainless-app[bot] Dec 23, 2025
c87841e
codegen metadata
stainless-app[bot] Dec 23, 2025
0f62bf4
codegen metadata
stainless-app[bot] Dec 23, 2025
6e939f3
codegen metadata
stainless-app[bot] Dec 23, 2025
cf105e8
codegen metadata
stainless-app[bot] Dec 23, 2025
1b000b5
codegen metadata
stainless-app[bot] Dec 23, 2025
6d0f4d9
codegen metadata
stainless-app[bot] Dec 23, 2025
daf85bf
codegen metadata
stainless-app[bot] Dec 23, 2025
560bf79
codegen metadata
stainless-app[bot] Dec 23, 2025
d04c85e
codegen metadata
stainless-app[bot] Dec 24, 2025
f25aafc
codegen metadata
stainless-app[bot] Dec 24, 2025
98ed23b
codegen metadata
stainless-app[bot] Dec 24, 2025
b0a7568
codegen metadata
stainless-app[bot] Dec 24, 2025
60ea69d
codegen metadata
stainless-app[bot] Dec 24, 2025
5555891
codegen metadata
stainless-app[bot] Dec 24, 2025
28c2c00
codegen metadata
stainless-app[bot] Dec 24, 2025
6f8ae18
codegen metadata
stainless-app[bot] Dec 24, 2025
4b5b018
codegen metadata
stainless-app[bot] Dec 24, 2025
1d9cbe8
codegen metadata
stainless-app[bot] Dec 24, 2025
a9944e3
codegen metadata
stainless-app[bot] Dec 24, 2025
6a5d178
codegen metadata
stainless-app[bot] Dec 24, 2025
7690fc7
codegen metadata
stainless-app[bot] Dec 24, 2025
81a14a1
codegen metadata
stainless-app[bot] Dec 24, 2025
1979a56
codegen metadata
stainless-app[bot] Dec 24, 2025
b2f4c2d
codegen metadata
stainless-app[bot] Dec 24, 2025
83aa1e3
codegen metadata
stainless-app[bot] Dec 24, 2025
cb96719
codegen metadata
stainless-app[bot] Dec 24, 2025
ff4c877
codegen metadata
stainless-app[bot] Dec 24, 2025
5f5527f
codegen metadata
stainless-app[bot] Dec 24, 2025
d4b603d
codegen metadata
stainless-app[bot] Dec 25, 2025
b91f587
codegen metadata
stainless-app[bot] Dec 25, 2025
f213a47
codegen metadata
stainless-app[bot] Dec 25, 2025
7a2b959
codegen metadata
stainless-app[bot] Dec 25, 2025
e4222d8
codegen metadata
stainless-app[bot] Dec 25, 2025
d2c0e4c
codegen metadata
stainless-app[bot] Dec 25, 2025
71a3176
codegen metadata
stainless-app[bot] Dec 25, 2025
19d7ab0
codegen metadata
stainless-app[bot] Dec 25, 2025
2e50871
codegen metadata
stainless-app[bot] Dec 25, 2025
c667f67
codegen metadata
stainless-app[bot] Dec 25, 2025
f3cd57c
codegen metadata
stainless-app[bot] Dec 25, 2025
85c0c80
codegen metadata
stainless-app[bot] Dec 25, 2025
21dbe12
codegen metadata
stainless-app[bot] Dec 26, 2025
b35bc9b
codegen metadata
stainless-app[bot] Dec 26, 2025
1803e43
codegen metadata
stainless-app[bot] Dec 26, 2025
2072456
codegen metadata
stainless-app[bot] Dec 26, 2025
8d019ff
codegen metadata
stainless-app[bot] Dec 26, 2025
54c05d5
codegen metadata
stainless-app[bot] Dec 26, 2025
223cc9e
codegen metadata
stainless-app[bot] Dec 26, 2025
ba62592
codegen metadata
stainless-app[bot] Dec 26, 2025
fd3c477
codegen metadata
stainless-app[bot] Dec 26, 2025
e90adfd
codegen metadata
stainless-app[bot] Dec 26, 2025
c8ae87f
codegen metadata
stainless-app[bot] Dec 26, 2025
fd364cf
codegen metadata
stainless-app[bot] Dec 26, 2025
b9fbe3b
codegen metadata
stainless-app[bot] Dec 26, 2025
eec1afd
codegen metadata
stainless-app[bot] Dec 26, 2025
e0c38f3
codegen metadata
stainless-app[bot] Dec 26, 2025
8bb5678
codegen metadata
stainless-app[bot] Dec 26, 2025
7448be9
codegen metadata
stainless-app[bot] Dec 26, 2025
be43001
codegen metadata
stainless-app[bot] Dec 27, 2025
39c1772
codegen metadata
stainless-app[bot] Dec 27, 2025
4978458
codegen metadata
stainless-app[bot] Dec 27, 2025
367c55b
codegen metadata
stainless-app[bot] Dec 27, 2025
16f2973
codegen metadata
stainless-app[bot] Dec 27, 2025
2c95930
codegen metadata
stainless-app[bot] Dec 27, 2025
4b060b4
codegen metadata
stainless-app[bot] Dec 27, 2025
d475ede
codegen metadata
stainless-app[bot] Dec 27, 2025
64be4bb
codegen metadata
stainless-app[bot] Dec 27, 2025
e13db98
codegen metadata
stainless-app[bot] Dec 27, 2025
6d04a5f
codegen metadata
stainless-app[bot] Dec 27, 2025
7fc8527
codegen metadata
stainless-app[bot] Dec 27, 2025
672948b
codegen metadata
stainless-app[bot] Dec 27, 2025
8bf3ab6
codegen metadata
stainless-app[bot] Dec 27, 2025
9cce6f9
codegen metadata
stainless-app[bot] Dec 27, 2025
abbe13f
codegen metadata
stainless-app[bot] Dec 27, 2025
660abe5
codegen metadata
stainless-app[bot] Dec 27, 2025
7bac763
codegen metadata
stainless-app[bot] Dec 27, 2025
0d72180
codegen metadata
stainless-app[bot] Dec 27, 2025
0ed3156
codegen metadata
stainless-app[bot] Dec 28, 2025
3af61c6
codegen metadata
stainless-app[bot] Dec 28, 2025
b4b6819
codegen metadata
stainless-app[bot] Dec 28, 2025
b87a26a
codegen metadata
stainless-app[bot] Dec 28, 2025
cb403b0
codegen metadata
stainless-app[bot] Dec 28, 2025
ee8ac87
codegen metadata
stainless-app[bot] Dec 28, 2025
af353a6
codegen metadata
stainless-app[bot] Dec 28, 2025
0a65c16
codegen metadata
stainless-app[bot] Dec 28, 2025
f88332f
codegen metadata
stainless-app[bot] Dec 28, 2025
b93cd97
codegen metadata
stainless-app[bot] Dec 28, 2025
a4ec28e
codegen metadata
stainless-app[bot] Dec 28, 2025
0496793
codegen metadata
stainless-app[bot] Dec 28, 2025
409e28d
codegen metadata
stainless-app[bot] Dec 28, 2025
a1da814
codegen metadata
stainless-app[bot] Dec 28, 2025
7aba86d
codegen metadata
stainless-app[bot] Dec 28, 2025
5c250e5
codegen metadata
stainless-app[bot] Dec 28, 2025
68c3d76
codegen metadata
stainless-app[bot] Dec 29, 2025
c27bbc3
codegen metadata
stainless-app[bot] Dec 29, 2025
dc4fb89
codegen metadata
stainless-app[bot] Dec 29, 2025
a0ec49f
codegen metadata
stainless-app[bot] Dec 29, 2025
8391e4d
codegen metadata
stainless-app[bot] Dec 29, 2025
4477e33
codegen metadata
stainless-app[bot] Dec 29, 2025
8a16ff2
codegen metadata
stainless-app[bot] Dec 29, 2025
f55653c
codegen metadata
stainless-app[bot] Dec 29, 2025
11dfae8
codegen metadata
stainless-app[bot] Dec 29, 2025
752e190
codegen metadata
stainless-app[bot] Dec 29, 2025
eedcb33
codegen metadata
stainless-app[bot] Dec 29, 2025
c668ad8
codegen metadata
stainless-app[bot] Dec 29, 2025
e861ab7
codegen metadata
stainless-app[bot] Dec 29, 2025
a393939
codegen metadata
stainless-app[bot] Dec 29, 2025
930f390
codegen metadata
stainless-app[bot] Dec 29, 2025
482a9ba
codegen metadata
stainless-app[bot] Dec 29, 2025
e1701ed
codegen metadata
stainless-app[bot] Dec 29, 2025
6815cb2
codegen metadata
stainless-app[bot] Dec 29, 2025
ce64d58
codegen metadata
stainless-app[bot] Dec 30, 2025
4af9f58
codegen metadata
stainless-app[bot] Dec 30, 2025
52edea5
codegen metadata
stainless-app[bot] Dec 30, 2025
5e25566
codegen metadata
stainless-app[bot] Dec 30, 2025
374d4fe
codegen metadata
stainless-app[bot] Dec 30, 2025
71187e5
codegen metadata
stainless-app[bot] Dec 30, 2025
cdba818
codegen metadata
stainless-app[bot] Dec 30, 2025
6ad942e
codegen metadata
stainless-app[bot] Dec 30, 2025
648a7c9
codegen metadata
stainless-app[bot] Dec 30, 2025
eeaf121
codegen metadata
stainless-app[bot] Dec 30, 2025
c570224
codegen metadata
stainless-app[bot] Dec 30, 2025
584e91f
codegen metadata
stainless-app[bot] Dec 30, 2025
1fc4393
codegen metadata
stainless-app[bot] Dec 30, 2025
e2a1718
codegen metadata
stainless-app[bot] Dec 30, 2025
04184c4
codegen metadata
stainless-app[bot] Dec 30, 2025
b728ce1
codegen metadata
stainless-app[bot] Dec 30, 2025
cb92c2f
codegen metadata
stainless-app[bot] Dec 30, 2025
ced9c75
codegen metadata
stainless-app[bot] Dec 30, 2025
7af1f51
codegen metadata
stainless-app[bot] Dec 30, 2025
4936f2d
codegen metadata
stainless-app[bot] Dec 31, 2025
f2d8798
codegen metadata
stainless-app[bot] Dec 31, 2025
fc4dcd3
codegen metadata
stainless-app[bot] Dec 31, 2025
a167bd3
codegen metadata
stainless-app[bot] Dec 31, 2025
7ef6029
codegen metadata
stainless-app[bot] Dec 31, 2025
5aedc7c
codegen metadata
stainless-app[bot] Dec 31, 2025
8d30350
codegen metadata
stainless-app[bot] Dec 31, 2025
38edfd1
codegen metadata
stainless-app[bot] Dec 31, 2025
52f2f60
codegen metadata
stainless-app[bot] Dec 31, 2025
53594d1
codegen metadata
stainless-app[bot] Dec 31, 2025
067172e
codegen metadata
stainless-app[bot] Dec 31, 2025
d57a893
codegen metadata
stainless-app[bot] Dec 31, 2025
7a70871
codegen metadata
stainless-app[bot] Dec 31, 2025
8a441f5
codegen metadata
stainless-app[bot] Dec 31, 2025
bd6a36f
codegen metadata
stainless-app[bot] Dec 31, 2025
a2f989a
codegen metadata
stainless-app[bot] Dec 31, 2025
461a467
codegen metadata
stainless-app[bot] Dec 31, 2025
45dd53e
codegen metadata
stainless-app[bot] Dec 31, 2025
aa271d1
codegen metadata
stainless-app[bot] Dec 31, 2025
774f50a
codegen metadata
stainless-app[bot] Dec 31, 2025
c13ae2a
feat(api): api update
stainless-app[bot] Jan 1, 2026
478d5eb
codegen metadata
stainless-app[bot] Jan 1, 2026
7e697f8
codegen metadata
stainless-app[bot] Jan 1, 2026
fca7162
codegen metadata
stainless-app[bot] Jan 1, 2026
8011ebc
codegen metadata
stainless-app[bot] Jan 1, 2026
3be0b46
codegen metadata
stainless-app[bot] Jan 1, 2026
0a7608c
codegen metadata
stainless-app[bot] Jan 1, 2026
3541451
codegen metadata
stainless-app[bot] Jan 1, 2026
923fe13
codegen metadata
stainless-app[bot] Jan 1, 2026
17ff83a
codegen metadata
stainless-app[bot] Jan 1, 2026
6371516
codegen metadata
stainless-app[bot] Jan 1, 2026
a2e60f8
codegen metadata
stainless-app[bot] Jan 1, 2026
e8765f6
codegen metadata
stainless-app[bot] Jan 1, 2026
8e34c5d
codegen metadata
stainless-app[bot] Jan 1, 2026
d1108bf
codegen metadata
stainless-app[bot] Jan 1, 2026
9a95a2a
codegen metadata
stainless-app[bot] Jan 1, 2026
c612b43
codegen metadata
stainless-app[bot] Jan 1, 2026
1d73710
codegen metadata
stainless-app[bot] Jan 1, 2026
a1fbf08
codegen metadata
stainless-app[bot] Jan 2, 2026
e15460d
codegen metadata
stainless-app[bot] Jan 2, 2026
7936be0
codegen metadata
stainless-app[bot] Jan 2, 2026
e2b5309
codegen metadata
stainless-app[bot] Jan 2, 2026
bd1a24d
codegen metadata
stainless-app[bot] Jan 2, 2026
fa1254a
codegen metadata
stainless-app[bot] Jan 2, 2026
c81ceca
codegen metadata
stainless-app[bot] Jan 2, 2026
b2788f9
codegen metadata
stainless-app[bot] Jan 2, 2026
1e672a4
codegen metadata
stainless-app[bot] Jan 2, 2026
234bdd5
codegen metadata
stainless-app[bot] Jan 2, 2026
b333a72
codegen metadata
stainless-app[bot] Jan 2, 2026
3f7090e
codegen metadata
stainless-app[bot] Jan 2, 2026
59dcb33
codegen metadata
stainless-app[bot] Jan 2, 2026
a69f08a
codegen metadata
stainless-app[bot] Jan 2, 2026
76a073f
codegen metadata
stainless-app[bot] Jan 2, 2026
23ae9d4
codegen metadata
stainless-app[bot] Jan 2, 2026
a42461e
codegen metadata
stainless-app[bot] Jan 2, 2026
345888b
codegen metadata
stainless-app[bot] Jan 2, 2026
6621610
codegen metadata
stainless-app[bot] Jan 2, 2026
1862cf8
codegen metadata
stainless-app[bot] Jan 2, 2026
9c6bd59
codegen metadata
stainless-app[bot] Jan 3, 2026
49ef258
codegen metadata
stainless-app[bot] Jan 3, 2026
f2288d7
codegen metadata
stainless-app[bot] Jan 3, 2026
8325a2f
codegen metadata
stainless-app[bot] Jan 3, 2026
7b13899
codegen metadata
stainless-app[bot] Jan 3, 2026
585d0d0
codegen metadata
stainless-app[bot] Jan 3, 2026
3ee1453
codegen metadata
stainless-app[bot] Jan 3, 2026
f67ae96
codegen metadata
stainless-app[bot] Jan 3, 2026
923798d
codegen metadata
stainless-app[bot] Jan 3, 2026
a624264
codegen metadata
stainless-app[bot] Jan 3, 2026
2b17cd8
codegen metadata
stainless-app[bot] Jan 3, 2026
bf7aefb
codegen metadata
stainless-app[bot] Jan 3, 2026
9a941b4
codegen metadata
stainless-app[bot] Jan 3, 2026
1e33ec5
codegen metadata
stainless-app[bot] Jan 3, 2026
7b471c8
codegen metadata
stainless-app[bot] Jan 3, 2026
739e696
codegen metadata
stainless-app[bot] Jan 3, 2026
7fa8100
codegen metadata
stainless-app[bot] Jan 3, 2026
41a5e33
codegen metadata
stainless-app[bot] Jan 3, 2026
87122e7
codegen metadata
stainless-app[bot] Jan 3, 2026
0af8b76
codegen metadata
stainless-app[bot] Jan 3, 2026
afb8e68
codegen metadata
stainless-app[bot] Jan 3, 2026
feedb9c
codegen metadata
stainless-app[bot] Jan 3, 2026
2a95054
codegen metadata
stainless-app[bot] Jan 4, 2026
c6f827e
codegen metadata
stainless-app[bot] Jan 4, 2026
f7dc025
codegen metadata
stainless-app[bot] Jan 4, 2026
8117c43
codegen metadata
stainless-app[bot] Jan 4, 2026
8a52059
codegen metadata
stainless-app[bot] Jan 4, 2026
125caef
codegen metadata
stainless-app[bot] Jan 4, 2026
c493d99
codegen metadata
stainless-app[bot] Jan 4, 2026
144ab56
codegen metadata
stainless-app[bot] Jan 4, 2026
0665f9a
codegen metadata
stainless-app[bot] Jan 4, 2026
e9a8686
codegen metadata
stainless-app[bot] Jan 4, 2026
63f002b
codegen metadata
stainless-app[bot] Jan 4, 2026
daa7767
codegen metadata
stainless-app[bot] Jan 4, 2026
a318f1a
codegen metadata
stainless-app[bot] Jan 4, 2026
59f3b71
codegen metadata
stainless-app[bot] Jan 4, 2026
76241a2
codegen metadata
stainless-app[bot] Jan 4, 2026
66c1add
codegen metadata
stainless-app[bot] Jan 4, 2026
c73c2ed
codegen metadata
stainless-app[bot] Jan 4, 2026
8d98255
codegen metadata
stainless-app[bot] Jan 4, 2026
c67e088
codegen metadata
stainless-app[bot] Jan 4, 2026
97452bc
codegen metadata
stainless-app[bot] Jan 5, 2026
66210d3
codegen metadata
stainless-app[bot] Jan 5, 2026
ec8177b
feat(api): api update
stainless-app[bot] Jan 5, 2026
1f82b32
codegen metadata
stainless-app[bot] Jan 5, 2026
3d8c65b
codegen metadata
stainless-app[bot] Jan 5, 2026
8e2042b
codegen metadata
stainless-app[bot] Jan 5, 2026
099f340
codegen metadata
stainless-app[bot] Jan 5, 2026
a409e3b
codegen metadata
stainless-app[bot] Jan 5, 2026
ad3f262
codegen metadata
stainless-app[bot] Jan 5, 2026
55adce8
codegen metadata
stainless-app[bot] Jan 5, 2026
90c6127
codegen metadata
stainless-app[bot] Jan 5, 2026
32d0904
codegen metadata
stainless-app[bot] Jan 5, 2026
a69243f
codegen metadata
stainless-app[bot] Jan 5, 2026
f6d89eb
codegen metadata
stainless-app[bot] Jan 5, 2026
7940f7b
release: 0.2.0
stainless-app[bot] Jan 5, 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
3 changes: 1 addition & 2 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ FROM mcr.microsoft.com/vscode/devcontainers/python:0-${VARIANT}

USER vscode

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
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/

RUN echo "[[ -d .venv ]] && source .venv/bin/activate || export PATH=\$PATH" >> /home/vscode/.bashrc
4 changes: 2 additions & 2 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"context": ".."
},

"postStartCommand": "rye sync --all-features",
"postStartCommand": "uv sync --all-extras",

"customizations": {
"vscode": {
Expand All @@ -20,7 +20,7 @@
"python.defaultInterpreterPath": ".venv/bin/python",
"python.typeChecking": "basic",
"terminal.integrated.env.linux": {
"PATH": "/home/vscode/.rye/shims:${env:PATH}"
"PATH": "${env:PATH}"
}
}
}
Expand Down
39 changes: 15 additions & 24 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,13 @@ jobs:
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 uv
uses: astral-sh/setup-uv@v5
with:
version: '0.9.13'

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

- name: Run lints
run: ./scripts/lint
Expand All @@ -46,19 +43,16 @@ jobs:
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 uv
uses: astral-sh/setup-uv@v5
with:
version: '0.9.13'

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

- name: Run build
run: rye build
run: uv build

- name: Get GitHub OIDC Token
if: github.repository == 'stainless-sdks/tembo-python'
Expand All @@ -83,13 +77,10 @@ jobs:
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 uv
uses: astral-sh/setup-uv@v5
with:
version: '0.9.13'

- name: Bootstrap
run: ./scripts/bootstrap
Expand Down
11 changes: 4 additions & 7 deletions .github/workflows/publish-pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,10 @@ jobs:
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 uv
uses: astral-sh/setup-uv@v5
with:
version: '0.9.13'

- name: Publish to PyPI
run: |
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.0"
".": "0.2.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 5
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/tembo%2Ftembo-833e9d5936e1442e3b9cdb6c7c1e1c4e90066976e786917282269cba1c8fb9c5.yml
openapi_spec_hash: bf0ab47c38a590abffb11253febd76db
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/tembo%2Ftembo-5fe090391ca60fa921541fe6f752600aa007cc5792e11f72d9ddd826d3fa1c6d.yml
openapi_spec_hash: 6ed695478549a2d1ef66fa823ab7b827
config_hash: 8fba1d45a848bce88e9564ab8a960838
2 changes: 1 addition & 1 deletion Brewfile
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
brew "rye"
brew "uv"

9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Changelog

## 0.2.0 (2026-01-05)

Full Changelog: [v0.1.0...v0.2.0](https://github.com/tembo/sdk-python/compare/v0.1.0...v0.2.0)

### Features

* **api:** api update ([ec8177b](https://github.com/tembo/sdk-python/commit/ec8177b069c4f04a6a525ae831aea5cd21411e66))
* **api:** api update ([c13ae2a](https://github.com/tembo/sdk-python/commit/c13ae2a7df6d479fc2010a93ef4f97e4bba45743))

## 0.1.0 (2025-11-30)

Full Changelog: [v0.0.1...v0.1.0](https://github.com/tembo/sdk-python/compare/v0.0.1...v0.1.0)
Expand Down
22 changes: 11 additions & 11 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
## Setting up the environment

### With Rye
### With `uv`

We use [Rye](https://rye.astral.sh/) to manage dependencies because it will automatically provision a Python environment with the expected Python version. To set it up, run:
We use [uv](https://docs.astral.sh/uv/) to manage dependencies because it will automatically provision a Python environment with the expected Python version. To set it up, run:

```sh
$ ./scripts/bootstrap
```

Or [install Rye manually](https://rye.astral.sh/guide/installation/) and run:
Or [install uv manually](https://docs.astral.sh/uv/getting-started/installation/) and run:

```sh
$ rye sync --all-features
$ uv sync --all-extras
```

You can then run scripts using `rye run python script.py` or by activating the virtual environment:
You can then run scripts using `uv run python script.py` or by manually activating the virtual environment:

```sh
# Activate the virtual environment - https://docs.python.org/3/library/venv.html#how-venvs-work
# manually activate - https://docs.python.org/3/library/venv.html#how-venvs-work
$ source .venv/bin/activate

# now you can omit the `rye run` prefix
# now you can omit the `uv run` prefix
$ python script.py
```

### Without Rye
### Without `uv`

Alternatively if you don't want to install `Rye`, you can stick with the standard `pip` setup by ensuring you have the Python version specified in `.python-version`, create a virtual environment however you desire and then install dependencies using this command:
Alternatively if you don't want to install `uv`, you can stick with the standard `pip` setup by ensuring you have the Python version specified in `.python-version`, create a virtual environment however you desire and then install dependencies using this command:

```sh
$ pip install -r requirements-dev.lock
Expand All @@ -45,7 +45,7 @@ All files in the `examples/` directory are not modified by the generator and can
```py
# add an example to examples/<your-example>.py

#!/usr/bin/env -S rye run python
#!/usr/bin/env -S uv run python
```

Expand All @@ -72,7 +72,7 @@ Building this package will create two files in the `dist/` directory, a `.tar.gz
To create a distributable version of the library, all you have to do is run this command:

```sh
$ rye build
$ uv build
# or
$ python -m build
```
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright 2025 Tembo
Copyright 2026 Tembo

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,14 +79,15 @@ pip install tembo-sdk-python[aiohttp]
Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:

```python
import os
import asyncio
from tembo import DefaultAioHttpClient
from tembo import AsyncTembo


async def main() -> None:
async with AsyncTembo(
api_key="My API Key",
api_key=os.environ.get("TEMBO_API_KEY"), # This is the default and can be omitted
http_client=DefaultAioHttpClient(),
) as client:
task = await client.task.create()
Expand Down
5 changes: 3 additions & 2 deletions bin/publish-pypi
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#!/usr/bin/env bash

set -eux
rm -rf dist
mkdir -p dist
rye build --clean
rye publish --yes --token=$PYPI_TOKEN
uv build
uv publish --token=$PYPI_TOKEN
9 changes: 0 additions & 9 deletions noxfile.py

This file was deleted.

68 changes: 28 additions & 40 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
[project]
name = "tembo-sdk-python"
version = "0.1.0"
version = "0.2.0"
description = "The official Python library for the tembo API"
dynamic = ["readme"]
license = "Apache-2.0"
authors = [
{ name = "Tembo", email = "darren@tembo.io" },
]

dependencies = [
"httpx>=0.23.0, <1",
"pydantic>=1.9.0, <3",
"typing-extensions>=4.10, <5",
"anyio>=3.5.0, <5",
"distro>=1.7.0, <2",
"sniffio",
"httpx>=0.23.0, <1",
"pydantic>=1.9.0, <3",
"typing-extensions>=4.10, <5",
"anyio>=3.5.0, <5",
"distro>=1.7.0, <2",
"sniffio",
]

requires-python = ">= 3.9"
classifiers = [
"Typing :: Typed",
Expand All @@ -41,52 +43,38 @@ Repository = "https://github.com/tembo/sdk-python"
[project.optional-dependencies]
aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.9"]

[tool.rye]
[tool.uv]
managed = true
# version pins are in requirements-dev.lock
dev-dependencies = [
required-version = ">=0.9"
conflicts = [
[
{ group = "pydantic-v1" },
{ group = "pydantic-v2" },
],
]

[dependency-groups]
# version pins are in uv.lock
dev = [
"pyright==1.1.399",
"mypy==1.17",
"respx",
"pytest",
"pytest-asyncio",
"ruff",
"time-machine",
"nox",
"dirty-equals>=0.6.0",
"importlib-metadata>=6.7.0",
"rich>=13.7.1",
"pytest-xdist>=3.6.1",
]

[tool.rye.scripts]
format = { chain = [
"format:ruff",
"format:docs",
"fix:ruff",
# run formatting again to fix any inconsistencies when imports are stripped
"format:ruff",
]}
"format:docs" = "python scripts/utils/ruffen-docs.py README.md api.md"
"format:ruff" = "ruff format"

"lint" = { chain = [
"check:ruff",
"typecheck",
"check:importable",
]}
"check:ruff" = "ruff check ."
"fix:ruff" = "ruff check --fix ."

"check:importable" = "python -c 'import tembo'"

typecheck = { chain = [
"typecheck:pyright",
"typecheck:mypy"
]}
"typecheck:pyright" = "pyright"
"typecheck:verify-types" = "pyright --verifytypes tembo --ignoreexternal"
"typecheck:mypy" = "mypy ."
pydantic-v1 = [
"pydantic>=1.9.0,<2",
]
pydantic-v2 = [
"pydantic~=2.0 ; python_full_version < '3.14'",
"pydantic~=2.12 ; python_full_version >= '3.14'",
]

[build-system]
requires = ["hatchling==1.26.3", "hatch-fancy-pypi-readme"]
Expand Down
Loading