Repository navigation
Improvements
- Faster conversion of
timestamp,date,time,timestamp with time zone, andtime with time zonevalues in the rows ofCursor,DictCursor,S3FSCursor, and their async variants, of thetimestamp with time zone,time, andtime with time zonevalues in the rows ofArrowCursorandPolarsCursor, and oftimecolumns inPandasCursor's CSV reads (#1308, #1312). - With Polars 1.x, an unchunked
PolarsCursorread of a CSV result no longer holds a second copy of the result file, so its peak memory returns to that of 4.1.0 (#1307, #1313).
Bug fixes
PandasCursorno longer fails whenparse_datesleaves out atimecolumn, or whenindex_colnames atimecolumn (#1308, #1312).
Behavior changes
- The temporal converters parse with
fromisoformat(), which accepts more ISO 8601 forms than the previousstrptime()formats, such as aTseparator, basic forms like20240102, and a trailing offset. Athena does not write these forms, so only text from other sources is affected: it now converts instead of raisingValueError(#1312). - An
encodingother than UTF-8 given toPolarsCursor.execute()is not decoded for an unchunked CSV read and makes the read fail withOperationalError, as in 4.1.0. Athena writes CSV results in UTF-8 (#1313).
What's Changed
- Record the PyAthena 4.2.0 benchmark runs by @laughingman7743 in #1310
- Parse temporal text with fromisoformat and convert PandasCursor time columns after reading (GH-1308) by @laughingman7743 in #1312
- Pass the open CSV result file to Polars instead of its bytes (GH-1307) by @laughingman7743 in #1313
- Bump certifi from 2024.12.14 to 2026.10.19 by @dependabot[bot] in #1314
Full Changelog: v4.2.0...v4.2.1