Full Changelog: v0.38.0...v0.39.0
- client: remove legacy
client.count_tokens()
&client.get_tokenizer()
methods (#726)- This functionality has been replaced by the
client.beta.messages.count_tokens()
API which supports newer models and all content functionality, such as images and PDFs.
- This functionality has been replaced by the
- don't use dicts as iterables in transform (#724) (62bb863)
- support json safe serialization for basemodel subclasses (#727) (5be855e)
- types: add missing token-counting-2024-11-01 (#722) (c549736)
Full Changelog: v0.37.1...v0.38.0
- count_tokens: correctly set beta header (e5b4b54)
- types: add missing token-counting-2024-11-01 (1897883)
- internal: bump mypy (#720) (fe8d19e)
- internal: bump pytest to v8 & pydantic (#716) (00fe1f8)
- internal: update spec version (#712) (f71b0f5)
- tests: move lazy tokenizer test outside of pytest (d8f2402)
Full Changelog: v0.37.0...v0.37.1
Full Changelog: v0.36.2...v0.37.0
- api: add new model and
computer-use-2024-10-22
beta (dd93d87) - bedrock: add messages beta (2566c93)
- vertex: add messages beta (0d1f1a6)
- api: add title (#703) (a046817)
- internal: bump ruff dependency (#700) (d5bf9e1)
- internal: remove unused black config (#705) (3259eb0)
- internal: update spec (#706) (6ab0ce9)
Full Changelog: v0.36.1...v0.36.2
Full Changelog: v0.36.0...v0.36.1
- allow header params to override default headers (#690) (56f195f)
- beta: merge betas param with the default value (#695) (f52eac9)
Full Changelog: v0.35.0...v0.36.0
- api: add message batches api (cd1ffcb)
- types: improve metadata type names (#683) (59f2088)
- types: improve metadata types (#682) (e037d1c)
- types: improve tool type names (#679) (f6f3afe)
- types: improve tool type names (#680) (fe2e417)
Full Changelog: v0.34.2...v0.35.0
- api: support disabling parallel tool use (#674) (9079a99)
- bedrock: add
profile
argument to client (#648) (6ea5fce) - client: allow overriding retry count header (#670) (1fb081f)
- client: send retry count header (#664) (17c26d5)
- client: handle domains with underscores (#663) (84ad451)
- types: correctly mark stream discriminator as optional (#657) (2386f98)
- add docstrings to raw response properties (#654) (35e6cf7)
- internal: add support for parsing bool response content (#675) (0bbc0a3)
- internal: bump pyright / mypy version (#662) (c03a71f)
- internal: bump ruff (#660) (0a34018)
- internal: update pydantic v1 compat helpers (#666) (ee8e2bd)
- internal: use
typing_extensions.overload
instead oftyping
(#667) (153361d) - pyproject.toml formatting changes (#650) (4c229dc)
- fix typo in fenced code block language (#673) (a03414e)
- improve and reference contributing documentation (#672) (5bd9690)
- readme: add section on determining installed version (#655) (5898f42)
- update CONTRIBUTING.md (#659) (2df25bf)
Full Changelog: v0.34.1...v0.34.2
Full Changelog: v0.34.0...v0.34.1
- ci: add CODEOWNERS file (#639) (33001cc)
- client: fix parsing union responses when non-json is returned (#643) (45be91d)
- docs/api: update prompt caching helpers (6a55aee)
- internal: use different 32bit detection method (#640) (d6b2b63)
Full Changelog: v0.33.1...v0.34.0
Full Changelog: v0.33.0...v0.33.1
- ci: bump prism mock server version (#630) (29545ee)
- internal: ensure package is importable in lint cmd (#632) (d685824)
Full Changelog: v0.32.0...v0.33.0
- client: add
retries_taken
to raw response class (43fb587)
- internal: bump pyright (#622) (9480109)
- internal: bump ruff version (#625) (b1a4e7b)
- internal: test updates (#624) (2cea1f5)
- internal: update pydantic compat helper function (#627) (dc18ee0)
- internal: updates (#629) (d6357a6)
- internal: use
TypeAlias
marker for type assignments (#621) (a4bff9c) - sync openapi version (#617) (9c0ad95)
- sync openapi version (#620) (0a3f3fa)
- sync openapi version (#628) (cfad41f)
Full Changelog: v0.31.2...v0.32.0
- add back compat alias for InputJsonDelta (25a5b6c)
- change signatures for the stream function (c9eb11b)
- client: correctly apply client level timeout for messages (#615) (5f8d88f)
- docs: document how to do per-request http client customization (#603) (5161f62)
- internal: add type construction helper (#613) (5e36940)
- sync spec (#605) (6b7707f)
- tests: update prism version (#607) (1797dc6)
Full Changelog: v0.31.1...v0.31.2
- vertex: also refresh auth if there is no token (4a8d02d)
- vertex: correct request options in retries (460547b)
- docs: minor update to formatting of API link in README (#594) (113b6ac)
- internal: update formatting (#597) (565dfcd)
- tests: faster bedrock retry tests (4ff067f)
Full Changelog: v0.31.0...v0.31.1
- ci: also run workflows for PRs targeting
next
(#587) (f7e49f2) - internal: minor changes to tests (#591) (fabd591)
- internal: minor formatting changes (a71927b)
- internal: minor import restructuring (#588) (1d9db4f)
- internal: minor options / compat functions updates (#592) (d41a880)
- internal: update mypy (#584) (0a0edce)
Full Changelog: v0.30.1...v0.31.0
- client: make request-id header more accessible (#581) (130d470)
- vertex: add copy and with_options (#578) (fcd425f)
- client: always respect content-type multipart/form-data if provided (#574) (6051763)
- streaming/messages: more robust event type construction (#576) (98e2075)
- types: allow arbitrary types in image block param (#582) (ebd6590)
- Updated doc typo (17be06b)
- vertex: avoid credentials refresh on every request (#575) (37bd433)
- ci: update rye to v0.35.0 (#577) (e271d69)
- internal: add helper method for constructing
BaseModel
s (#572) (8e626ac) - internal: fix formatting (a912917)
- internal: minor request options handling changes (#580) (d1dcf42)
Full Changelog: v0.30.0...v0.30.1
- deps: bump anyio to v4.4.0 (#562) (70fc936)
- gitignore test server logs (#567) (f7b9283)
- internal: add reflection helper function (#565) (9483573)
- internal: add rich as a dev dependency (#568) (07903ac)
Full Changelog: v0.29.2...v0.30.0
Full Changelog: v0.29.1...v0.29.2
Full Changelog: v0.29.0...v0.29.1
- api: add string to tool result block (#554) (f283b4e)
- docs: fix link to advanced python httpx docs (#550) (474ff7c)
Full Changelog: v0.28.1...v0.29.0
Full Changelog: v0.28.0...v0.28.1
- readme: tool use is no longer in beta (d2be3c0)
Full Changelog: v0.27.0...v0.28.0
- streaming: remove old event_handler API (#532)
Full Changelog: v0.26.2...v0.27.0
- api: tool use is GA and available on 3P (#530) (ad7adbd)
- streaming/messages: refactor to event iterator structure (997af69)
- streaming/tools: refactor to event iterator structure (bdcc283)
- streaming: add tools support (9f00950)
- beta: streaming breakage due to breaking change in dependency (afe3c87)
- add missing all definitions (#526) (5021787)
- examples: update tools (56edecc)
- formatting: misc fixups (fbad5a0)
- internal: fix lint issues in tests (d857640)
- internal: update bootstrap script (#527) (93ae152)
- internal: update some references to rye-up.com (00e34e7)
- tests: ensure messages.create() and messages.stream() stay in sync (52bd67b)
Full Changelog: v0.26.1...v0.26.2
- vertex: don't error if project_id couldn't be loaded if it was already explicitly given (#513) (e7159d8)
- ci: update rye install location (#516) (a6e347a)
- ci: update rye install location (#518) (5122420)
- internal: bump pyright (196e4b0)
- internal: remove unused __events stream property (472b831)
- internal: restructure streaming implementation to use composition (b1a1c03)
- messages: add back-compat for isinstance() checks (7794bcb)
- tests: fix lints (#521) (d96fc53)
- contributing: update references to rye-up.com (6486898)
Full Changelog: v0.26.0...v0.26.1
- docs: fix typo (#511) (d7401bd)
- tools: rely on pydantic's JSON parser instead of pydantic (#510) (8e7edca)
Full Changelog: v0.25.9...v0.26.0
- api: add
tool_choice
param, image block params insidetool_result.content
, and streaming fortool_use
blocks (#502) (e0bc274)
Full Changelog: v0.25.8...v0.25.9
- docs: add SECURITY.md (#493) (d5cba46)
- internal: add slightly better logging to scripts (#497) (acb0149)
- internal: bump pydantic dependency (#495) (00cd840)
- types: add union discriminator metadata (#491) (95544a9)
Full Changelog: v0.25.7...v0.25.8
- client: log response headers in debug mode (#480) (d1c4d14)
- internal: add link to openapi spec (#484) (876cd0d)
- internal: add scripts/test, scripts/mock and add ci job (#486) (6111fe8)
- internal: bump prism version (#487) (98fb3e6)
Full Changelog: v0.25.6...v0.25.7
- internal: minor reformatting (#478) (de4b2e0)
- internal: reformat imports (#477) (553e955)
- internal: restructure imports (#470) (49e0044)
- internal: update test helper function (#476) (f46e454)
- internal: use actions/checkout@v4 for codeflow (#474) (8b18b52)
- tests: rename test file (#473) (5b8261c)
Full Changelog: v0.25.5...v0.25.6
Full Changelog: v0.25.4...v0.25.5
Full Changelog: v0.25.3...v0.25.4
Full Changelog: v0.25.2...v0.25.3
Full Changelog: v0.25.1...v0.25.2
Full Changelog: v0.25.0...v0.25.1
Full Changelog: v0.24.0...v0.25.0
- bedrock: add
copy
/with_options
to bedrock client (8af7c41)
- unknown commit message (8af7c41)
Full Changelog: v0.23.1...v0.24.0
- client: add DefaultHttpxClient and DefaultAsyncHttpxClient (#444) (51d2427)
- models: add to_dict & to_json helper methods (#446) (6709f58)
Full Changelog: v0.23.0...v0.23.1
Full Changelog: v0.22.1...v0.23.0
Full Changelog: v0.22.0...v0.22.1
Full Changelog: v0.21.3...v0.22.0
- client: increase default HTTP max_connections to 1000 and max_keepalive_connections to 100 (#428) (9a43940)
- package: export default constants (#423) (0d694e1)
- client: correct logic for line decoding in streaming (#433) (6bf9379)
- project: use absolute github links on PyPi (#427) (cbd8b1c)
- revert regression with 3.7 support (#419) (fa21f36)
- streaming: correct accumulation of output tokens (#426) (b50ed05)
- client: validate that max_retries is not None (#430) (31b2a2f)
- internal: bump dependencies (#421) (30e8031)
- internal: defer model build for import latency (#431) (51d4783)
- internal: formatting change (#415) (1474f44)
Full Changelog: v0.21.2...v0.21.3
- types: correct typo claude-2.1' to claude-2.1 (#400) (7f82aa3)
- types: correct typo claude-2.1' to claude-2.1 (#413) (bb1aebe)
Full Changelog: v0.21.1...v0.21.2
- readme: consistent use of sentence case in headings (#405) (495ca87)
- readme: document how to make undocumented requests (#407) (b046d0d)
Full Changelog: v0.21.0...v0.21.1
Full Changelog: v0.20.0...v0.21.0
Full Changelog: v0.19.2...v0.20.0
Full Changelog: v0.19.1...v0.19.2
- export NOT_GIVEN sentinel value (#379) (ba127bc)
- internal: improve deserialisation of discriminated unions (#386) (fbc7e0b)
- internal: support parsing Annotated types (#377) (f44efd5)
Full Changelog: v0.19.0...v0.19.1
Full Changelog: v0.18.1...v0.19.0
Full Changelog: v0.18.0...v0.18.1
Full Changelog: v0.17.0...v0.18.0
- remove old examples (4895381)
Full Changelog: v0.16.0...v0.17.0
- client: use anyio.sleep instead of asyncio.sleep (#351) (2778a22)
- docs: mention install from git repo (#356) (9d503ba)
- docs: remove references to old bedrock package (#344) (3323883)
- internal: bump pyright (#350) (ee0161c)
- internal: bump rye to v0.24.0 (#348) (be8597b)
- internal: improve bedrock streaming setup (#354) (2b55c68)
- internal: refactor release environment script (#347) (a87443a)
- internal: split up transforms into sync / async (#357) (f55ee71)
- internal: support more input types (#358) (35b0347)
- internal: update deps (#349) (ab82b2d)
Full Changelog: v0.15.1...v0.16.0
- api: messages is generally available (#343) (f682594)
- messages: allow message response in params (#339) (86c63f0)
Full Changelog: v0.15.0...v0.15.1
- prevent crash when platform.architecture() is not allowed (#334) (fefb5c1)
- types: loosen most List params types to Iterable (#338) (6e7761b)
- internal: add lint command (#337) (2ebaf1d)
- internal: support serialising iterable types (#336) (ea3ed7b)
Full Changelog: v0.14.1...v0.15.0
Full Changelog: v0.14.0...v0.14.1
Full Changelog: v0.13.0...v0.14.0
Full Changelog: v0.12.0...v0.13.0
- internal: cast type in mocked test (#326) (fd22d8e)
- internal: enable ruff type checking misuse lint rule (#324) (6587598)
- internal: support multipart data with overlapping keys (#322) (9ecab60)
- internal: support pre-release versioning (#327) (78b1bfe)
Full Changelog: v0.11.0...v0.12.0
Full Changelog: v0.10.0...v0.11.0
- internal: add internal helpers (#316) (8c75cdf)
- internal: update resource client type (#318) (bdd8d84)
Full Changelog: v0.9.0...v0.10.0
- add write_to_file binary helper method (#309) (8ac7988)
- client: improve debug logging for failed requests (#303) (5e58c25)
- internal: fix typing util function (#310) (3671aa6)
- internal: remove redundant client test (#311) (d7140f7)
- internal: share client instances between all tests (#314) (ccf731b)
- internal: speculative retry-after-ms support (#312) (4b27da9)
- internal: updates to proxy helper (#308) (a0b3cdb)
- lazy load raw resource class properties (#313) (b13f824)
Full Changelog: v0.8.1...v0.9.0
- add .keep files for examples and custom code directories (#302) (73a07ea)
- internal: loosen type var restrictions (#301) (5e5e1e7)
- internal: replace isort with ruff (#298) (7c60904)
- use property declarations for resource members (#300) (8671297)
Full Changelog: v0.8.0...v0.8.1
- internal: add bin script (#292) (ba2953d)
- internal: fix typos (#287) (4ffbcdf)
- internal: use ruff instead of black for formatting (#294) (1753887)
- package: bump minimum typing-extensions to 4.7 (#290) (9ec5c57)
- messages: improvements to helpers reference + typos (#291) (d18a895)
- readme: remove old migration guide (#289) (eec4574)
Full Changelog: v0.7.8...v0.8.0
- ci: run release workflow once per day (#282) (3a23912)
- client: only import tokenizers when needed (#284) (b9e38b2)
- streaming: update constructor to use direct client names (#285) (0c55c84)
Full Changelog: v0.7.7...v0.7.8
- avoid leaking memory when Client.with_options is used (#275) (5e51ebd)
- client: correct base_url setter implementation (#265) (29d0c8b)
- client: ensure retried requests are closed (#261) (5d9aa75)
- errors: properly assign APIError.body (#274) (342846f)
- internal: enable more lint rules (#273) (0ac62bc)
- internal: reformat imports (#270) (dc55724)
- internal: reformat imports (#272) (0d82ce4)
- internal: remove unused file (#264) (1bfc69b)
- internal: replace string concatenation with f-strings (#263) (f545c35)
- internal: update formatting (#271) (802ab59)
- package: lift anyio v4 restriction (#266) (a217e99)
Full Changelog: v0.7.6...v0.7.7
- internal: add tests for proxy change (#260) (3b52136)
- internal: updates to proxy helper (#258) (94c4de8)
Full Changelog: v0.7.5...v0.7.6
Full Changelog: v0.7.4...v0.7.5
- internal: revert recent options change (#252) (d60d5c3)
- internal: send more detailed x-stainless headers (#254) (a268d4b)
Full Changelog: v0.7.3...v0.7.4
Full Changelog: v0.7.2...v0.7.3
- client: improve copy method (#246) (c84563f)
- package: add license classifier metadata (#247) (500d0ca)
Full Changelog: v0.7.1...v0.7.2
Full Changelog: v0.7.0...v0.7.1
Full Changelog: v0.6.0...v0.7.0
- client: correctly flush the stream response body (#230) (a60d543)
- client: retry if SSLWantReadError occurs in the async client (#233) (33b553a)
- client: serialise pydantic v1 default fields correctly in params (#232) (d5e70e8)
- models: mark unknown fields as set in pydantic v1 (#231) (4ce7a1e)
- internal: fix devcontainer interpeter path (#235) (7f92e25)
- internal: fix typo in NotGiven docstring (#234) (ce5cccc)
Full Changelog: v0.5.1...v0.6.0
- client: adjust retry behavior to be exponential backoff (#205) (c8a4119)
- client: allow binary returns (#217) (159ddd6)
- client: improve file upload types (#204) (d85d1e0)
- client: support accessing raw response objects (#211) (ebe8e4a)
- client: support passing BaseModels to request params at runtime (#218) (9f04ea6)
- client: support passing chunk size for binary responses (#227) (c88f01e)
- client: support passing httpx.Timeout to method timeout argument (#222) (ef58166)
- github: include a devcontainer setup (#216) (c9fee19)
- package: add classifiers (#214) (380967e)
- binaries: don't synchronously block in astream_to_file (#219) (2a2a617)
- prevent TypeError in Python 3.8 (ABC is not subscriptable) (#221) (893e885)
- docs: fix github links (#225) (dfa9935)
- internal: fix some typos (#223) (9038193)
- internal: improve github devcontainer setup (#226) (3cd90ab)
- internal: minor restructuring of base client (#213) (60dc609)
- internal: remove unused int/float conversion (#220) (a6bf20d)
- internal: require explicit overrides (#210) (72f4339)
Full Changelog: v0.5.0...v0.5.1
- internal: bump mypy (#203) (aa9a67e)
- internal: bump pyright (#202) (f96f5f7)
- internal: update gitignore (#199) (b92fa57)
Full Changelog: v0.4.1...v0.5.0
- internal: improve publish script (#196) (7c92b90)
- internal: migrate from Poetry to Rye (#194) (1dd605e)
- internal: update gitignore (#198) (4c210b7)
Full Changelog: v0.4.0...v0.4.1
- client: accept io.IOBase instances in file params (#190) (5da5f0c)
- streaming: add additional overload for ambiguous stream param (#185) (794dc4d)
Full Changelog: v0.3.14...v0.4.0
- add case insensitive get header function (#182) (708fd02)
- update comment (#183) (649d6f4)
- update README (#174) (bb581b5)
Full Changelog: v0.3.13...v0.3.14
- client: add forwards-compatible pydantic methods (#171) (4c5289e)
- client: add support for passing in a httpx client (#173) (25046c4)
- client: handle retry-after header with a date format (#168) (afeabf1)
- client: retry on 408 Request Timeout (#155) (46386f8)
- package: export a root error type (#163) (e7aa3e7)
- types: improve params type names (#160) (43544a6)
- client: don't error by default for unexpected content types (#161) (76cfcf9)
- client: properly configure model set fields (#154) (da6ccb1)
- internal: add helpers (#156) (00f5a19)
- internal: move error classes from _base_exceptions to _exceptions (
⚠️ breaking) (#162) (329b307) - tests: improve raw response test (#166) (8042473)
Full Changelog: v0.3.12...v0.3.13
- internal: add
pydantic.generics
import for compatibility (#135) (951446d) - internal: minor restructuring (#137) (e601206)
- internal: minor update (#145) (6a505ef)
- internal: update base client (#143) (8e0dca4)
- internal: update lock file (#147) (a72b5ca)
- internal: update pyright (#149) (9661f94)
- internal: updates (#148) (9f7fbbc)
Full Changelog: v0.3.11...v0.3.12
- ci: setup workflows to create releases and release PRs (#130) (8f1048b)
- internal: use shared params references (#133) (feaf6aa)
0.3.11 (2023-08-26)
0.3.10 (2023-08-16)
- add support for Pydantic v2 (#121) (cafa9be)
- allow a default timeout to be set for clients (#117) (a115d2c)
- assign default reviewers to release PRs (#119) (029a9e1)
- internal: minor formatting change (#120) (7f2f54a)
0.3.9 (2023-08-12)
- docs: correct async imports (1ea1bf3)
- deps: bump typing-extensions to 4.5 (#112) (f903269)
- docs: remove trailing spaces (#113) (e876a6b)
- internal: bump pytest-asyncio (#114) (679ecd0)
- internal: update mypy to v1.4.1 (#100) (f615753)
- internal: update ruff to v0.0.282 (#103) (9db4b34)
0.3.8 (2023-08-01)
- internal: bump pyright (#94) (d2872dc)
- internal: make demo example runnable and more portable (#92) (dea1aa2)
0.3.7 (2023-07-29)
- client: correctly handle environment variable access (aa53754)
- readme: use
client
everywhere for consistency (0ff8924)
- internal: minor refactoring of client instantiation (adf9158)
- internal: minor reformatting of code (#90) (1175572)