Skip to content

chore(deps): bump the python-dependencies group across 1 directory with 7 updates - #82

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/python-dependencies-83b61a95a3
Open

chore(deps): bump the python-dependencies group across 1 directory with 7 updates#82
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/python-dependencies-83b61a95a3

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 18, 2026

Copy link
Copy Markdown
Contributor

Bumps the python-dependencies group with 7 updates in the / directory:

Package From To
pydantic-settings 2.14.2 2.15.0
sqlglot 30.14.0 30.17.0
clickhouse-connect 1.6.0 1.7.1
uvicorn 0.52.0 0.52.3
anthropic 0.120.2 0.122.0
ruff 0.16.0 0.16.3
pre-commit 4.6.1 4.6.2

Updates pydantic-settings from 2.14.2 to 2.15.0

Release notes

Sourced from pydantic-settings's releases.

v2.15.0

Highlights

Behavior changes

  • case_sensitive now applies to init kwargs and config-file sources (#900). InitSettingsSource and the JSON/TOML/YAML config sources previously ignored case_sensitive. Since it defaults to False, case-insensitive matching is now the default for these sources — e.g. Settings(TeSt=...) now populates a test field where it previously did not. Nested keys are still matched case-sensitively.
  • Fields with unresolved forward references now emit a warning (#901). Settings sources can silently fail to resolve such fields; they now raise IncompleteFieldDefinitionWarning telling you to call model_rebuild(). If you have filterwarnings = error configured, this may surface as a new failure.
  • Non-JSON env values for strict fields now raise ValidationError (#926) instead of a less specific error.

New features

  • Show environment variable names in CLI help via cli_show_env_vars=True (#860), so generated --help output doubles as configuration documentation.
  • PYDANTIC_SETTINGS_DEBUG for debugging settings resolution (#906, #913). Set it to a truthy value with DEBUG logging enabled to see each source's contribution in priority order, which source won for each value, and which env_file/secret files were probed, loaded, or skipped — the long-standing "why isn't my .env being picked up?" question.
  • toml_table_header for regular TOML files (#882, #886, #887), letting you root settings at a nested table in any TOML file, not just pyproject.toml.
  • Traversable support for JSON/TOML/YAML file sources (#902), so you can load config packaged inside a distribution — including files inside a zip or wheel — via importlib.resources.files(...) without casting to Path.
  • GCP: project_id can come from an earlier settings source (#878), rather than only from the constructor or GOOGLE_CLOUD_PROJECT.

Bug fixes

  • Fix env vars not loading on Windows with case_sensitive=True (#894). Windows upper-cases os.environ keys, so fields raised Field required instead of picking up their values.
  • Read secret files as UTF-8 instead of the platform locale encoding (#917). On Windows code pages such as cp1252 this silently corrupted non-ASCII secrets.
  • Fix AliasPath on nested model fields not JSON-decoding env values (#898).
  • Fix case-insensitive matching for optional nested models (#905).
  • Fix dotenv extras being wrongly claimed by a complex field sharing a name prefix (#912) — e.g. dbx_token being swallowed by a db: dict field.
  • Fix nested_model_default_partial_update=True corrupting discriminated unions (#876).
  • Fix Secret subclasses crashing when loaded from the environment (#920).
  • Fix enum names not parsing through nested annotations such as Optional[Annotated[MyEnum, ...]] with env_parse_enums=True (#910).
  • An empty yaml_config_section now falls back to defaults instead of raising AttributeError: 'NoneType' object has no attribute 'keys' (#914).
  • NestedSecretsSettingsSource no longer follows symlinks pointing outside secrets_dir (#889).
  • GCP: skip the list_secrets call when case_sensitive=True (#862), lowering the required IAM permissions to just roles/secretmanager.secretAccessor.
  • AWS: types-boto3[secretsmanager] is no longer required at runtime (#880).

Documentation

  • Document JSON parsing of complex env values, plus a comma-separated-values recipe (#919).
  • Recommend an async settings loading pattern (#908).
  • Clarify behavior when an unprefixed value is present in a dotenv file (#895).
  • Clarify environment variable helper descriptions (#867) and fix assorted typos (#904).

What's Changed

... (truncated)

Commits
  • f725ca1 Prepare release 2.15.0 (#930)
  • 28f35c2 Bump the python-packages group with 4 updates (#929)
  • 9056db0 test: move function-local imports to the top of test modules (#927)
  • f077e3a fix: raise ValidationError for non-JSON env values on strict fields (#926)
  • ae25d70 fix: treat Secret subclasses as non-complex fields (#716) (#920)
  • 798dcea Bump the python-packages group with 4 updates (#924)
  • a190041 Bump the github-actions group with 4 updates (#925)
  • 5d93332 Bump the python-packages group with 4 updates (#921)
  • d2fdeda fix: read secret files as UTF-8 instead of the locale encoding (#917)
  • 2256a4e Bump the python-packages group with 3 updates (#915)
  • Additional commits viewable in compare view

Updates sqlglot from 30.14.0 to 30.17.0

Commits
  • 9a8129b feat(executor): implement LENGTH [CLAUDE] (#8145)
  • b7386b7 fix(optimizer)!: scope DML / DDL query fragments properly (#8140)
  • 8619582 fix(optimizer): preserve identifier meta when restoring JSON dot part case
  • 98f3d66 feat(executor): implement ILIKE [CLAUDE] (#8144)
  • 44b73a0 Fix(executor): fullmatch like semantics
  • 7cab581 fix(executor): honor the negate flag on LIKE and ILIKE [CLAUDE] (#8139)
  • 1dae76b fix(executor): only truncate typed division when both operands are integers [...
  • 3a76dfd feat(optimizer)!: annotate encode for postgresql (#8137)
  • 9312212 Fix(optimizer)!: properly support UNION BY NAME in qualify, type inference ...
  • 8ba0435 fix(optimizer)!: escape gen delimited names (strings, etc) (#8134)
  • Additional commits viewable in compare view

Updates clickhouse-connect from 1.6.0 to 1.7.1

Release notes

Sourced from clickhouse-connect's releases.

v1.7.1

clickhouse-connect v1.7.1

This is a patch release with two SQLAlchemy compatibility fixes.

What's Changed

Bug Fixes

  • SQLAlchemy 2.1 compatibility: Identifier quoting forwarded the deprecated force argument to IdentifierPreparer.quote, which SQLAlchemy 2.1 removed, causing any dialect use to raise TypeError on 2.1.0b3. The parent call now passes only the identifier. The optional force parameter remains available on the ClickHouse preparer for direct callers. Closes #954.
  • SQLAlchemy 1.4 compatibility: Column DDL using the clickhouse_materialized, clickhouse_alias, or clickhouse_ttl options raised AttributeError on SQLAlchemy 1.4 because it called a rendering helper that only exists in 2.0. The helper is now implemented locally. This appears to have been broken since 1.1.0.

Full Changelog: ClickHouse/clickhouse-connect@v1.7.0...v1.7.1

Installation

pip install clickhouse-connect

v1.7.0

clickhouse-connect 1.7.0

clickhouse-connect 1.7.0 adds SQLAlchemy support for JSON subcolumns and materialized CTEs, introduces more control over error messages and naive datetime inserts, and fixes issues across parameter binding, streaming, JSON decoding, DB-API, and SQLAlchemy.

Highlights

Features and improvements

  • SQLAlchemy JSON columns now support storage-backed subcolumn access through column["segment"], column.subcolumn(...), and the typed json_subcolumn(...) helper. #899
  • SQLAlchemy statements can create materialized CTEs through .cte(..., materialized=True) and cc_sqlalchemy.cte(...). This requires ClickHouse 26.3 or later with enable_materialized_cte and the analyzer enabled. #900
  • show_clickhouse_errors="scrub" preserves useful server error details while removing the server URL and version trailer. Transport and streaming errors follow the same setting. Invalid values now raise ProgrammingError. #344
  • The new naive_datetime_insert setting controls whether naive Python datetime values use the client host timezone or the column and server timezone. The default remains "local" for compatibility. #938

Bug fixes

  • SQLAlchemy and DB-API now handle percent signs in identifiers correctly, including %2E JSON key encodings.
  • datetime.time and datetime.timedelta query parameters now bind correctly for Time and Time64, including nested, negative, extended-duration, timezone-aware, and nanosecond values. SQLAlchemy inserts, comparisons, and literal_binds now support these values too. #919
  • The DB-API module now provides the standard Binary, Date, Time, Timestamp, and ticks-based constructors. This also fixes SQLAlchemy LargeBinary inserts. #919
  • Fractional DateTime64 values before the Unix epoch now serialize to the correct second. #938
  • Nested compound types containing enum values with escaped quotes now parse correctly. #878
  • Nested None values in arrays, tuples, and map-formatted maps now render as SQL NULL. #879
  • Empty bytes inserted into non-nullable FixedString columns are now padded correctly. #880
  • Settings unavailable through system.settings, including custom role settings, are now forwarded to ClickHouse for validation. #530
  • SQLAlchemy reflection and metadata queries continue returning string identifiers when the global String format is configured as bytes. #920
  • Removing SQL block comments no longer joins adjacent query tokens or causes incorrect client-side LIMIT handling. #928
  • Native streaming now detects complete mid-stream ClickHouse exception blocks across transport chunk boundaries. #915
  • DB-API Cursor.description now reports accurate top-level nullability and handles empty-result metadata probes more safely. #902, #907, #909
  • Compound and temporal values stored in JSON shared data now decode to Python values instead of raw bytes. #897
  • Async streaming cleanup now runs on the event-loop thread, preserving the original StreamFailureError when TLS queries fail mid-stream.

... (truncated)

Changelog

Sourced from clickhouse-connect's changelog.

1.7.1, 2026-08-12

Bug Fixes

  • SQLAlchemy 2.1 compatibility. Identifier quoting forwarded the deprecated force argument to IdentifierPreparer.quote, which SQLAlchemy 2.1 removed, so any dialect use raised TypeError on 2.1.0b3. The parent call now passes only the identifier. The optional force parameter stays on the ClickHouse preparer for direct callers. Closes #954.
  • SQLAlchemy 1.4 compatibility. Column DDL using the clickhouse_materialized, clickhouse_alias, or clickhouse_ttl options raised AttributeError on SQLAlchemy 1.4 because it called a rendering helper that only exists in 2.0. The helper is now implemented locally. This appears to have been broken since 1.1.0.

1.7.0, 2026-08-11

Improvements

  • SQLAlchemy JSON columns now support storage-backed subcolumn access with column["segment"], column.subcolumn("segment", type_=...), and the statically typed json_subcolumn(...) helper. Nested paths compile as independently quoted dotted identifiers, and typed access uses CAST. Closes #899.
  • show_clickhouse_errors now accepts "scrub" in addition to True/False. Scrub mode keeps the SQL exception text and symbolic name (for example UNKNOWN_TABLE) while stripping the server URL and trailing (version ...) trailer from client exception messages. Transport errors and mid-stream StreamFailureError messages honor the same setting. When error detail is disabled (False), the displayed exception string is generic. The chDB backend now uses the same generic text as HTTP, without its former trailing period. This setting governs str(exc) only. Transport errors remain attached as __cause__, so tracebacks can still contain the original host, URL, or library error text. Historical string booleans still work, but non-boolean values such as integers and unrecognized strings now raise ProgrammingError. Addresses the middle ground requested in #344.
  • SQLAlchemy: added support for materialized common table expressions. cc_sqlalchemy.select(...).cte("name", materialized=True) emits WITH name AS MATERIALIZED (...), so a CTE referenced more than once is computed once instead of being inlined and re-executed at each reference. A module-level cc_sqlalchemy.cte(statement, "name", materialized=True) does the same for a statement built with the standard sqlalchemy.select. The keyword renders only on the ClickHouse dialect. The server materializes the CTE only when the experimental enable_materialized_cte setting is also enabled for the query and the analyzer is enabled. Materialized CTEs require ClickHouse 26.3 or later. The SQLAlchemy helpers reject recursive=True with materialized=True because ClickHouse does not support recursive materialized CTEs. Closes #900.
  • Added the global naive_datetime_insert setting for Python object inserts, including naive ISO strings accepted by DateTime64. Set it to "server" to interpret a naive datetime in the timezone declared by the DateTime or DateTime64 column, or in the server timezone when the column has no timezone. The default remains "local" in 1.x and preserves the existing host-local conversion. This setting does not change datetime64-dtype NumPy and Pandas columns. Use naive_datetime_binding to control naive datetime query parameters. See #938.

Behavior Changes

  • Removed runtime compatibility branches for unsupported ClickHouse server versions older than 25.8. Client initialization no longer substitutes the common.readonly value for servers older than 19.17 and always attempts guarded Native protocol negotiation, retaining the existing proxy-safe fallback. JSON inserts no longer fall back to String serialization for 24.8 and 24.9 servers. The module attribute clickhouse_connect.datatypes.dynamic.json_serialization_format remains importable for compatibility but assigning it no longer changes insert behavior. The generated cast_string_to_dynamic_use_inference default no longer depends on the obsolete allow_experimental_json_type setting. The global common.readonly option is deprecated and retained as a no-op. The default local Docker server is now ClickHouse 25.8.
  • datetime.time and datetime.timedelta query parameters are now rendered as quoted literals. A time value was previously rendered without quotes and the server rejected it, so some queries added the quotes in the query text as a workaround, for example WHERE t = '%(t)s'. Those queries now produce a doubled quote and fail. Remove the manual quotes and bind the value normally. See #919.
  • Naive datetime query parameters now bind as wall time instead of being interpreted in the client host timezone. Previously a naive value passed through astimezone for server-side {name:DateTime} parameters and DT64Param values, so the same query could match different rows depending on the timezone of the machine running it. Only workloads that bind naive datetime parameters with a non-UTC host timezone or a non-UTC target timezone are affected. Environments where both the host and the bind target are UTC see no change, and client-side % parameters against a UTC server were already sent verbatim. Two changes are observable. First, on a non-UTC host with a UTC target, server-side parameters and DT64Param values no longer shift, which corrects silently wrong results. Second, when the bind target is a non-UTC timezone, a naive value now means wall time in that timezone instead of the instant implied by the client local timezone, which can change matched rows for code that relied on the old conversion. A related consequence is that inserting a naive datetime and then filtering with the same naive value no longer matches on a non-UTC host, because the insert path still interprets naive values as host local time. #938 tracks unifying insert semantics. Timezone-aware datetimes are unchanged and still convert to the target bind timezone. Set common.set_setting("naive_datetime_binding", "legacy") to restore the previous behavior exactly. To make a naive value represent a specific instant under either mode, attach the intended tzinfo before binding.

Bug Fixes

  • SQLAlchemy identifiers containing % now compile safely in statements with bound parameters. The DB-API bulk INSERT path also restores escaped percent signs in table and column names, so executemany keeps using one bulk insert instead of falling back to row-by-row execution or sending the wrong identifier. This includes %2E JSON key encodings used with json_type_escape_dots_in_keys.
  • datetime.time and datetime.timedelta query parameters now bind as a quoted HH:MM:SS[.ffffff] literal for Time and Time64 columns. This fixes client-side %(name)s binding, timezone-aware time values, timedelta values, and values nested in arrays and tuples. A naive scalar time at the top level of a server-side {name:Time} bind already worked and is unchanged. A timedelta may be negative and may exceed 24 hours, and a pandas Timedelta with sub-microsecond nanoseconds formats a nine digit fraction. Plain Time accepts only whole seconds. Addresses the Time parameter failure in #919.
  • SQLAlchemy: Time and Time64 columns now accept datetime.time and datetime.timedelta values in inserts and comparisons, and render correctly with literal_binds. The types inherit from the SQLAlchemy Interval type, which converted every bound value to an epoch datetime that the server rejected and coerced comparison values to its DateTime implementation. Reads still return timedelta. Part of #919.
  • DB API module now provides the PEP 249 type constructors Binary, Date, Time, Timestamp, DateFromTicks, TimeFromTicks, and TimestampFromTicks. SQLAlchemy LargeBinary inserts no longer raise AttributeError. Addresses the Binary constructor failure in #919.
  • Fractional DateTime64 values before the Unix epoch now serialize with the correct second. The serializer truncated negative timestamps toward zero before adding the fractional component, which shifted affected values forward by one second. This affected Python datetime values and accepted ISO strings in both naive datetime insert modes. See #938.
  • Parsing a nested Variant, Tuple, Nested, or typed JSON column type whose element is an Enum with an escaped single quote in a value name no longer corrupts the escape sequence and fails while re-parsing the element type. Closes #878.
  • None nested inside an Array or Tuple, or inside a Map when dict_parameter_format="map", now renders as the SQL NULL keyword instead of the \N sentinel used for top-level values. Top-level scalar None binds are unchanged. Closes #879.
  • Inserting empty bytes b"" into a non-nullable FixedString(N) column now zero-pads to N bytes instead of raising DataError, matching the existing string and nullable-bytes write paths. Closes #880.
  • Per-query and client settings that are not present in system.settings for the current user (including custom settings declared CHANGEABLE_IN_READONLY on a role) are now forwarded to ClickHouse instead of raising ProgrammingError: Setting ... is unknown or readonly. The client cannot discover those settings without extra privileges, so the server is treated as authoritative. Setting invalid_setting_action to drop still drops them, so a single settings dict stays portable across server versions. Known readonly settings still honor invalid_setting_action, and reserved HTTP request parameter names such as query, user, default_format, and the param_ bound-parameter namespace still raise a client-side ProgrammingError because they are not settings. Closes #530.
  • SQLAlchemy reflection and metadata queries now force internal String decoding, so set_default_formats("String", "bytes") no longer turns reflected database, table, or column names into bytes. The Alembic startup current database lookup uses the same internal format. Alembic version table queries do not use the internal override and remain affected by a global String bytes format. Closes #920.
  • Removing a block comment for query type detection no longer joins the tokens around it. The server lexer treats a comment as a token separator, but remove_sql_comments replaced it with nothing, so SELECT/*c*/number FROM numbers(9) became the single token SELECTnumber, stopped looking like a SELECT, and the client side query_limit was silently dropped, while SELECT number FROM numbers(9)/*c*/LIMIT 1 became numbers(9)LIMIT 1, hid the real LIMIT, and the client appended a second one that the server rejected with Code: 62. A removed block comment now leaves a single space behind, and the trailing LIMIT 0 check that routes a query to the columns only metadata probe accepts any whitespace between LIMIT and 0 instead of exactly one space, so LIMIT /*c*/0 keeps reaching that probe. A -- line comment is unchanged, its terminating newline was already kept. Closes #928.
  • The native streaming response buffer again detects mid-stream server exceptions proactively. Its in-band exception scan built the markers as __exception__<tag> and <tag>__exception__, but the server separates __exception__ from the tag with a CRLF on both markers (__exception__\r\n<tag> ... <tag>\r\n__exception__), so the scan never matched and the exception block was only recovered by the last-chunk fallback in NativeTransform.parse_response. When the block spanned a transport-chunk boundary that fallback saw just a fragment and surfaced a truncated or garbled error instead of the real ClickHouse exception. Both the pure Python and compiled Cython buffers are corrected. Closes #915.
  • DB-API Cursor.description now reports the result type's top-level nullability instead of hardcoding null_ok=True, including the implicit null values supported by Variant, Dynamic, and SimpleAggregateFunction over a nullable element type. Existing type_code values are unchanged, and types whose nullability is unknown report None. The empty-result metadata probe also recognizes leading ClickHouse comments, including nested block comments, and is best effort, so a failed probe leaves description empty instead of raising after the original query succeeded. Closes #902, #907, and #909.
  • Compound values stored in JSON shared data, such as arrays of objects, heterogeneous arrays, and nested arrays, are now decoded to Python objects instead of being returned as raw bytes. Date, DateTime, and DateTime64 values in shared data, both as scalars and inside arrays, now decode as well. Closes #897.
  • AsyncClient no longer tears down the aiohttp response from the parser's executor thread when a query fails mid-stream. The synchronous cleanup cancelled the producer task and closed the response directly, which raced with the event loop handling the server's connection abort and could surface an AttributeError from asyncio's SSL shutdown on TLS connections instead of the real StreamFailureError. Cleanup is now scheduled onto the event loop with call_soon_threadsafe.
Commits
  • d479216 release prep v1.7.1 (#957)
  • 6d63e37 fix SQLAlchemy 2.1 identifier quoting and broken 1.4 column ddl (#956)
  • 1503bea add publish_core workflow for clickhouse-connect-core wheels (#955)
  • f25bb0d release prep for v1.7.0 (#953)
  • 948d460 Remove old server version checks (#945)
  • c81f3bd add SQLAlchemy JSON subcolumn access (#944)
  • 6446994 fix bind time and timedelta parameters as Time literals (#943)
  • a114c62 Add show_clickhouse_errors="scrub" to hide host and version (#937)
  • 55e1051 fix: protect SQLAlchemy reflection from String bytes format (#935)
  • 32c93d8 add PEP 249 DB API constructors (#940)
  • Additional commits viewable in compare view

Updates uvicorn from 0.52.0 to 0.52.3

Release notes

Sourced from uvicorn's releases.

Version 0.52.3

Changed

  • Update zttp to 0.0.24 and use its combined receive path, improving HTTP/1.1 request parsing performance (#3067)

Full Changelog: Kludex/uvicorn@0.52.2...0.52.3

Version 0.52.2

Fixed

  • Update zttp to 0.0.22, fixing bodyless request receives and improving HTTP/1 request parsing performance (#3063)

Full Changelog: Kludex/uvicorn@0.52.1...0.52.2

Version 0.52.1

Fixed

  • Complete the closing handshake on server-initiated WebSocket closes in the websockets-sansio and wsproto implementations, waiting for the client's close reply with a 10 second timeout instead of resetting the connection (#3053)
  • Add missing write flow control to the websockets-sansio implementation, preventing data truncation on server-initiated closes with large in-flight payloads (#3048)
  • Handle connection loss while a WebSocket write is waiting on backpressure (#3050)
  • Remove duplicate Content-Type and Content-Length headers from WebSocket denial responses on the websockets-sansio implementation, and deliver non-UTF-8 denial bodies intact (#3041)

Full Changelog: Kludex/uvicorn@0.52.0...0.52.1

Changelog

Sourced from uvicorn's changelog.

0.52.3 (August 13, 2026)

Changed

  • Update zttp to 0.0.24 and use its combined receive path, improving HTTP/1.1 request parsing performance (#3067)

0.52.2 (August 13, 2026)

Fixed

  • Update zttp to 0.0.22, fixing bodyless request receives and improving HTTP/1 request parsing performance (#3063)

0.52.1 (August 1, 2026)

Fixed

  • Complete the closing handshake on server-initiated WebSocket closes in the websockets-sansio and wsproto implementations, waiting for the client's close reply with a 10 second timeout instead of resetting the connection (#3053)
  • Add missing write flow control to the websockets-sansio implementation, preventing data truncation on server-initiated closes with large in-flight payloads (#3048)
  • Handle connection loss while a WebSocket write is waiting on backpressure (#3050)
  • Remove duplicate Content-Type and Content-Length headers from WebSocket denial responses on the websockets-sansio implementation, and deliver non-UTF-8 denial bodies intact (#3041)
Commits

Updates anthropic from 0.120.2 to 0.122.0

Release notes

Sourced from anthropic's releases.

v0.122.0

0.122.0 (2026-08-13)

Full Changelog: v0.121.0...v0.122.0

Features

  • api: add output_behavior to dream creation (create a new memory store or update the input store in place) (852c4bb)

Bug Fixes

  • bedrock,aws: run SigV4 signing off the event loop in async clients (#334) (2bae6c8)
  • bedrock: expose beta.messages.parse, stream and tool_runner (#366) (6eca7bb)
  • client: add models (52e9d94)
  • client: keep token exchange bound per client across copy() (#388) (c13e6e3)
  • client: read PathLike contents passed inside a file tuple (070f953)
  • client: treat empty ANTHROPIC_API_KEY / ANTHROPIC_AUTH_TOKEN as unset (#341) (76a2e68)
  • streaming: add context to malformed tool input JSON errors in the non-beta accumulator (#339) (a343e17)
  • streaming: apply all message_delta fields when accumulating streamed messages (#380) (fc1599b)
  • streaming: emit input_json events for server tool use blocks (#336) (ccfc8e1)
  • streaming: keep omitted content block fields unset in accumulated messages (#346) (cd40aab)
  • streaming: run the request transform once in messages.stream() (#347) (81a92da)
  • streaming: silence pydantic serializer warnings on message_stop events (#338) (41f9cdc)
  • tools: reject symlink loops in tool paths and skip special skill-archive members (#322) (43e8669)
  • vertex: expose beta.messages.parse and tool_runner (#367) (96723a0)

Chores

  • ci: run breaking-change detection as a ci.yml job on every push (6dfd16e)
  • examples: update messages_stream.py shebang from rye to uv (#1519) (7d72364)
  • internal: codegen related update (21a0e3d)
  • internal: drop remaining references to black (13df390)
  • internal: remove misc things (d6ee99e)
  • tests: use pytest monkeypatch and fakes instead of unittest.mock (55d246f)
  • tests: use pytest monkeypatch instead of unittest.mock (e0c6488)

Documentation

  • api: clarify that user profile name is optional for resold profiles (b8f9f61)
  • fix fulfillment typos in session runner (#1795) (009b035)
  • fix incorrect docstring in AsyncAnthropicFoundry.models (#1592) (f1f5e9b)

Refactors

  • use the not_given singleton instead of the legacy NOT_GIVEN alias (eeb4d74)

... (truncated)

Changelog

Sourced from anthropic's changelog.

0.122.0 (2026-08-13)

Full Changelog: v0.121.0...v0.122.0

Features

  • api: add output_behavior to dream creation (create a new memory store or update the input store in place) (852c4bb)

Bug Fixes

  • bedrock,aws: run SigV4 signing off the event loop in async clients (#334) (2bae6c8)
  • bedrock: expose beta.messages.parse, stream and tool_runner (#366) (6eca7bb)
  • client: add models (52e9d94)
  • client: keep token exchange bound per client across copy() (#388) (c13e6e3)
  • client: read PathLike contents passed inside a file tuple (070f953)
  • client: treat empty ANTHROPIC_API_KEY / ANTHROPIC_AUTH_TOKEN as unset (#341) (76a2e68)
  • streaming: add context to malformed tool input JSON errors in the non-beta accumulator (#339) (a343e17)
  • streaming: apply all message_delta fields when accumulating streamed messages (#380) (fc1599b)
  • streaming: emit input_json events for server tool use blocks (#336) (ccfc8e1)
  • streaming: keep omitted content block fields unset in accumulated messages (#346) (cd40aab)
  • streaming: run the request transform once in messages.stream() (#347) (81a92da)
  • streaming: silence pydantic serializer warnings on message_stop events (#338) (41f9cdc)
  • tools: reject symlink loops in tool paths and skip special skill-archive members (#322) (43e8669)
  • vertex: expose beta.messages.parse and tool_runner (#367) (96723a0)

Chores

  • ci: run breaking-change detection as a ci.yml job on every push (6dfd16e)
  • examples: update messages_stream.py shebang from rye to uv (#1519) (7d72364)
  • internal: codegen related update (21a0e3d)
  • internal: drop remaining references to black (13df390)
  • internal: remove misc things (d6ee99e)
  • tests: use pytest monkeypatch and fakes instead of unittest.mock (55d246f)
  • tests: use pytest monkeypatch instead of unittest.mock (e0c6488)

Documentation

  • api: clarify that user profile name is optional for resold profiles (b8f9f61)
  • fix fulfillment typos in session runner (#1795) (009b035)
  • fix incorrect docstring in AsyncAnthropicFoundry.models (#1592) (f1f5e9b)

Refactors

  • use the not_given singleton instead of the legacy NOT_GIVEN alias (eeb4d74)

0.121.0 (2026-08-07)

... (truncated)

Commits
  • ad53cac release: 0.122.0
  • c71b2f5 chore(tests): use pytest monkeypatch instead of unittest.mock
  • 932488d chore(internal): drop remaining references to black
  • de9fe77 docs(api): clarify that user profile name is optional for resold profiles
  • db4581d refactor: use the not_given singleton instead of the legacy NOT_GIVEN alias
  • 36cbc3a chore(tests): use pytest monkeypatch and fakes instead of unittest.mock
  • 05cdf07 chore(ci): run breaking-change detection as a ci.yml job on every push
  • fd3eaa6 fix(client): keep token exchange bound per client across copy() (

…th 7 updates

Bumps the python-dependencies group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.14.2` | `2.15.0` |
| [sqlglot](https://github.com/tobymao/sqlglot) | `30.14.0` | `30.17.0` |
| [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect) | `1.6.0` | `1.7.1` |
| [uvicorn](https://github.com/Kludex/uvicorn) | `0.52.0` | `0.52.3` |
| [anthropic](https://github.com/anthropics/anthropic-sdk-python) | `0.120.2` | `0.122.0` |
| [ruff](https://github.com/astral-sh/ruff) | `0.16.0` | `0.16.3` |
| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.6.1` | `4.6.2` |



Updates `pydantic-settings` from 2.14.2 to 2.15.0
- [Release notes](https://github.com/pydantic/pydantic-settings/releases)
- [Commits](pydantic/pydantic-settings@v2.14.2...v2.15.0)

Updates `sqlglot` from 30.14.0 to 30.17.0
- [Commits](tobymao/sqlglot@v30.14.0...v30.17.0)

Updates `clickhouse-connect` from 1.6.0 to 1.7.1
- [Release notes](https://github.com/ClickHouse/clickhouse-connect/releases)
- [Changelog](https://github.com/ClickHouse/clickhouse-connect/blob/main/CHANGELOG.md)
- [Commits](ClickHouse/clickhouse-connect@v1.6.0...v1.7.1)

Updates `uvicorn` from 0.52.0 to 0.52.3
- [Release notes](https://github.com/Kludex/uvicorn/releases)
- [Changelog](https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md)
- [Commits](Kludex/uvicorn@0.52.0...0.52.3)

Updates `anthropic` from 0.120.2 to 0.122.0
- [Release notes](https://github.com/anthropics/anthropic-sdk-python/releases)
- [Changelog](https://github.com/anthropics/anthropic-sdk-python/blob/main/CHANGELOG.md)
- [Commits](anthropics/anthropic-sdk-python@v0.120.2...v0.122.0)

Updates `ruff` from 0.16.0 to 0.16.3
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.16.0...0.16.3)

Updates `pre-commit` from 4.6.1 to 4.6.2
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](pre-commit/pre-commit@v4.6.1...v4.6.2)

---
updated-dependencies:
- dependency-name: pydantic-settings
  dependency-version: 2.15.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-dependencies
- dependency-name: sqlglot
  dependency-version: 30.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-dependencies
- dependency-name: clickhouse-connect
  dependency-version: 1.7.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-dependencies
- dependency-name: uvicorn
  dependency-version: 0.52.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-dependencies
- dependency-name: anthropic
  dependency-version: 0.122.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-dependencies
- dependency-name: ruff
  dependency-version: 0.16.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-dependencies
- dependency-name: pre-commit
  dependency-version: 4.6.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Aug 18, 2026
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Aug 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants