Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
2c35a23
fix: correctly handle deserialising `cls` fields (#48)
stainless-app[bot] Jan 10, 2025
95246ac
chore(internal): codegen related update (#50)
stainless-app[bot] Jan 17, 2025
ad4d17f
docs(raw responses): fix duplicate `the` (#51)
stainless-app[bot] Jan 21, 2025
1512d9d
fix(tests): make test_get_platform less flaky (#52)
stainless-app[bot] Jan 21, 2025
a074b2c
chore(internal): avoid pytest-asyncio deprecation warning (#53)
stainless-app[bot] Jan 21, 2025
f381d90
chore(internal): minor style changes (#54)
stainless-app[bot] Jan 22, 2025
6f4fc83
chore(internal): minor formatting changes (#55)
stainless-app[bot] Jan 24, 2025
68f2e60
chore(internal): change default timeout to an int (#56)
stainless-app[bot] Feb 4, 2025
66e89ec
chore(internal): bummp ruff dependency (#57)
stainless-app[bot] Feb 4, 2025
851c55f
feat(client): send `X-Stainless-Read-Timeout` header (#58)
stainless-app[bot] Feb 6, 2025
706e9ac
chore(internal): fix type traversing dictionary params (#59)
stainless-app[bot] Feb 7, 2025
02ebbad
chore(internal): minor type handling changes (#60)
stainless-app[bot] Feb 7, 2025
be4c23a
chore(internal): update client tests (#61)
stainless-app[bot] Feb 13, 2025
e4ff682
fix: asyncify on non-asyncio runtimes (#62)
stainless-app[bot] Feb 14, 2025
68cbf55
feat(client): allow passing `NotGiven` for body (#63)
stainless-app[bot] Feb 21, 2025
900f05a
chore(internal): fix devcontainers setup (#64)
stainless-app[bot] Feb 22, 2025
6f99289
chore(internal): properly set __pydantic_private__ (#65)
stainless-app[bot] Feb 26, 2025
9935243
docs: update URLs from stainlessapi.com to stainless.com (#66)
stainless-app[bot] Feb 28, 2025
73aca81
chore(docs): update client docstring (#67)
stainless-app[bot] Feb 28, 2025
3ca5954
chore(internal): remove unused http client options forwarding (#68)
stainless-app[bot] Mar 4, 2025
703c0ee
test: add DEFER_PYDANTIC_BUILD=false flag to tests (#69)
stainless-app[bot] Mar 11, 2025
8dbb13a
release: 0.3.0
stainless-app[bot] Mar 11, 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
2 changes: 1 addition & 1 deletion .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ USER vscode
RUN curl -sSf https://rye.astral.sh/get | RYE_VERSION="0.35.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
3 changes: 1 addition & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ jobs:
lint:
name: lint
runs-on: ubuntu-latest


steps:
- uses: actions/checkout@v4
Expand All @@ -30,6 +29,7 @@ jobs:

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

test:
name: test
runs-on: ubuntu-latest
Expand All @@ -50,4 +50,3 @@ jobs:

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

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.2.3"
".": "0.3.0"
}
40 changes: 40 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,45 @@
# Changelog

## 0.3.0 (2025-03-11)

Full Changelog: [v0.2.3...v0.3.0](https://github.com/bespokelabsai/bespokelabs-python/compare/v0.2.3...v0.3.0)

### Features

* **client:** allow passing `NotGiven` for body ([#63](https://github.com/bespokelabsai/bespokelabs-python/issues/63)) ([68cbf55](https://github.com/bespokelabsai/bespokelabs-python/commit/68cbf556fa6939420be452cb2614a8cd59657f24))
* **client:** send `X-Stainless-Read-Timeout` header ([#58](https://github.com/bespokelabsai/bespokelabs-python/issues/58)) ([851c55f](https://github.com/bespokelabsai/bespokelabs-python/commit/851c55f37a80dcc515857fe0e0b1f568034f2a14))


### Bug Fixes

* asyncify on non-asyncio runtimes ([#62](https://github.com/bespokelabsai/bespokelabs-python/issues/62)) ([e4ff682](https://github.com/bespokelabsai/bespokelabs-python/commit/e4ff682580c7fb4d903e5699a7f828bad4fabd93))
* **client:** mark some request bodies as optional ([68cbf55](https://github.com/bespokelabsai/bespokelabs-python/commit/68cbf556fa6939420be452cb2614a8cd59657f24))
* correctly handle deserialising `cls` fields ([#48](https://github.com/bespokelabsai/bespokelabs-python/issues/48)) ([2c35a23](https://github.com/bespokelabsai/bespokelabs-python/commit/2c35a2394ea424fd93ba993cc3a00d601fa26245))
* **tests:** make test_get_platform less flaky ([#52](https://github.com/bespokelabsai/bespokelabs-python/issues/52)) ([1512d9d](https://github.com/bespokelabsai/bespokelabs-python/commit/1512d9dadae92fd5fa0b1262d28bbc086b3d6523))


### Chores

* **docs:** update client docstring ([#67](https://github.com/bespokelabsai/bespokelabs-python/issues/67)) ([73aca81](https://github.com/bespokelabsai/bespokelabs-python/commit/73aca8174d7247fd66672dcaa046a7cc1fc7aeaf))
* **internal:** avoid pytest-asyncio deprecation warning ([#53](https://github.com/bespokelabsai/bespokelabs-python/issues/53)) ([a074b2c](https://github.com/bespokelabsai/bespokelabs-python/commit/a074b2c660f9617b3771f7028366ef5afce6bc9e))
* **internal:** bummp ruff dependency ([#57](https://github.com/bespokelabsai/bespokelabs-python/issues/57)) ([66e89ec](https://github.com/bespokelabsai/bespokelabs-python/commit/66e89ec55166c4428dce2d79f8a88f597fb59b24))
* **internal:** change default timeout to an int ([#56](https://github.com/bespokelabsai/bespokelabs-python/issues/56)) ([68f2e60](https://github.com/bespokelabsai/bespokelabs-python/commit/68f2e605d133b699e685a3d006fdaf7fc2dff068))
* **internal:** codegen related update ([#50](https://github.com/bespokelabsai/bespokelabs-python/issues/50)) ([95246ac](https://github.com/bespokelabsai/bespokelabs-python/commit/95246ac9708bf03aeb7bfd93c57c73d2ec7c4d1f))
* **internal:** fix devcontainers setup ([#64](https://github.com/bespokelabsai/bespokelabs-python/issues/64)) ([900f05a](https://github.com/bespokelabsai/bespokelabs-python/commit/900f05ad058b3e42de948cdd942b59a86e2f512a))
* **internal:** fix type traversing dictionary params ([#59](https://github.com/bespokelabsai/bespokelabs-python/issues/59)) ([706e9ac](https://github.com/bespokelabsai/bespokelabs-python/commit/706e9ac51914e6eb1aef6f18ee5b9390c49d8c40))
* **internal:** minor formatting changes ([#55](https://github.com/bespokelabsai/bespokelabs-python/issues/55)) ([6f4fc83](https://github.com/bespokelabsai/bespokelabs-python/commit/6f4fc83dedd0ce8538cc651a6ff6e8cedca5e5af))
* **internal:** minor style changes ([#54](https://github.com/bespokelabsai/bespokelabs-python/issues/54)) ([f381d90](https://github.com/bespokelabsai/bespokelabs-python/commit/f381d90ec1a5637392dd9772be23a4e4ad3224ac))
* **internal:** minor type handling changes ([#60](https://github.com/bespokelabsai/bespokelabs-python/issues/60)) ([02ebbad](https://github.com/bespokelabsai/bespokelabs-python/commit/02ebbadfc5c199bef8e6065f18d5ad5ecd7df0f4))
* **internal:** properly set __pydantic_private__ ([#65](https://github.com/bespokelabsai/bespokelabs-python/issues/65)) ([6f99289](https://github.com/bespokelabsai/bespokelabs-python/commit/6f99289294ada243b2b221ca7aff097aca9f9696))
* **internal:** remove unused http client options forwarding ([#68](https://github.com/bespokelabsai/bespokelabs-python/issues/68)) ([3ca5954](https://github.com/bespokelabsai/bespokelabs-python/commit/3ca59544326fd68f92afcdb1dc5fd9d12baaf77a))
* **internal:** update client tests ([#61](https://github.com/bespokelabsai/bespokelabs-python/issues/61)) ([be4c23a](https://github.com/bespokelabsai/bespokelabs-python/commit/be4c23aaedade0075457b1f2326902d85b2048fb))


### Documentation

* **raw responses:** fix duplicate `the` ([#51](https://github.com/bespokelabsai/bespokelabs-python/issues/51)) ([ad4d17f](https://github.com/bespokelabsai/bespokelabs-python/commit/ad4d17f7ddceadfcc210383fe3c580738b9dffcd))
* update URLs from stainlessapi.com to stainless.com ([#66](https://github.com/bespokelabsai/bespokelabs-python/issues/66)) ([9935243](https://github.com/bespokelabsai/bespokelabs-python/commit/99352431d0860e6ec7be7d43a5f19839a60378a4))

## 0.2.3 (2025-01-09)

Full Changelog: [v0.2.2...v0.2.3](https://github.com/bespokelabsai/bespokelabs-python/compare/v0.2.2...v0.2.3)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ The Bespoke Labs Python library provides convenient access to the Bespoke Labs R
application. The library includes type definitions for all request params and response fields,
and offers both synchronous and asynchronous clients powered by [httpx](https://github.com/encode/httpx).

It is generated with [Stainless](https://www.stainlessapi.com/).
It is generated with [Stainless](https://www.stainless.com/).

## Documentation

Expand Down
4 changes: 2 additions & 2 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

## Reporting Security Issues

This SDK is generated by [Stainless Software Inc](http://stainlessapi.com). Stainless takes security seriously, and encourages you to report any security vulnerability promptly so that appropriate action can be taken.
This SDK is generated by [Stainless Software Inc](http://stainless.com). Stainless takes security seriously, and encourages you to report any security vulnerability promptly so that appropriate action can be taken.

To report a security issue, please contact the Stainless team at security@stainlessapi.com.
To report a security issue, please contact the Stainless team at security@stainless.com.

## Responsible Disclosure

Expand Down
2 changes: 1 addition & 1 deletion mypy.ini
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ cache_fine_grained = True
# ```
# Changing this codegen to make mypy happy would increase complexity
# and would not be worth it.
disable_error_code = func-returns-value
disable_error_code = func-returns-value,overload-cannot-match

# https://github.com/python/mypy/issues/12162
[mypy.overrides]
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 = "bespokelabs"
version = "0.2.3"
version = "0.3.0"
description = "The official Python library for the bespoke_labs API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down Expand Up @@ -129,6 +129,7 @@ testpaths = ["tests"]
addopts = "--tb=short"
xfail_strict = true
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "session"
filterwarnings = [
"error"
]
Expand Down Expand Up @@ -176,7 +177,7 @@ select = [
"T201",
"T203",
# misuse of typing.TYPE_CHECKING
"TCH004",
"TC004",
# import rules
"TID251",
]
Expand Down
6 changes: 3 additions & 3 deletions requirements-dev.lock
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ markdown-it-py==3.0.0
# via rich
mdurl==0.1.2
# via markdown-it-py
mypy==1.13.0
mypy==1.14.1
mypy-extensions==1.0.0
# via mypy
nest-asyncio==1.6.0
Expand All @@ -68,7 +68,7 @@ pydantic-core==2.27.1
# via pydantic
pygments==2.18.0
# via rich
pyright==1.1.390
pyright==1.1.392.post0
pytest==8.3.3
# via pytest-asyncio
pytest-asyncio==0.24.0
Expand All @@ -78,7 +78,7 @@ pytz==2023.3.post1
# via dirty-equals
respx==0.22.0
rich==13.7.1
ruff==0.6.9
ruff==0.9.4
setuptools==68.2.2
# via nodeenv
six==1.16.0
Expand Down
2 changes: 1 addition & 1 deletion scripts/bootstrap
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ set -e

cd "$(dirname "$0")/.."

if [ -f "Brewfile" ] && [ "$(uname -s)" = "Darwin" ]; then
if ! command -v rye >/dev/null 2>&1 && [ -f "Brewfile" ] && [ "$(uname -s)" = "Darwin" ]; then
brew bundle check >/dev/null 2>&1 || {
echo "==> Installing Homebrew dependencies…"
brew bundle
Expand Down
1 change: 0 additions & 1 deletion scripts/lint
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,3 @@ rye run lint

echo "==> Making sure it imports"
rye run python -c 'import bespokelabs'

2 changes: 2 additions & 0 deletions scripts/test
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ else
echo
fi

export DEFER_PYDANTIC_BUILD=false

echo "==> Running tests"
rye run pytest "$@"

Expand Down
4 changes: 2 additions & 2 deletions scripts/utils/ruffen-docs.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ def _md_match(match: Match[str]) -> str:
with _collect_error(match):
code = format_code_block(code)
code = textwrap.indent(code, match["indent"])
return f'{match["before"]}{code}{match["after"]}'
return f"{match['before']}{code}{match['after']}"

def _pycon_match(match: Match[str]) -> str:
code = ""
Expand Down Expand Up @@ -97,7 +97,7 @@ def finish_fragment() -> None:
def _md_pycon_match(match: Match[str]) -> str:
code = _pycon_match(match)
code = textwrap.indent(code, match["indent"])
return f'{match["before"]}{code}{match["after"]}'
return f"{match['before']}{code}{match['after']}"

src = MD_RE.sub(_md_match, src)
src = MD_PYCON_RE.sub(_md_pycon_match, src)
Expand Down
Loading