dependabot[bot] opened a new pull request, #44198: URL: https://github.com/apache/superset/pull/44198
Bumps [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect) from 1.7.2 to 1.8.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ClickHouse/clickhouse-connect/releases">clickhouse-connect's releases</a>.</em></p> <blockquote> <h2>v1.8.0</h2> <h1>clickhouse-connect v1.8.0</h1> <p>This release introduces an experimental Rust codec for faster ClickHouse Native query decoding and insert encoding. It also expands ClickHouse type support and includes several SQLAlchemy, Alembic, Native format, and packaging fixes.</p> <p>The Rust codec is opt in. The existing Python and Cython codec is still the default.</p> <h2>Highlights</h2> <h3>Experimental Rust codec</h3> <p>The new <code>native_codec</code> option covers <code>query</code>, <code>query_np</code>, <code>query_df</code>, their streaming variants, and inserts including <code>insert_df</code>.</p> <pre lang="python"><code>client = clickhouse_connect.get_client( host="localhost", native_codec="rust", ) </code></pre> <p><code>native_codec="rust"</code> falls back to Python for unsupported paths. Use <code>native_codec="rust_strict"</code> while evaluating or benchmarking so unsupported paths raise instead.</p> <p>The Rust codec is currently most useful for:</p> <ul> <li>Large DataFrame results containing String, LowCardinality, Array, Map, JSON, Decimal, and UUID columns</li> <li>Large row and column block streams</li> <li>Concurrent query workloads</li> <li>Bulk inserts</li> </ul> <p>Small results and flat numeric tables may see less benefit at the moment. Buffered <code>query()</code> calls on very wide or numeric results may also currently be slower. Benchmark your own workload before adopting the codec.</p> <p>For evaluation, install the Rust codec with PyArrow:</p> <pre lang="bash"><code>pip install --upgrade "clickhouse-connect[rust,arrow]" </code></pre> <p>Note that PyArrow is required for Rust NumPy and Pandas output paths in 1.8. Applications using standard Python rows, block streams, and inserts can use the smaller installation:</p> <pre lang="bash"><code>pip install --upgrade "clickhouse-connect[rust]" </code></pre> <p>The compiled codec is published separately as <code>clickhouse-connect-core</code> 0.2.0. Existing installations do not install it automatically. The codec, packaging, and dependency set are currently experimental.</p> <h3>Geometry and Native types</h3> <ul> <li>Added Native query and insert support for <code>Geometry</code> and <code>MultiPoint</code> in both codecs. Inserting <code>MultiPoint</code> requires ClickHouse 26.8 or later. <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/pull/1018">#1018</a></li> <li>Added support for all ClickHouse <code>Interval*</code> types.</li> <li>Expanded <code>Time64</code> parsing, reflection, query, and insert support across server-valid precisions.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/ClickHouse/clickhouse-connect/blob/main/CHANGELOG.md">clickhouse-connect's changelog</a>.</em></p> <blockquote> <h2>1.8.0, 2026-09-02</h2> <h3>Improvements</h3> <ul> <li>Added native query and insert support for the ClickHouse <code>MultiPoint</code> type in the Python and Rust codecs, including containers and SQLAlchemy reflection. Inserting <code>MultiPoint</code> values requires ClickHouse 26.8 or later. <code>Geometry</code> now supports the <code>MultiPoint</code> member added in ClickHouse 26.8 at Native discriminator 6 while preserving the original discriminators 0 through 5. <code>Geometry</code> also supports the <code>typed</code> query format when selected with the <code>Geometry</code> type key. <code>Variant</code> format settings do not apply to <code>Geometry</code>. The Rust extra now requires <code>clickhouse-connect-core>=0.2.0,<0.3</code>.</li> <li>Rust codec setup guidance now recommends <code>pip install "clickhouse-connect[rust,arrow]"</code> for evaluation because its NumPy and Pandas output paths require PyArrow in 1.8. The lean <code>rust</code> extra remains available for standard Python row queries, block streams, and inserts. A missing PyArrow dependency now logs a warning before <code>native_codec="rust"</code> falls back to Python.</li> </ul> <h3>Bug Fixes</h3> <ul> <li>SQLAlchemy and Alembic now connect and reflect with <code>native_codec="rust_strict"</code>. Dialect metadata statements are marked as driver-internal, so they decode with the Python codec in every codec mode instead of tripping the strict <code>query_formats</code> check. Compatible ordinary statements still use the Rust codec.</li> <li>Rust codec streaming queries now honor <code>show_clickhouse_errors</code>. Mid-stream server errors return the generic message when the setting is <code>False</code> and drop the server version trailer when it is <code>"scrub"</code>, matching the Python codec on both the sync and async clients.</li> <li>Rust codec streams that are discarded without entering their context now close their response and stop the read-ahead thread as soon as the stream is discarded. Previously each abandoned stream retained a thread, socket, and buffered response data for the life of the process.</li> </ul> <h3>Compatibility</h3> <ul> <li>The experimental Rust codec targets Python codec parity, with documented differences in some result cell types, insert validation errors, accepted insert conversions, and <code>Dynamic</code> shared-value decoding. See the Rust codec documentation for the full list of known behavior differences.</li> </ul> <p>See the <code>1.8.0rc1</code>, <code>1.8.0rc2</code>, and <code>1.8.0rc3</code> entries below for the other changes included in 1.8.0.</p> <h2>1.8.0rc3, 2026-08-27</h2> <h3>Improvements</h3> <ul> <li>SQLAlchemy JSON typed-path validation now reads ClickHouse type arity and numeric bounds from shared driver metadata. Invalid hints that combine a wrong outer argument count with a malformed surplus nested argument now report the outer arity error instead of the nested parsing error. Accepted hints and canonical type names are unchanged. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/990">#990</a>.</li> <li>SQLAlchemy <code>JSON</code> columns can now declare ClickHouse typed paths with <code>typed_paths={...}</code> or simple keyword shorthand, plus dynamic path and type limits and plain and regular expression skip rules. JSON arguments use the same canonical ordering as server reflection. Alembic autogeneration renders configured JSON types as valid Python and round-trips them without a follow-up type migration. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/981">#981</a>.</li> <li>Driver <code>JSON</code> type names now use the server's canonical argument ordering, omit explicit default limits, and expose decoded <code>skip_paths</code> and <code>skip_regexps</code>. This changes the <code>.name</code> and skips values reflected to all driver users.</li> <li><code>Time64</code> now accepts every server-valid precision from 0 through 9 for parsing, reflection, native queries, and DataFrame inserts. NumPy and Pandas queries remain limited to precisions 0, 3, 6, and 9 and raise <code>ProgrammingError</code> otherwise.</li> <li><code>Dynamic</code> type names now preserve the <code>max_types</code> argument.</li> <li>Generic <code>Enum</code> definitions are accepted and canonicalized to <code>Enum8</code> or <code>Enum16</code> by value range.</li> <li>Type name parsing now handles double quoted identifiers and quoted string literals uniformly. Some type names that previously failed to parse now parse.</li> </ul> <h3>Bug Fixes</h3> <ul> <li>Rust codec NumPy and Pandas queries now support <code>Time64(0)</code> with second resolution, including typed JSON paths. Unsupported statically declared <code>Time64</code> scales, including nullable, container, <code>Nested</code>, <code>Variant</code>, and typed JSON types, now raise the same <code>ProgrammingError</code> as the Python codec instead of leaking a <code>KeyError</code>. The remaining <code>Dynamic(Time64)</code> cell type and validation limitations are documented.</li> <li>Empty <code>Tuple()</code> definitions no longer parse as if they contain a phantom element, and their columns now consume and emit the Native format's per-row marker bytes. Root, nested, named, array-wrapped, and nullable empty tuples now query and insert without misaligning adjacent columns, corrupting values, or failing insert block sizing. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/971">#971</a>.</li> <li>Alembic autogenerate now emits valid Python for <code>SimpleAggregateFunction</code> and <code>AggregateFunction</code> columns, including aggregate names that collide with Python builtins and arguments containing named <code>Tuple</code> types. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/992">#992</a>.</li> <li>SQLAlchemy can now reflect standalone <code>Variant</code> columns, and Alembic autogeneration can compare and round-trip them. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/989">#989</a>.</li> <li>Alembic autogenerate now emits valid, lossless Python for <code>Nested</code> and named <code>Tuple</code> columns, including when they are inside another container. Generated upgrades preserve field names and no longer produce repeated type migrations. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/988">#988</a>.</li> <li>Source builds no longer swallow unrelated packaging errors and retry them as a pure Python build. The extensions are now declared optional so setuptools handles the fallback, and a new <code>CLICKHOUSE_CONNECT_REQUIRE_C=1</code> makes an extension build failure fatal for CI and redistributable wheels. The default fallback now covers only compiler and linker failures, and a missing Cython outside skip mode fails the build. A default-mode fallback wheel keeps its platform and interpreter tags instead of being tagged <code>py3-none-any</code>. <code>CLICKHOUSE_CONNECT_SKIP_CYTHON=1</code> still skips the extensions entirely, and setting both flags is an error. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/994">#994</a>.</li> <li>The client now sorts and deduplicates <code>Variant</code> members to the server's canonical order. Previously a client-declared <code>Variant</code> type with non-canonical member order wrote native insert data under the wrong member types.</li> <li><code>Time64</code> negative timedelta inserts previously stored incorrect values. <code>Time64</code> NumPy timedelta inserts previously stored wrong magnitudes. Both now store correct tick values, and out-of-range NumPy values are rejected instead of incorrectly wrapping.</li> <li>Pandas <code>Timedelta</code> values in <code>Time</code> and <code>Time64</code> row inserts now convert like <code>timedelta</code>. Nullable timedelta DataFrame columns now insert missing values as <code>NULL</code> on Pandas 3 instead of raising <code>TypeError</code>.</li> <li>SQLAlchemy column DDL now compiles <code>TypeDecorator</code> and <code>with_variant()</code> types through the active ClickHouse dialect. Dialect-aware types such as a decorator that selects <code>DateTime64(6, 'UTC')</code> no longer fall back to generic <code>DATETIME</code> in <code>CREATE TABLE</code> and related column DDL. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/984">#984</a>.</li> <li>IPv6 hosts are now bracketed when building the connection URI, so <code>get_client(host="2001:db8::1")</code> connects instead of producing an unusable URI where the first colon of the address reads as the port separator. Applies to both the sync and async clients. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/998">#998</a>.</li> </ul> <h3>Compatibility</h3> <ul> <li>SQLAlchemy: the <code>alembic</code> extra now requires <code>alembic>=1.18</code>. Earlier versions satisfied the package metadata but failed when importing the ClickHouse Alembic integration because the priority-dispatch API it uses was added in Alembic 1.18. See <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/pull/983">#983</a>.</li> </ul> <h2>1.8.0rc2, 2026-08-20</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/eeb8530f9ecc322d80eb5762b9478655c49ade29"><code>eeb8530</code></a> Release/1.8.0 (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/1017">#1017</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/16ac666b30fe2bda705b35521288ad3db9bc958d"><code>16ac666</code></a> ci: refresh ClickHouse server version matrix (drop 25.8 + 26.5, add 26.8) (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/1">#1</a>...</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/9822f9556161097f8ed9383efb725b799dedc7f2"><code>9822f95</code></a> Bracket IPv6 hosts when building the connection URI (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/1002">#1002</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/ccbf29aa4bebf585f82c09041961cf9f39e1da0d"><code>ccbf29a</code></a> fix empty Tuple parsing and serialization (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/1010">#1010</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/5a72a9995b3dc531763897407dfa679af5243ed2"><code>5a72a99</code></a> fix: require explicit pure-Python source builds (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/995">#995</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/ee03571679d161c6865fb31486a2b013fe718a4d"><code>ee03571</code></a> fix Alembic aggregate function rendering (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/1007">#1007</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/33eaa8cab7df4cc5e14755da28ffa8df92f315a0"><code>33eaa8c</code></a> centralize ClickHouse type argument metadata (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/1006">#1006</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/95f8936facf9a7b41b4db0d9efc05cd4c908d80a"><code>95f8936</code></a> fix sqa variant reflection (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/1000">#1000</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/3700e3cc4e1b8a54173ea72294232000c6e2c8cc"><code>3700e3c</code></a> fix Alembic named container rendering (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/993">#993</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/842e4131e76cc44cef00052a48f695c57a5c187c"><code>842e413</code></a> add SQLAlchemy JSON type hints and canonical driver type names (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/991">#991</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ClickHouse/clickhouse-connect/compare/v1.7.2...v1.8.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
