This is the changelog for arro3. pyo3-arrow has a separate changelog.
- A bare
DataTypeis now exported through__arrow_c_schema__(such as when passing topyarrow.field) withnullable: true. This is required to match equality semantics with pyarrow. by @kylebarron in #483
- fix!: Fix type equality between arro3 and pyarrow by @kylebarron in #483
Full Changelog: https://github.com/kylebarron/arro3/compare/py-v0.7.0...py-v0.8.0
- feat!: Make
Table.remove_columnreturnIndexErrorby @surister in #442 - fix: Rename
namestocolumnsparameter inTables.drop_columnsby @surister in #453 - fix: Properly return
IndexErroron incorrect index inTable.add_columnby @surister in #455
- ci: Build 3.14t wheels by @kylebarron in #428
- feat: Make
Table.append_columnsupportArrayby @surister in #433 - feat: Make
Table.set_columnandTable.add_columnsupportArrayandArrayReaderby @surister in #437 - fix: off by one when checking if an index is valid by @surister in #443
- feat: Implement
Table.drop_columnsby @surister in #440 - fix:
Table.renamenot modifying internals batches schema by @surister in #457 - fix: Improve error messaging by adding more information by @surister in #447
- feat: Match
RecordBatch.from_arraysclosely to pyarrow by @AlenkaF in #461
- fix: Preserve schema metadata in RecordBatch PyCapsule export by @bretttully in #474
- fix: Update license metadata in
pyproject.tomlby @kylebarron in #480
- chore: Bump to arrow 57 by @kylebarron in #424
- chore: Bump arro3 to pyo3 0.27 by @kylebarron in #425
- @surister made their first contribution in #433
- @AlenkaF made their first contribution in #461
- @bretttully made their first contribution in #474
Full Changelog: https://github.com/kylebarron/arro3/compare/py-v0.6.5...py-v0.7.0
- fix(ci): Ensure we use Python 3.11 interpreter for building abi3 wheels #416
- feat(arro3): Freethreading - module markers + CI by @H-Plus-Time in #275
- feat: Add support for Decimal scalar type conversion to Python by @kylebarron in #412
- ci: Build abi3 wheels where possible, falling back to version-specific wheels by @kylebarron in #408
- @H-Plus-Time made their first contribution in #275
Full Changelog: https://github.com/kylebarron/arro3/compare/py-v0.6.3...py-v0.6.4
- feature(arro3-core): Maintain timezone info when converting scalar tz to datetime.datetime (#400)
- Enable sdist artifacts #398
- sdist is now pushed to PyPI for all packages
- fix(arro3-io): use patched
parquetcrate to fix buildingarro3-iofor s390x architectures. #388. This also updatesarrowcrates to 56.1.0.
No breaking changes.
- Expanded dtype support in
Array.from_numpy. It now additionally supportsdatetime64,timedelta64, fixed-width strings and bytes, variable-width strings, andobjectdtypes that containstrorbytes. - Support FixedSizeBinary in Array constructor by @kylebarron in #358
- Add mask parameter to list/struct constructors by @kylebarron in #382
- Preserve exceptions when Arrow PyCapsule dunder method fails by @kylebarron in #374
- Use Rust
arrow56 by @kylebarron in #368. This includes all changes in the upstream Changelog.
Full Changelog: https://github.com/kylebarron/arro3/compare/py-v0.5.1...py-v0.6.0
- chore: Use released pyo3-file by @kylebarron in #341
- feat: Support serializing binary view and string view array types to numpy by @kylebarron in #348
- fix(arro3-core): Add typing-extensions as a dependency for arro3-core by @kylebarron in #350
- feat(arro3-core): Improved repr for Array and ChunkedArray by @kylebarron in #351
- chore: bump dev versions for geoarrow-types and pyarrow by @kylebarron in #352
Full Changelog: https://github.com/kylebarron/arro3/compare/py-v0.5.0...py-v0.5.1
- feat: access value_fields and inner fields by @ion-elgreco in #334
- feat(arro3-core): Basic data rendering in
__repr__by @kylebarron in #335
- feat(arro3-core): Make
DataTypehashable by @kylebarron in #336 - test(arro3-core): Check that
Schemais iterable by @kylebarron in #338
- Add sphinx interlinking for
ArrowStreamExportableby @kylebarron in #339
- @ion-elgreco made their first contribution in #334
Full Changelog: https://github.com/kylebarron/arro3/compare/py-v0.4.6...py-v0.5.0
- Use 2_24 for aarch64 wheels by @kylebarron in #279
- Allow None as input into Array constructor by @kylebarron in #294
- Fix rendering
__init__in docs by @kylebarron in #295 - Subclass Buffer type from collections.abc.Buffer by @kylebarron in #297
Full Changelog: https://github.com/kylebarron/arro3/compare/py-v0.4.5...py-v0.4.6
- Build wheels for linux aarch64. #277
- Raise IndexError and KeyError for invalid column access #272
- Build wheels for Python 3.13 by @kylebarron in #260
- Raise RuntimeWarning when compiled in debug mode by @kylebarron in #255
- Add
Buffer.to_bytesby @kylebarron in #251 - Make buffers have a length by @martindurant in #252
- @martindurant made their first contribution in #252
Full Changelog: https://github.com/kylebarron/arro3/compare/py-v0.4.2...py-0.4.3
- Ensure total numpy v2 support by @kylebarron in #226
- Fix segfault when releasing buffer protocol object by @kylebarron in #231
Full Changelog: https://github.com/kylebarron/arro3/compare/py-v0.4.1...py-v0.4.2
- Support for string view and binary view data types (upgrade to
arrow53.1) by @kylebarron in #219 - Fix min/max with datetimes with timezones by @kylebarron in #220
Full Changelog: https://github.com/kylebarron/arro3/compare/py-v0.4.0...py-v0.4.1
-
Zero-copy buffer protocol data import by @kylebarron in #204
-
New compute functions:
-
Implement scalar equality by @kylebarron in #205
-
Improved docstrings by @kylebarron in #198
-
Add installation section to readme by @kylebarron in #189
- Fix data type bit width by @kylebarron in #190
- Fix return type of
RecordBatch.columnby @kylebarron in #191
- @3ok made their first contribution in #210
Full Changelog: https://github.com/kylebarron/arro3/compare/py-v0.3.1...py-v0.4.0
- Enable IPC compression by @kylebarron in #187
Full Changelog: https://github.com/kylebarron/arro3/compare/py-v0.3.0...py-v0.3.1
- Wheels for pyodide are auto-built on CI and published to Github releases.
- Ensure Parquet schema metadata is added to arrow table by @kylebarron in #137
- Access dictionary array keys and values by @kylebarron in #139
- Support reading Parquet from file objects by @kylebarron in #142
- Implement dictionary encoding by @kylebarron in #136
- Support for Arrow scalars and converting to Python objects by @kylebarron in #159
- Move functional accessors to core module by @kylebarron in #151
- Support for python buffer protocol by @kylebarron in #156
- Fix field metadata propagation by @kylebarron in #150
- Set strip=true for maturin builds by @kylebarron in #155
- Support
__getitem__with a negative index by @kylebarron in #171 - support f16 in from_numpy by @kylebarron in #154
- Fix writing to file by @kylebarron in #138
Full Changelog: https://github.com/kylebarron/arro3/compare/py-v0.2.1...py-v0.3.0
- Fix API docs (#131)
- In general, high parity with pyarrow for most data access and management. Most of the
Table,ChunkedArray,Array,RecordBatchReader,Schema, andFieldmethods and behavior should be similar to pyarrow. - An
ArrayReader, an abstraction beyondRecordBatchReaderto allow a stream of arrow arrays that are not RecordBatches. - Readers and writers for Parquet, Arrow IPC, CSV, and JSON.
- Initial compute functions.
- Initial Python tests.
- Improved documentation, both in the type stubs and in the docs website.
- Pyodide wheel support.
- Initial release of arro3-core v0.1.