dependabot[bot] opened a new pull request, #45690: URL: https://github.com/apache/superset/pull/45690
Updates the requirements on [pyathena](https://github.com/pyathena-dev/PyAthena) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pyathena-dev/PyAthena/releases">pyathena's releases</a>.</em></p> <blockquote> <h2>v4.1.0</h2> <h2>Breaking changes</h2> <ul> <li>The asyncio SQLAlchemy adapter classes in <code>pyathena.aio.sqlalchemy.base</code> are renamed, with no aliases for the old names: <code>AsyncAdapt_pyathena_cursor</code> → <code>AthenaAioAdaptedCursor</code>, <code>AsyncAdapt_pyathena_connection</code> → <code>AthenaAioAdaptedConnection</code>, <code>AsyncAdapt_pyathena_dbapi</code> → <code>AthenaAioAdaptedDBAPI</code> (<a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/1151">#1151</a>). Code that imports the old names must use the new ones. Engines created with the <code>awsathena+aio*</code> URLs are unaffected.</li> </ul> <h2>Behavior changes</h2> <ul> <li>PandasCursor parses CSV results with <code>json</code> columns with pandas' default <code>low_memory=True</code> and converts the <code>json</code> columns after parsing (<a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/1141">#1141</a>). pandas now applies these options to the JSON text instead of the converted value: <ul> <li><code>parse_dates</code> naming a <code>json</code> column no longer parses a JSON string such as <code>"2020-01-01"</code>, which keeps its quotes; cast in SQL instead.</li> <li>With <code>engine="python"</code> and NA options such as <code>keep_default_na=True</code>, a JSON string that matches an NA token, such as <code>"NA"</code>, stays a string; SQL NULL is still <code>None</code>.</li> </ul> </li> </ul> <h2>Benchmark</h2> <p>The benchmark of this release is in <code>benchmarks/history/2026-10-13-437276e1.md</code> and <code>benchmarks/history/2026-10-13-437276e1-filesystem.md</code> (<a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/1157">#1157</a>). Highlights:</p> <ul> <li>PandasCursor reads CSV results faster than in 4.0.0, for example 10 million flat rows in 74 seconds instead of 110 (<a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/1134">#1134</a>, <a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/1144">#1144</a>).</li> <li>Chunked UNLOAD reads in PandasCursor and PolarsCursor stay at about 600 MiB for 10 million rows (<a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/1135">#1135</a>, <a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/1143">#1143</a>).</li> </ul> <h2>What's Changed</h2> <ul> <li>Run benchmark fleets on Spot hosts that retire when done by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/1129">pyathena-dev/PyAthena#1129</a></li> <li>Record the PyAthena 4.0.0 large-data benchmark run by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/1130">pyathena-dev/PyAthena#1130</a></li> <li>Prefetch CSV result files while pandas parses them by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/1134">pyathena-dev/PyAthena#1134</a></li> <li>Read chunked UNLOAD results in bounded memory by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/1135">pyathena-dev/PyAthena#1135</a></li> <li>Close asyncio cursor result sets in a thread by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/1142">pyathena-dev/PyAthena#1142</a></li> <li>Benchmark read_sql_query and trim the next benchmark selection by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/1146">pyathena-dev/PyAthena#1146</a></li> <li>Start chunked UNLOAD reads sooner and pre-buffer large Parquet files one row group at a time by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/1143">pyathena-dev/PyAthena#1143</a></li> <li>Convert json CSV columns after parsing instead of forcing low_memory=False by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/1141">pyathena-dev/PyAthena#1141</a></li> <li>Prefetch CSV results in S3FSCursor and chunked reads, read Arrow CSV in parallel by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/1144">pyathena-dev/PyAthena#1144</a></li> <li>Resume benchmark fleet jobs after Spot interruptions by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/1145">pyathena-dev/PyAthena#1145</a></li> <li>Rename the asyncio SQLAlchemy adapter classes to CapWords and enforce N801 by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/1151">pyathena-dev/PyAthena#1151</a></li> <li>Document the fsspec cache types that cache_type accepts by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/1150">pyathena-dev/PyAthena#1150</a></li> <li>Add a filesystem suite comparing S3FileSystem and AioS3FileSystem by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/1152">pyathena-dev/PyAthena#1152</a></li> <li>Allow c8gn.2xlarge benchmark hosts for the filesystem suite by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/1154">pyathena-dev/PyAthena#1154</a></li> <li>Generalize the parallel read-ahead and read small UNLOAD files in parallel ranges by <a href="https://github.com/laughingman7743"><code>@laughingman7743</code></a> in <a href="https://redirect.github.com/pyathena-dev/PyAthena/pull/1153">pyathena-dev/PyAthena#1153</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pyathena-dev/PyAthena/compare/v4.0.0...v4.1.0">https://github.com/pyathena-dev/PyAthena/compare/v4.0.0...v4.1.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pyathena-dev/PyAthena/commit/437276e18c22a3f508c9d436f8e9fa4a0096d439"><code>437276e</code></a> Merge pull request <a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/1153">#1153</a> from pyathena-dev/perf/1149-read-ahead</li> <li><a href="https://github.com/pyathena-dev/PyAthena/commit/a3619fb62aef3472644400c6f3960397977ced9b"><code>a3619fb</code></a> Close a read-ahead stream on any constructor failure</li> <li><a href="https://github.com/pyathena-dev/PyAthena/commit/abf06400934c614e234d37ead5c837702c544ae8"><code>abf0640</code></a> Simplify the read-ahead stream's option checks and tests</li> <li><a href="https://github.com/pyathena-dev/PyAthena/commit/7fe34ddf1b1670d592ae5cedb6ef2eff85580ce8"><code>7fe34dd</code></a> Reject reads once closing starts and read small files in the block size</li> <li><a href="https://github.com/pyathena-dev/PyAthena/commit/9932bfdddcd2e79f2ca2ad9f09381d8f8de14387"><code>9932bfd</code></a> Drop the from_arrow_file() and from_s3() constructors of ReadAheadStream</li> <li><a href="https://github.com/pyathena-dev/PyAthena/commit/f7657515cab62d93bd7a0a5b761f9e9c4cc22b66"><code>f765751</code></a> Synchronize the queued-read close test on the executor's shutdown</li> <li><a href="https://github.com/pyathena-dev/PyAthena/commit/16e5970ce8ede2aa8e6f8739acba39744c7c4400"><code>16e5970</code></a> Do not wait for cancelled parts when closing the read-ahead stream</li> <li><a href="https://github.com/pyathena-dev/PyAthena/commit/28ecc6c5e5768ed11503604f8c665b4807870611"><code>28ecc6c</code></a> Rename the read-ahead module to reader and harden its close and S3 open</li> <li><a href="https://github.com/pyathena-dev/PyAthena/commit/4490fac969345156fb2bd204f05aec9d80a89a44"><code>4490fac</code></a> Merge pull request <a href="https://redirect.github.com/pyathena-dev/PyAthena/issues/1154">#1154</a> from pyathena-dev/feat/685-network-optimized-host</li> <li><a href="https://github.com/pyathena-dev/PyAthena/commit/0d8657d9a31eb54c7468366e814ef586eae068a2"><code>0d8657d</code></a> Scope the host bandwidth bound to reads and writes</li> <li>Additional commits viewable in <a href="https://github.com/pyathena-dev/PyAthena/compare/v3.36.0...v4.1.0">compare view</a></li> </ul> </details> <br /> 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]
