| <!--- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| |
| # DataFusion Python Changelog |
| |
| ## [42.0.0](https://github.com/apache/datafusion-python/tree/42.0.0) (2024-10-06) |
| |
| This release consists of 20 commits from 6 contributors. See credits at the end of this changelog for more information. |
| |
| **Implemented enhancements:** |
| |
| - feat: expose between [#868](https://github.com/apache/datafusion-python/pull/868) (mesejo) |
| - feat: make register_csv accept a list of paths [#883](https://github.com/apache/datafusion-python/pull/883) (mesejo) |
| - feat: expose http object store [#885](https://github.com/apache/datafusion-python/pull/885) (mesejo) |
| |
| **Fixed bugs:** |
| |
| - fix: Calling `count` on a pyarrow dataset results in an error [#843](https://github.com/apache/datafusion-python/pull/843) (Michael-J-Ward) |
| |
| **Other:** |
| |
| - Upgrade datafusion [#867](https://github.com/apache/datafusion-python/pull/867) (emgeee) |
| - Feature/aggregates as windows [#871](https://github.com/apache/datafusion-python/pull/871) (timsaucer) |
| - Fix regression on register_udaf [#878](https://github.com/apache/datafusion-python/pull/878) (timsaucer) |
| - build(deps): upgrade setup-protoc action and protoc version number [#873](https://github.com/apache/datafusion-python/pull/873) (Michael-J-Ward) |
| - build(deps): bump prost-types from 0.13.2 to 0.13.3 [#881](https://github.com/apache/datafusion-python/pull/881) (dependabot[bot]) |
| - build(deps): bump prost from 0.13.2 to 0.13.3 [#882](https://github.com/apache/datafusion-python/pull/882) (dependabot[bot]) |
| - chore: remove XFAIL from passing tests [#884](https://github.com/apache/datafusion-python/pull/884) (Michael-J-Ward) |
| - Add user defined window function support [#880](https://github.com/apache/datafusion-python/pull/880) (timsaucer) |
| - build(deps): bump syn from 2.0.77 to 2.0.79 [#886](https://github.com/apache/datafusion-python/pull/886) (dependabot[bot]) |
| - fix example of reading parquet from s3 [#896](https://github.com/apache/datafusion-python/pull/896) (sir-sigurd) |
| - release-testing [#889](https://github.com/apache/datafusion-python/pull/889) (Michael-J-Ward) |
| - chore(bench): fix create_tables.sql for tpch benchmark [#897](https://github.com/apache/datafusion-python/pull/897) (Michael-J-Ward) |
| - Add physical and logical plan conversion to and from protobuf [#892](https://github.com/apache/datafusion-python/pull/892) (timsaucer) |
| - Feature/instance udfs [#890](https://github.com/apache/datafusion-python/pull/890) (timsaucer) |
| - chore(ci): remove Mambaforge variant from CI [#894](https://github.com/apache/datafusion-python/pull/894) (Michael-J-Ward) |
| - Use OnceLock to store TokioRuntime [#895](https://github.com/apache/datafusion-python/pull/895) (Michael-J-Ward) |
| |
| ## Credits |
| |
| Thank you to everyone who contributed to this release. Here is a breakdown of commits (PRs merged) per contributor. |
| |
| ``` |
| 7 Michael J Ward |
| 5 Tim Saucer |
| 3 Daniel Mesejo |
| 3 dependabot[bot] |
| 1 Matt Green |
| 1 Sergey Fedoseev |
| ``` |
| |
| Thank you also to everyone who contributed in other ways such as filing issues, reviewing PRs, and providing feedback on this release. |
| |
| ## [41.0.0](https://github.com/apache/datafusion-python/tree/41.0.0) (2024-09-09) |
| |
| This release consists of 19 commits from 6 contributors. See credits at the end of this changelog for more information. |
| |
| **Implemented enhancements:** |
| |
| - feat: enable list of paths for read_csv [#824](https://github.com/apache/datafusion-python/pull/824) (mesejo) |
| - feat: better exception and message for table not found [#851](https://github.com/apache/datafusion-python/pull/851) (mesejo) |
| - feat: make cast accept built-in Python types [#858](https://github.com/apache/datafusion-python/pull/858) (mesejo) |
| |
| **Other:** |
| |
| - chore: Prepare for 40.0.0 release [#801](https://github.com/apache/datafusion-python/pull/801) (andygrove) |
| - Add typing-extensions dependency to pyproject [#805](https://github.com/apache/datafusion-python/pull/805) (timsaucer) |
| - Upgrade deps to datafusion 41 [#802](https://github.com/apache/datafusion-python/pull/802) (Michael-J-Ward) |
| - Fix SessionContext init with only SessionConfig [#827](https://github.com/apache/datafusion-python/pull/827) (jcrist) |
| - build(deps): upgrade actions/{upload,download}-artifact@v3 to v4 [#829](https://github.com/apache/datafusion-python/pull/829) (Michael-J-Ward) |
| - Run ruff format in CI [#837](https://github.com/apache/datafusion-python/pull/837) (timsaucer) |
| - Add PyCapsule support for Arrow import and export [#825](https://github.com/apache/datafusion-python/pull/825) (timsaucer) |
| - Feature/expose when function [#836](https://github.com/apache/datafusion-python/pull/836) (timsaucer) |
| - Add Window Functions for use with function builder [#808](https://github.com/apache/datafusion-python/pull/808) (timsaucer) |
| - chore: fix typos [#844](https://github.com/apache/datafusion-python/pull/844) (mesejo) |
| - build(ci): use proper mac runners [#841](https://github.com/apache/datafusion-python/pull/841) (Michael-J-Ward) |
| - Set of small features [#839](https://github.com/apache/datafusion-python/pull/839) (timsaucer) |
| - chore: fix docstrings, typos [#852](https://github.com/apache/datafusion-python/pull/852) (mesejo) |
| - chore: Use datafusion re-exported dependencies [#856](https://github.com/apache/datafusion-python/pull/856) (emgeee) |
| - add guidelines on separating python and rust code [#860](https://github.com/apache/datafusion-python/pull/860) (Michael-J-Ward) |
| - Update Aggregate functions to take builder parameters [#859](https://github.com/apache/datafusion-python/pull/859) (timsaucer) |
| |
| ## Credits |
| |
| Thank you to everyone who contributed to this release. Here is a breakdown of commits (PRs merged) per contributor. |
| |
| ``` |
| 7 Tim Saucer |
| 5 Daniel Mesejo |
| 4 Michael J Ward |
| 1 Andy Grove |
| 1 Jim Crist-Harif |
| 1 Matt Green |
| ``` |
| |
| Thank you also to everyone who contributed in other ways such as filing issues, reviewing PRs, and providing feedback on this release. |
| |
| ## [40.0.0](https://github.com/apache/datafusion-python/tree/40.0.0) (2024-08-09) |
| |
| This release consists of 18 commits from 4 contributors. See credits at the end of this changelog for more information. |
| |
| - Update changelog for 39.0.0 [#742](https://github.com/apache/datafusion-python/pull/742) (andygrove) |
| - build(deps): bump uuid from 1.8.0 to 1.9.1 [#744](https://github.com/apache/datafusion-python/pull/744) (dependabot[bot]) |
| - build(deps): bump mimalloc from 0.1.42 to 0.1.43 [#745](https://github.com/apache/datafusion-python/pull/745) (dependabot[bot]) |
| - build(deps): bump syn from 2.0.67 to 2.0.68 [#746](https://github.com/apache/datafusion-python/pull/746) (dependabot[bot]) |
| - Tsaucer/find window fn [#747](https://github.com/apache/datafusion-python/pull/747) (timsaucer) |
| - Python wrapper classes for all user interfaces [#750](https://github.com/apache/datafusion-python/pull/750) (timsaucer) |
| - Expose array sort [#764](https://github.com/apache/datafusion-python/pull/764) (timsaucer) |
| - Upgrade protobuf and remove GH Action googletest-installer [#773](https://github.com/apache/datafusion-python/pull/773) (Michael-J-Ward) |
| - Upgrade Datafusion 40 [#771](https://github.com/apache/datafusion-python/pull/771) (Michael-J-Ward) |
| - Bugfix: Calling count with None arguments [#768](https://github.com/apache/datafusion-python/pull/768) (timsaucer) |
| - Add in user example that compares a two different approaches to UDFs [#770](https://github.com/apache/datafusion-python/pull/770) (timsaucer) |
| - Add missing exports for wrapper modules [#782](https://github.com/apache/datafusion-python/pull/782) (timsaucer) |
| - Add PyExpr to_variant conversions [#793](https://github.com/apache/datafusion-python/pull/793) (Michael-J-Ward) |
| - Add missing expressions to wrapper export [#795](https://github.com/apache/datafusion-python/pull/795) (timsaucer) |
| - Doc/cross reference [#791](https://github.com/apache/datafusion-python/pull/791) (timsaucer) |
| - Re-Enable `num_centroids` to `approx_percentile_cont` [#798](https://github.com/apache/datafusion-python/pull/798) (Michael-J-Ward) |
| - UDAF process all state variables [#799](https://github.com/apache/datafusion-python/pull/799) (timsaucer) |
| |
| ## Credits |
| |
| Thank you to everyone who contributed to this release. Here is a breakdown of commits (PRs merged) per contributor. |
| |
| ``` |
| 9 Tim Saucer |
| 4 Michael J Ward |
| 3 dependabot[bot] |
| 2 Andy Grove |
| ``` |
| |
| Thank you also to everyone who contributed in other ways such as filing issues, reviewing PRs, and providing feedback on this release. |
| |
| ## [39.0.0](https://github.com/apache/datafusion-python/tree/39.0.0) (2024-06-25) |
| |
| **Merged pull requests:** |
| |
| - ci: add substrait feature to linux builds [#720](https://github.com/apache/datafusion-python/pull/720) (Michael-J-Ward) |
| - Docs deploy action [#721](https://github.com/apache/datafusion-python/pull/721) (Michael-J-Ward) |
| - update deps [#723](https://github.com/apache/datafusion-python/pull/723) (Michael-J-Ward) |
| - Upgrade maturin [#725](https://github.com/apache/datafusion-python/pull/725) (Michael-J-Ward) |
| - Upgrade datafusion 39 [#728](https://github.com/apache/datafusion-python/pull/728) (Michael-J-Ward) |
| - use ScalarValue::to_pyarrow to convert to python object [#731](https://github.com/apache/datafusion-python/pull/731) (Michael-J-Ward) |
| - Pyo3 `Bound<'py, T>` api [#734](https://github.com/apache/datafusion-python/pull/734) (Michael-J-Ward) |
| - github test action: drop python 3.7, add python 3.12 [#736](https://github.com/apache/datafusion-python/pull/736) (Michael-J-Ward) |
| - Pyarrow filter pushdowns [#735](https://github.com/apache/datafusion-python/pull/735) (Michael-J-Ward) |
| - build(deps): bump syn from 2.0.66 to 2.0.67 [#738](https://github.com/apache/datafusion-python/pull/738) (dependabot[bot]) |
| - Pyo3 refactorings [#740](https://github.com/apache/datafusion-python/pull/740) (Michael-J-Ward) |
| - UDAF `sum` workaround [#741](https://github.com/apache/datafusion-python/pull/741) (Michael-J-Ward) |
| |
| ## [38.0.1](https://github.com/apache/datafusion-python/tree/38.0.1) (2024-05-25) |
| |
| **Implemented enhancements:** |
| |
| - feat: add python bindings for ends_with function [#693](https://github.com/apache/datafusion-python/pull/693) (richtia) |
| - feat: expose `named_struct` in python [#700](https://github.com/apache/datafusion-python/pull/700) (Michael-J-Ward) |
| |
| **Merged pull requests:** |
| |
| - Add document about basics of working with expressions [#668](https://github.com/apache/datafusion-python/pull/668) (timsaucer) |
| - chore: Update Python release process now that DataFusion is TLP [#674](https://github.com/apache/datafusion-python/pull/674) (andygrove) |
| - Fix Docs [#676](https://github.com/apache/datafusion-python/pull/676) (Michael-J-Ward) |
| - Add examples from TPC-H [#666](https://github.com/apache/datafusion-python/pull/666) (timsaucer) |
| - fix conda nightly builds, attempt 2 [#689](https://github.com/apache/datafusion-python/pull/689) (Michael-J-Ward) |
| - Upgrade to datafusion 38 [#691](https://github.com/apache/datafusion-python/pull/691) (Michael-J-Ward) |
| - chore: update to maturin's recommended project layout for rust/python… [#695](https://github.com/apache/datafusion-python/pull/695) (Michael-J-Ward) |
| - chore: update cargo deps [#698](https://github.com/apache/datafusion-python/pull/698) (Michael-J-Ward) |
| - feat: add python bindings for ends_with function [#693](https://github.com/apache/datafusion-python/pull/693) (richtia) |
| - feat: expose `named_struct` in python [#700](https://github.com/apache/datafusion-python/pull/700) (Michael-J-Ward) |
| - Website fixes [#702](https://github.com/apache/datafusion-python/pull/702) (Michael-J-Ward) |
| |
| ## [37.1.0](https://github.com/apache/datafusion-python/tree/37.1.0) (2024-05-08) |
| |
| **Implemented enhancements:** |
| |
| - feat: add execute_stream and execute_stream_partitioned [#610](https://github.com/apache/datafusion-python/pull/610) (mesejo) |
| |
| **Documentation updates:** |
| |
| - docs: update docs CI to install python-311 requirements [#661](https://github.com/apache/datafusion-python/pull/661) (Michael-J-Ward) |
| |
| **Merged pull requests:** |
| |
| - Switch to Ruff for Python linting [#529](https://github.com/apache/datafusion-python/pull/529) (andygrove) |
| - Remove sql-on-pandas/polars/cudf examples [#602](https://github.com/apache/datafusion-python/pull/602) (andygrove) |
| - build(deps): bump object_store from 0.9.0 to 0.9.1 [#611](https://github.com/apache/datafusion-python/pull/611) (dependabot[bot]) |
| - More missing array funcs [#605](https://github.com/apache/datafusion-python/pull/605) (judahrand) |
| - feat: add execute_stream and execute_stream_partitioned [#610](https://github.com/apache/datafusion-python/pull/610) (mesejo) |
| - build(deps): bump uuid from 1.7.0 to 1.8.0 [#615](https://github.com/apache/datafusion-python/pull/615) (dependabot[bot]) |
| - Bind SQLOptions and relative ctx method #567 [#588](https://github.com/apache/datafusion-python/pull/588) (giacomorebecchi) |
| - bugfix: no panic on empty table [#613](https://github.com/apache/datafusion-python/pull/613) (mesejo) |
| - Expose `register_listing_table` [#618](https://github.com/apache/datafusion-python/pull/618) (henrifroese) |
| - Expose unnest feature [#641](https://github.com/apache/datafusion-python/pull/641) (timsaucer) |
| - Update domain names and paths in asf yaml [#643](https://github.com/apache/datafusion-python/pull/643) (andygrove) |
| - use python 3.11 to publish docs [#645](https://github.com/apache/datafusion-python/pull/645) (andygrove) |
| - docs: update docs CI to install python-311 requirements [#661](https://github.com/apache/datafusion-python/pull/661) (Michael-J-Ward) |
| - Upgrade Datafusion to v37.1.0 [#669](https://github.com/apache/datafusion-python/pull/669) (Michael-J-Ward) |
| |
| ## [36.0.0](https://github.com/apache/datafusion-python/tree/36.0.0) (2024-03-02) |
| |
| **Implemented enhancements:** |
| |
| - feat: Add `flatten` array function [#562](https://github.com/apache/datafusion-python/pull/562) (mobley-trent) |
| |
| **Documentation updates:** |
| |
| - docs: Add ASF attribution [#580](https://github.com/apache/datafusion-python/pull/580) (simicd) |
| |
| **Merged pull requests:** |
| |
| - Allow PyDataFrame to be used from other projects [#582](https://github.com/apache/datafusion-python/pull/582) (andygrove) |
| - docs: Add ASF attribution [#580](https://github.com/apache/datafusion-python/pull/580) (simicd) |
| - Add array functions [#560](https://github.com/apache/datafusion-python/pull/560) (ongchi) |
| - feat: Add `flatten` array function [#562](https://github.com/apache/datafusion-python/pull/562) (mobley-trent) |
| |
| ## [35.0.0](https://github.com/apache/datafusion-python/tree/35.0.0) (2024-01-20) |
| |
| **Merged pull requests:** |
| |
| - build(deps): bump syn from 2.0.41 to 2.0.43 [#559](https://github.com/apache/datafusion-python/pull/559) (dependabot[bot]) |
| - build(deps): bump tokio from 1.35.0 to 1.35.1 [#558](https://github.com/apache/datafusion-python/pull/558) (dependabot[bot]) |
| - build(deps): bump async-trait from 0.1.74 to 0.1.77 [#556](https://github.com/apache/datafusion-python/pull/556) (dependabot[bot]) |
| - build(deps): bump pyo3 from 0.20.0 to 0.20.2 [#557](https://github.com/apache/datafusion-python/pull/557) (dependabot[bot]) |
| |
| ## [34.0.0](https://github.com/apache/datafusion-python/tree/34.0.0) (2023-12-28) |
| |
| **Merged pull requests:** |
| |
| - Adjust visibility of crate private members & Functions [#537](https://github.com/apache/datafusion-python/pull/537) (jdye64) |
| - Update json.rst [#538](https://github.com/apache/datafusion-python/pull/538) (ray-andrew) |
| - Enable mimalloc local_dynamic_tls feature [#540](https://github.com/apache/datafusion-python/pull/540) (jdye64) |
| - Enable substrait feature to be built by default in CI, for nightlies … [#544](https://github.com/apache/datafusion-python/pull/544) (jdye64) |
| |
| ## [33.0.0](https://github.com/apache/datafusion-python/tree/33.0.0) (2023-11-16) |
| |
| **Merged pull requests:** |
| |
| - First pass at getting architectured builds working [#350](https://github.com/apache/datafusion-python/pull/350) (charlesbluca) |
| - Remove libprotobuf dep [#527](https://github.com/apache/datafusion-python/pull/527) (jdye64) |
| |
| ## [32.0.0](https://github.com/apache/datafusion-python/tree/32.0.0) (2023-10-21) |
| |
| **Implemented enhancements:** |
| |
| - feat: expose PyWindowFrame [#509](https://github.com/apache/datafusion-python/pull/509) (dlovell) |
| - add Binary String Functions;encode,decode [#494](https://github.com/apache/datafusion-python/pull/494) (jiangzhx) |
| - add bit_and,bit_or,bit_xor,bool_add,bool_or [#496](https://github.com/apache/datafusion-python/pull/496) (jiangzhx) |
| - add first_value last_value [#498](https://github.com/apache/datafusion-python/pull/498) (jiangzhx) |
| - add regr\_\* functions [#499](https://github.com/apache/datafusion-python/pull/499) (jiangzhx) |
| - Add random missing bindings [#522](https://github.com/apache/datafusion-python/pull/522) (jdye64) |
| - Allow for multiple input files per table instead of a single file [#519](https://github.com/apache/datafusion-python/pull/519) (jdye64) |
| - Add support for window function bindings [#521](https://github.com/apache/datafusion-python/pull/521) (jdye64) |
| |
| **Merged pull requests:** |
| |
| - Prepare 31.0.0 release [#500](https://github.com/apache/datafusion-python/pull/500) (andygrove) |
| - Improve release process documentation [#505](https://github.com/apache/datafusion-python/pull/505) (andygrove) |
| - add Binary String Functions;encode,decode [#494](https://github.com/apache/datafusion-python/pull/494) (jiangzhx) |
| - build(deps): bump mimalloc from 0.1.38 to 0.1.39 [#502](https://github.com/apache/datafusion-python/pull/502) (dependabot[bot]) |
| - build(deps): bump syn from 2.0.32 to 2.0.35 [#503](https://github.com/apache/datafusion-python/pull/503) (dependabot[bot]) |
| - build(deps): bump syn from 2.0.35 to 2.0.37 [#506](https://github.com/apache/datafusion-python/pull/506) (dependabot[bot]) |
| - Use latest DataFusion [#511](https://github.com/apache/datafusion-python/pull/511) (andygrove) |
| - add bit_and,bit_or,bit_xor,bool_add,bool_or [#496](https://github.com/apache/datafusion-python/pull/496) (jiangzhx) |
| - use DataFusion 32 [#515](https://github.com/apache/datafusion-python/pull/515) (andygrove) |
| - add first_value last_value [#498](https://github.com/apache/datafusion-python/pull/498) (jiangzhx) |
| - build(deps): bump regex-syntax from 0.7.5 to 0.8.1 [#517](https://github.com/apache/datafusion-python/pull/517) (dependabot[bot]) |
| - build(deps): bump pyo3-build-config from 0.19.2 to 0.20.0 [#516](https://github.com/apache/datafusion-python/pull/516) (dependabot[bot]) |
| - add regr\_\* functions [#499](https://github.com/apache/datafusion-python/pull/499) (jiangzhx) |
| - Add random missing bindings [#522](https://github.com/apache/datafusion-python/pull/522) (jdye64) |
| - build(deps): bump rustix from 0.38.18 to 0.38.19 [#523](https://github.com/apache/datafusion-python/pull/523) (dependabot[bot]) |
| - Allow for multiple input files per table instead of a single file [#519](https://github.com/apache/datafusion-python/pull/519) (jdye64) |
| - Add support for window function bindings [#521](https://github.com/apache/datafusion-python/pull/521) (jdye64) |
| - Small clippy fix [#524](https://github.com/apache/datafusion-python/pull/524) (andygrove) |
| |
| ## [31.0.0](https://github.com/apache/datafusion-python/tree/31.0.0) (2023-09-12) |
| |
| [Full Changelog](https://github.com/apache/datafusion-python/compare/28.0.0...31.0.0) |
| |
| **Implemented enhancements:** |
| |
| - feat: add case function (#447) [#448](https://github.com/apache/datafusion-python/pull/448) (mesejo) |
| - feat: add compression options [#456](https://github.com/apache/datafusion-python/pull/456) (mesejo) |
| - feat: add register_json [#458](https://github.com/apache/datafusion-python/pull/458) (mesejo) |
| - feat: add basic compression configuration to write_parquet [#459](https://github.com/apache/datafusion-python/pull/459) (mesejo) |
| - feat: add example of reading parquet from s3 [#460](https://github.com/apache/datafusion-python/pull/460) (mesejo) |
| - feat: add register_avro and read_table [#461](https://github.com/apache/datafusion-python/pull/461) (mesejo) |
| - feat: add missing scalar math functions [#465](https://github.com/apache/datafusion-python/pull/465) (mesejo) |
| |
| **Documentation updates:** |
| |
| - docs: include pre-commit hooks section in contributor guide [#455](https://github.com/apache/datafusion-python/pull/455) (mesejo) |
| |
| **Merged pull requests:** |
| |
| - Build Linux aarch64 wheel [#443](https://github.com/apache/datafusion-python/pull/443) (gokselk) |
| - feat: add case function (#447) [#448](https://github.com/apache/datafusion-python/pull/448) (mesejo) |
| - enhancement(docs): Add user guide (#432) [#445](https://github.com/apache/datafusion-python/pull/445) (mesejo) |
| - docs: include pre-commit hooks section in contributor guide [#455](https://github.com/apache/datafusion-python/pull/455) (mesejo) |
| - feat: add compression options [#456](https://github.com/apache/datafusion-python/pull/456) (mesejo) |
| - Upgrade to DF 28.0.0-rc1 [#457](https://github.com/apache/datafusion-python/pull/457) (andygrove) |
| - feat: add register_json [#458](https://github.com/apache/datafusion-python/pull/458) (mesejo) |
| - feat: add basic compression configuration to write_parquet [#459](https://github.com/apache/datafusion-python/pull/459) (mesejo) |
| - feat: add example of reading parquet from s3 [#460](https://github.com/apache/datafusion-python/pull/460) (mesejo) |
| - feat: add register_avro and read_table [#461](https://github.com/apache/datafusion-python/pull/461) (mesejo) |
| - feat: add missing scalar math functions [#465](https://github.com/apache/datafusion-python/pull/465) (mesejo) |
| - build(deps): bump arduino/setup-protoc from 1 to 2 [#452](https://github.com/apache/datafusion-python/pull/452) (dependabot[bot]) |
| - Revert "build(deps): bump arduino/setup-protoc from 1 to 2 (#452)" [#474](https://github.com/apache/datafusion-python/pull/474) (viirya) |
| - Minor: fix wrongly copied function description [#497](https://github.com/apache/datafusion-python/pull/497) (viirya) |
| - Upgrade to Datafusion 31.0.0 [#491](https://github.com/apache/datafusion-python/pull/491) (judahrand) |
| - Add `isnan` and `iszero` [#495](https://github.com/apache/datafusion-python/pull/495) (judahrand) |
| |
| ## 30.0.0 |
| |
| - Skipped due to a breaking change in DataFusion |
| |
| ## 29.0.0 |
| |
| - Skipped |
| |
| ## [28.0.0](https://github.com/apache/datafusion-python/tree/28.0.0) (2023-07-25) |
| |
| **Implemented enhancements:** |
| |
| - feat: expose offset in python API [#437](https://github.com/apache/datafusion-python/pull/437) (cpcloud) |
| |
| **Merged pull requests:** |
| |
| - File based input utils [#433](https://github.com/apache/datafusion-python/pull/433) (jdye64) |
| - Upgrade to 28.0.0-rc1 [#434](https://github.com/apache/datafusion-python/pull/434) (andygrove) |
| - Introduces utility for obtaining SqlTable information from a file like location [#398](https://github.com/apache/datafusion-python/pull/398) (jdye64) |
| - feat: expose offset in python API [#437](https://github.com/apache/datafusion-python/pull/437) (cpcloud) |
| - Use DataFusion 28 [#439](https://github.com/apache/datafusion-python/pull/439) (andygrove) |
| |
| ## [27.0.0](https://github.com/apache/datafusion-python/tree/27.0.0) (2023-07-03) |
| |
| **Merged pull requests:** |
| |
| - LogicalPlan.to_variant() make public [#412](https://github.com/apache/datafusion-python/pull/412) (jdye64) |
| - Prepare 27.0.0 release [#423](https://github.com/apache/datafusion-python/pull/423) (andygrove) |
| |
| ## [26.0.0](https://github.com/apache/datafusion-python/tree/26.0.0) (2023-06-11) |
| |
| [Full Changelog](https://github.com/apache/datafusion-python/compare/25.0.0...26.0.0) |
| |
| **Merged pull requests:** |
| |
| - Add Expr::Case when_then_else support to rex_call_operands function [#388](https://github.com/apache/datafusion-python/pull/388) (jdye64) |
| - Introduce BaseSessionContext abstract class [#390](https://github.com/apache/datafusion-python/pull/390) (jdye64) |
| - CRUD Schema support for `BaseSessionContext` [#392](https://github.com/apache/datafusion-python/pull/392) (jdye64) |
| - CRUD Table support for `BaseSessionContext` [#394](https://github.com/apache/datafusion-python/pull/394) (jdye64) |
| |
| ## [25.0.0](https://github.com/apache/datafusion-python/tree/25.0.0) (2023-05-23) |
| |
| [Full Changelog](https://github.com/apache/datafusion-python/compare/24.0.0...25.0.0) |
| |
| **Merged pull requests:** |
| |
| - Prepare 24.0.0 Release [#376](https://github.com/apache/datafusion-python/pull/376) (andygrove) |
| - build(deps): bump uuid from 1.3.1 to 1.3.2 [#359](https://github.com/apache/datafusion-python/pull/359) (dependabot[bot]) |
| - build(deps): bump mimalloc from 0.1.36 to 0.1.37 [#361](https://github.com/apache/datafusion-python/pull/361) (dependabot[bot]) |
| - build(deps): bump regex-syntax from 0.6.29 to 0.7.1 [#334](https://github.com/apache/datafusion-python/pull/334) (dependabot[bot]) |
| - upgrade maturin to 0.15.1 [#379](https://github.com/apache/datafusion-python/pull/379) (Jimexist) |
| - Expand Expr to include RexType basic support [#378](https://github.com/apache/datafusion-python/pull/378) (jdye64) |
| - Add Python script for generating changelog [#383](https://github.com/apache/datafusion-python/pull/383) (andygrove) |
| |
| ## [24.0.0](https://github.com/apache/datafusion-python/tree/24.0.0) (2023-05-09) |
| |
| [Full Changelog](https://github.com/apache/datafusion-python/compare/23.0.0...24.0.0) |
| |
| **Documentation updates:** |
| |
| - Fix link to user guide [#354](https://github.com/apache/datafusion-python/pull/354) (andygrove) |
| |
| **Merged pull requests:** |
| |
| - Add interface to serialize Substrait plans to Python Bytes. [#344](https://github.com/apache/datafusion-python/pull/344) (kylebrooks-8451) |
| - Add partition_count property to ExecutionPlan. [#346](https://github.com/apache/datafusion-python/pull/346) (kylebrooks-8451) |
| - Remove unsendable from all Rust pyclass types. [#348](https://github.com/apache/datafusion-python/pull/348) (kylebrooks-8451) |
| - Fix link to user guide [#354](https://github.com/apache/datafusion-python/pull/354) (andygrove) |
| - Fix SessionContext execute. [#353](https://github.com/apache/datafusion-python/pull/353) (kylebrooks-8451) |
| - Pub mod expr in lib.rs [#357](https://github.com/apache/datafusion-python/pull/357) (jdye64) |
| - Add benchmark derived from TPC-H [#355](https://github.com/apache/datafusion-python/pull/355) (andygrove) |
| - Add db-benchmark [#365](https://github.com/apache/datafusion-python/pull/365) (andygrove) |
| - First pass of documentation in mdBook [#364](https://github.com/apache/datafusion-python/pull/364) (MrPowers) |
| - Add 'pub' and '#[pyo3(get, set)]' to DataTypeMap [#371](https://github.com/apache/datafusion-python/pull/371) (jdye64) |
| - Fix db-benchmark [#369](https://github.com/apache/datafusion-python/pull/369) (andygrove) |
| - Docs explaining how to view query plans [#373](https://github.com/apache/datafusion-python/pull/373) (andygrove) |
| - Improve db-benchmark [#372](https://github.com/apache/datafusion-python/pull/372) (andygrove) |
| - Make expr member of PyExpr public [#375](https://github.com/apache/datafusion-python/pull/375) (jdye64) |
| |
| ## [23.0.0](https://github.com/apache/datafusion-python/tree/23.0.0) (2023-04-23) |
| |
| [Full Changelog](https://github.com/apache/datafusion-python/compare/22.0.0...23.0.0) |
| |
| **Merged pull requests:** |
| |
| - Improve API docs, README, and examples for configuring context [#321](https://github.com/apache/datafusion-python/pull/321) (andygrove) |
| - Osx build linker args [#330](https://github.com/apache/datafusion-python/pull/330) (jdye64) |
| - Add requirements file for python 3.11 [#332](https://github.com/apache/datafusion-python/pull/332) (r4ntix) |
| - mac arm64 build [#338](https://github.com/apache/datafusion-python/pull/338) (andygrove) |
| - Add conda.yaml baseline workflow file [#281](https://github.com/apache/datafusion-python/pull/281) (jdye64) |
| - Prepare for 23.0.0 release [#335](https://github.com/apache/datafusion-python/pull/335) (andygrove) |
| - Reuse the Tokio Runtime [#341](https://github.com/apache/datafusion-python/pull/341) (kylebrooks-8451) |
| |
| ## [22.0.0](https://github.com/apache/datafusion-python/tree/22.0.0) (2023-04-10) |
| |
| [Full Changelog](https://github.com/apache/datafusion-python/compare/21.0.0...22.0.0) |
| |
| **Merged pull requests:** |
| |
| - Fix invalid build yaml [#308](https://github.com/apache/datafusion-python/pull/308) (andygrove) |
| - Try fix release build [#309](https://github.com/apache/datafusion-python/pull/309) (andygrove) |
| - Fix release build [#310](https://github.com/apache/datafusion-python/pull/310) (andygrove) |
| - Enable datafusion-substrait protoc feature, to remove compile-time dependency on protoc [#312](https://github.com/apache/datafusion-python/pull/312) (andygrove) |
| - Fix Mac/Win release builds in CI [#313](https://github.com/apache/datafusion-python/pull/313) (andygrove) |
| - install protoc in docs workflow [#314](https://github.com/apache/datafusion-python/pull/314) (andygrove) |
| - Fix documentation generation in CI [#315](https://github.com/apache/datafusion-python/pull/315) (andygrove) |
| - Source wheel fix [#319](https://github.com/apache/datafusion-python/pull/319) (andygrove) |
| |
| ## [21.0.0](https://github.com/apache/datafusion-python/tree/21.0.0) (2023-03-30) |
| |
| [Full Changelog](https://github.com/apache/datafusion-python/compare/20.0.0...21.0.0) |
| |
| **Merged pull requests:** |
| |
| - minor: Fix minor warning on unused import [#289](https://github.com/apache/datafusion-python/pull/289) (viirya) |
| - feature: Implement `describe()` method [#293](https://github.com/apache/datafusion-python/pull/293) (simicd) |
| - fix: Printed results not visible in debugger & notebooks [#296](https://github.com/apache/datafusion-python/pull/296) (simicd) |
| - add package.include and remove wildcard dependency [#295](https://github.com/apache/datafusion-python/pull/295) (andygrove) |
| - Update main branch name in docs workflow [#303](https://github.com/apache/datafusion-python/pull/303) (andygrove) |
| - Upgrade to DF 21 [#301](https://github.com/apache/datafusion-python/pull/301) (andygrove) |
| |
| ## [20.0.0](https://github.com/apache/datafusion-python/tree/20.0.0) (2023-03-17) |
| |
| [Full Changelog](https://github.com/apache/datafusion-python/compare/0.8.0...20.0.0) |
| |
| **Implemented enhancements:** |
| |
| - Empty relation bindings [#208](https://github.com/apache/datafusion-python/pull/208) (jdye64) |
| - wrap display_name and canonical_name functions [#214](https://github.com/apache/datafusion-python/pull/214) (jdye64) |
| - Add PyAlias bindings [#216](https://github.com/apache/datafusion-python/pull/216) (jdye64) |
| - Add bindings for scalar_variable [#218](https://github.com/apache/datafusion-python/pull/218) (jdye64) |
| - Bindings for LIKE type expressions [#220](https://github.com/apache/datafusion-python/pull/220) (jdye64) |
| - Bool expr bindings [#223](https://github.com/apache/datafusion-python/pull/223) (jdye64) |
| - Between bindings [#229](https://github.com/apache/datafusion-python/pull/229) (jdye64) |
| - Add bindings for GetIndexedField [#227](https://github.com/apache/datafusion-python/pull/227) (jdye64) |
| - Add bindings for case, cast, and trycast [#232](https://github.com/apache/datafusion-python/pull/232) (jdye64) |
| - add remaining expr bindings [#233](https://github.com/apache/datafusion-python/pull/233) (jdye64) |
| - feature: Additional export methods [#236](https://github.com/apache/datafusion-python/pull/236) (simicd) |
| - Add Python wrapper for LogicalPlan::Union [#240](https://github.com/apache/datafusion-python/pull/240) (iajoiner) |
| - feature: Create dataframe from pandas, polars, dictionary, list or pyarrow Table [#242](https://github.com/apache/datafusion-python/pull/242) (simicd) |
| - Add Python wrappers for `LogicalPlan::Join` and `LogicalPlan::CrossJoin` [#246](https://github.com/apache/datafusion-python/pull/246) (iajoiner) |
| - feature: Set table name from ctx functions [#260](https://github.com/apache/datafusion-python/pull/260) (simicd) |
| - Explain bindings [#264](https://github.com/apache/datafusion-python/pull/264) (jdye64) |
| - Extension bindings [#266](https://github.com/apache/datafusion-python/pull/266) (jdye64) |
| - Subquery alias bindings [#269](https://github.com/apache/datafusion-python/pull/269) (jdye64) |
| - Create memory table [#271](https://github.com/apache/datafusion-python/pull/271) (jdye64) |
| - Create view bindings [#273](https://github.com/apache/datafusion-python/pull/273) (jdye64) |
| - Re-export Datafusion dependencies [#277](https://github.com/apache/datafusion-python/pull/277) (jdye64) |
| - Distinct bindings [#275](https://github.com/apache/datafusion-python/pull/275) (jdye64) |
| - Drop table bindings [#283](https://github.com/apache/datafusion-python/pull/283) (jdye64) |
| - Bindings for LogicalPlan::Repartition [#285](https://github.com/apache/datafusion-python/pull/285) (jdye64) |
| - Expand Rust return type support for Arrow DataTypes in ScalarValue [#287](https://github.com/apache/datafusion-python/pull/287) (jdye64) |
| |
| **Documentation updates:** |
| |
| - docs: Example of calling Python UDF & UDAF in SQL [#258](https://github.com/apache/datafusion-python/pull/258) (simicd) |
| |
| **Merged pull requests:** |
| |
| - Minor docs updates [#210](https://github.com/apache/datafusion-python/pull/210) (andygrove) |
| - Empty relation bindings [#208](https://github.com/apache/datafusion-python/pull/208) (jdye64) |
| - wrap display_name and canonical_name functions [#214](https://github.com/apache/datafusion-python/pull/214) (jdye64) |
| - Add PyAlias bindings [#216](https://github.com/apache/datafusion-python/pull/216) (jdye64) |
| - Add bindings for scalar_variable [#218](https://github.com/apache/datafusion-python/pull/218) (jdye64) |
| - Bindings for LIKE type expressions [#220](https://github.com/apache/datafusion-python/pull/220) (jdye64) |
| - Bool expr bindings [#223](https://github.com/apache/datafusion-python/pull/223) (jdye64) |
| - Between bindings [#229](https://github.com/apache/datafusion-python/pull/229) (jdye64) |
| - Add bindings for GetIndexedField [#227](https://github.com/apache/datafusion-python/pull/227) (jdye64) |
| - Add bindings for case, cast, and trycast [#232](https://github.com/apache/datafusion-python/pull/232) (jdye64) |
| - add remaining expr bindings [#233](https://github.com/apache/datafusion-python/pull/233) (jdye64) |
| - Pre-commit hooks [#228](https://github.com/apache/datafusion-python/pull/228) (jdye64) |
| - Implement new release process [#149](https://github.com/apache/datafusion-python/pull/149) (andygrove) |
| - feature: Additional export methods [#236](https://github.com/apache/datafusion-python/pull/236) (simicd) |
| - Add Python wrapper for LogicalPlan::Union [#240](https://github.com/apache/datafusion-python/pull/240) (iajoiner) |
| - feature: Create dataframe from pandas, polars, dictionary, list or pyarrow Table [#242](https://github.com/apache/datafusion-python/pull/242) (simicd) |
| - Fix release instructions [#238](https://github.com/apache/datafusion-python/pull/238) (andygrove) |
| - Add Python wrappers for `LogicalPlan::Join` and `LogicalPlan::CrossJoin` [#246](https://github.com/apache/datafusion-python/pull/246) (iajoiner) |
| - docs: Example of calling Python UDF & UDAF in SQL [#258](https://github.com/apache/datafusion-python/pull/258) (simicd) |
| - feature: Set table name from ctx functions [#260](https://github.com/apache/datafusion-python/pull/260) (simicd) |
| - Upgrade to DataFusion 19 [#262](https://github.com/apache/datafusion-python/pull/262) (andygrove) |
| - Explain bindings [#264](https://github.com/apache/datafusion-python/pull/264) (jdye64) |
| - Extension bindings [#266](https://github.com/apache/datafusion-python/pull/266) (jdye64) |
| - Subquery alias bindings [#269](https://github.com/apache/datafusion-python/pull/269) (jdye64) |
| - Create memory table [#271](https://github.com/apache/datafusion-python/pull/271) (jdye64) |
| - Create view bindings [#273](https://github.com/apache/datafusion-python/pull/273) (jdye64) |
| - Re-export Datafusion dependencies [#277](https://github.com/apache/datafusion-python/pull/277) (jdye64) |
| - Distinct bindings [#275](https://github.com/apache/datafusion-python/pull/275) (jdye64) |
| - build(deps): bump actions/checkout from 2 to 3 [#244](https://github.com/apache/datafusion-python/pull/244) (dependabot[bot]) |
| - build(deps): bump actions/upload-artifact from 2 to 3 [#245](https://github.com/apache/datafusion-python/pull/245) (dependabot[bot]) |
| - build(deps): bump actions/download-artifact from 2 to 3 [#243](https://github.com/apache/datafusion-python/pull/243) (dependabot[bot]) |
| - Use DataFusion 20 [#278](https://github.com/apache/datafusion-python/pull/278) (andygrove) |
| - Drop table bindings [#283](https://github.com/apache/datafusion-python/pull/283) (jdye64) |
| - Bindings for LogicalPlan::Repartition [#285](https://github.com/apache/datafusion-python/pull/285) (jdye64) |
| - Expand Rust return type support for Arrow DataTypes in ScalarValue [#287](https://github.com/apache/datafusion-python/pull/287) (jdye64) |
| |
| ## [0.8.0](https://github.com/apache/datafusion-python/tree/0.8.0) (2023-02-22) |
| |
| [Full Changelog](https://github.com/apache/datafusion-python/compare/0.8.0-rc1...0.8.0) |
| |
| **Implemented enhancements:** |
| |
| - Add support for cuDF physical execution engine [\#202](https://github.com/apache/datafusion-python/issues/202) |
| - Make it easier to create a Pandas dataframe from DataFusion query results [\#139](https://github.com/apache/datafusion-python/issues/139) |
| |
| **Fixed bugs:** |
| |
| - Build error: could not compile `thiserror` due to 2 previous errors [\#69](https://github.com/apache/datafusion-python/issues/69) |
| |
| **Closed issues:** |
| |
| - Integrate with the new `object_store` crate [\#22](https://github.com/apache/datafusion-python/issues/22) |
| |
| **Merged pull requests:** |
| |
| - Update README in preparation for 0.8 release [\#206](https://github.com/apache/datafusion-python/pull/206) ([andygrove](https://github.com/andygrove)) |
| - Add support for cudf as a physical execution engine [\#205](https://github.com/apache/datafusion-python/pull/205) ([jdye64](https://github.com/jdye64)) |
| - Run `maturin develop` instead of `cargo build` in verification script [\#200](https://github.com/apache/datafusion-python/pull/200) ([andygrove](https://github.com/andygrove)) |
| - Add tests for recently added functionality [\#199](https://github.com/apache/datafusion-python/pull/199) ([andygrove](https://github.com/andygrove)) |
| - Implement `to_pandas()` [\#197](https://github.com/apache/datafusion-python/pull/197) ([simicd](https://github.com/simicd)) |
| - Add Python wrapper for LogicalPlan::Sort [\#196](https://github.com/apache/datafusion-python/pull/196) ([andygrove](https://github.com/andygrove)) |
| - Add Python wrapper for LogicalPlan::Aggregate [\#195](https://github.com/apache/datafusion-python/pull/195) ([andygrove](https://github.com/andygrove)) |
| - Add Python wrapper for LogicalPlan::Limit [\#193](https://github.com/apache/datafusion-python/pull/193) ([andygrove](https://github.com/andygrove)) |
| - Add Python wrapper for LogicalPlan::Filter [\#192](https://github.com/apache/datafusion-python/pull/192) ([andygrove](https://github.com/andygrove)) |
| - Add experimental support for executing SQL with Polars and Pandas [\#190](https://github.com/apache/datafusion-python/pull/190) ([andygrove](https://github.com/andygrove)) |
| - Update changelog for 0.8 release [\#188](https://github.com/apache/datafusion-python/pull/188) ([andygrove](https://github.com/andygrove)) |
| - Add ability to execute ExecutionPlan and get a stream of RecordBatch [\#186](https://github.com/apache/datafusion-python/pull/186) ([andygrove](https://github.com/andygrove)) |
| - Dffield bindings [\#185](https://github.com/apache/datafusion-python/pull/185) ([jdye64](https://github.com/jdye64)) |
| - Add bindings for DFSchema [\#183](https://github.com/apache/datafusion-python/pull/183) ([jdye64](https://github.com/jdye64)) |
| - test: Window functions [\#182](https://github.com/apache/datafusion-python/pull/182) ([simicd](https://github.com/simicd)) |
| - Add bindings for Projection [\#180](https://github.com/apache/datafusion-python/pull/180) ([jdye64](https://github.com/jdye64)) |
| - Table scan bindings [\#178](https://github.com/apache/datafusion-python/pull/178) ([jdye64](https://github.com/jdye64)) |
| - Make session configurable [\#176](https://github.com/apache/datafusion-python/pull/176) ([andygrove](https://github.com/andygrove)) |
| - Upgrade to DataFusion 18.0.0 [\#175](https://github.com/apache/datafusion-python/pull/175) ([andygrove](https://github.com/andygrove)) |
| - Use latest DataFusion rev in preparation for DF 18 release [\#174](https://github.com/apache/datafusion-python/pull/174) ([andygrove](https://github.com/andygrove)) |
| - Arrow type bindings [\#173](https://github.com/apache/datafusion-python/pull/173) ([jdye64](https://github.com/jdye64)) |
| - Pyo3 bump [\#171](https://github.com/apache/datafusion-python/pull/171) ([jdye64](https://github.com/jdye64)) |
| - feature: Add additional aggregation functions [\#170](https://github.com/apache/datafusion-python/pull/170) ([simicd](https://github.com/simicd)) |
| - Make from_substrait_plan return DataFrame instead of LogicalPlan [\#164](https://github.com/apache/datafusion-python/pull/164) ([andygrove](https://github.com/andygrove)) |
| - feature: Implement count method [\#163](https://github.com/apache/datafusion-python/pull/163) ([simicd](https://github.com/simicd)) |
| - CI Fixes [\#162](https://github.com/apache/datafusion-python/pull/162) ([jdye64](https://github.com/jdye64)) |
| - Upgrade to DataFusion 17 [\#160](https://github.com/apache/datafusion-python/pull/160) ([andygrove](https://github.com/andygrove)) |
| - feature: Improve string representation of datafusion classes [\#159](https://github.com/apache/datafusion-python/pull/159) ([simicd](https://github.com/simicd)) |
| - Make PyExecutionPlan.plan public [\#156](https://github.com/apache/datafusion-python/pull/156) ([andygrove](https://github.com/andygrove)) |
| - Expose methods on logical and execution plans [\#155](https://github.com/apache/datafusion-python/pull/155) ([andygrove](https://github.com/andygrove)) |
| - Fix clippy for new Rust version [\#154](https://github.com/apache/datafusion-python/pull/154) ([andygrove](https://github.com/andygrove)) |
| - Add DataFrame methods for accessing plans [\#153](https://github.com/apache/datafusion-python/pull/153) ([andygrove](https://github.com/andygrove)) |
| - Use DataFusion rev 5238e8c97f998b4d2cb9fab85fb182f325a1a7fb [\#150](https://github.com/apache/datafusion-python/pull/150) ([andygrove](https://github.com/andygrove)) |
| - build\(deps\): bump async-trait from 0.1.61 to 0.1.62 [\#148](https://github.com/apache/datafusion-python/pull/148) ([dependabot[bot]](https://github.com/apps/dependabot)) |
| - Rename default branch from master to main [\#147](https://github.com/apache/datafusion-python/pull/147) ([andygrove](https://github.com/andygrove)) |
| - Substrait bindings [\#145](https://github.com/apache/datafusion-python/pull/145) ([jdye64](https://github.com/jdye64)) |
| - build\(deps\): bump uuid from 0.8.2 to 1.2.2 [\#143](https://github.com/apache/datafusion-python/pull/143) ([dependabot[bot]](https://github.com/apps/dependabot)) |
| - Prepare for 0.8.0 release [\#141](https://github.com/apache/datafusion-python/pull/141) ([andygrove](https://github.com/andygrove)) |
| - Improve README and add more examples [\#137](https://github.com/apache/datafusion-python/pull/137) ([andygrove](https://github.com/andygrove)) |
| - test: Expand tests for built-in functions [\#129](https://github.com/apache/datafusion-python/pull/129) ([simicd](https://github.com/simicd)) |
| - build\(deps\): bump object_store from 0.5.2 to 0.5.3 [\#126](https://github.com/apache/datafusion-python/pull/126) ([dependabot[bot]](https://github.com/apps/dependabot)) |
| - build\(deps\): bump mimalloc from 0.1.32 to 0.1.34 [\#125](https://github.com/apache/datafusion-python/pull/125) ([dependabot[bot]](https://github.com/apps/dependabot)) |
| - Introduce conda directory containing datafusion-dev.yaml conda enviro… [\#124](https://github.com/apache/datafusion-python/pull/124) ([jdye64](https://github.com/jdye64)) |
| - build\(deps\): bump bzip2 from 0.4.3 to 0.4.4 [\#121](https://github.com/apache/datafusion-python/pull/121) ([dependabot[bot]](https://github.com/apps/dependabot)) |
| - build\(deps\): bump tokio from 1.23.0 to 1.24.1 [\#119](https://github.com/apache/datafusion-python/pull/119) ([dependabot[bot]](https://github.com/apps/dependabot)) |
| - build\(deps\): bump async-trait from 0.1.60 to 0.1.61 [\#118](https://github.com/apache/datafusion-python/pull/118) ([dependabot[bot]](https://github.com/apps/dependabot)) |
| - Upgrade to DataFusion 16.0.0 [\#115](https://github.com/apache/datafusion-python/pull/115) ([andygrove](https://github.com/andygrove)) |
| - Bump async-trait from 0.1.57 to 0.1.60 [\#114](https://github.com/apache/datafusion-python/pull/114) ([dependabot[bot]](https://github.com/apps/dependabot)) |
| - Bump object_store from 0.5.1 to 0.5.2 [\#112](https://github.com/apache/datafusion-python/pull/112) ([dependabot[bot]](https://github.com/apps/dependabot)) |
| - Bump tokio from 1.21.2 to 1.23.0 [\#109](https://github.com/apache/datafusion-python/pull/109) ([dependabot[bot]](https://github.com/apps/dependabot)) |
| - Add entries for publishing production \(asf-site\) and staging docs [\#107](https://github.com/apache/datafusion-python/pull/107) ([martin-g](https://github.com/martin-g)) |
| - Add a workflow that builds the docs and deploys them at staged or production [\#104](https://github.com/apache/datafusion-python/pull/104) ([martin-g](https://github.com/martin-g)) |
| - Upgrade to DataFusion 15.0.0 [\#103](https://github.com/apache/datafusion-python/pull/103) ([andygrove](https://github.com/andygrove)) |
| - build\(deps\): bump futures from 0.3.24 to 0.3.25 [\#102](https://github.com/apache/datafusion-python/pull/102) ([dependabot[bot]](https://github.com/apps/dependabot)) |
| - build\(deps\): bump pyo3 from 0.17.2 to 0.17.3 [\#101](https://github.com/apache/datafusion-python/pull/101) ([dependabot[bot]](https://github.com/apps/dependabot)) |
| - build\(deps\): bump mimalloc from 0.1.30 to 0.1.32 [\#98](https://github.com/apache/datafusion-python/pull/98) ([dependabot[bot]](https://github.com/apps/dependabot)) |
| - build\(deps\): bump rand from 0.7.3 to 0.8.5 [\#97](https://github.com/apache/datafusion-python/pull/97) ([dependabot[bot]](https://github.com/apps/dependabot)) |
| - Fix GitHub actions warnings [\#95](https://github.com/apache/datafusion-python/pull/95) ([martin-g](https://github.com/martin-g)) |
| - Fixes \#81 - Add CI workflow for source distribution [\#93](https://github.com/apache/datafusion-python/pull/93) ([martin-g](https://github.com/martin-g)) |
| - post-release updates [\#91](https://github.com/apache/datafusion-python/pull/91) ([andygrove](https://github.com/andygrove)) |
| - Build for manylinux 2014 [\#88](https://github.com/apache/datafusion-python/pull/88) ([martin-g](https://github.com/martin-g)) |
| - update release readme tag [\#86](https://github.com/apache/datafusion-python/pull/86) ([Jimexist](https://github.com/Jimexist)) |
| - Upgrade Maturin to 0.14.2 [\#85](https://github.com/apache/datafusion-python/pull/85) ([martin-g](https://github.com/martin-g)) |
| - Update release instructions [\#83](https://github.com/apache/datafusion-python/pull/83) ([andygrove](https://github.com/andygrove)) |
| - \[Functions\] - Add python function binding to `functions` [\#73](https://github.com/apache/datafusion-python/pull/73) ([francis-du](https://github.com/francis-du)) |
| |
| ## [0.8.0-rc1](https://github.com/apache/datafusion-python/tree/0.8.0-rc1) (2023-02-17) |
| |
| [Full Changelog](https://github.com/apache/datafusion-python/compare/0.7.0-rc2...0.8.0-rc1) |
| |
| **Implemented enhancements:** |
| |
| - Add bindings for datafusion_common::DFField [\#184](https://github.com/apache/datafusion-python/issues/184) |
| - Add bindings for DFSchema/DFSchemaRef [\#181](https://github.com/apache/datafusion-python/issues/181) |
| - Add bindings for datafusion_expr Projection [\#179](https://github.com/apache/datafusion-python/issues/179) |
| - Add bindings for `TableScan` struct from `datafusion_expr::TableScan` [\#177](https://github.com/apache/datafusion-python/issues/177) |
| - Add a "mapping" struct for types [\#172](https://github.com/apache/datafusion-python/issues/172) |
| - Improve string representation of datafusion classes \(dataframe, context, expression, ...\) [\#158](https://github.com/apache/datafusion-python/issues/158) |
| - Add DataFrame count method [\#151](https://github.com/apache/datafusion-python/issues/151) |
| - \[REQUEST\] Github Actions Improvements [\#146](https://github.com/apache/datafusion-python/issues/146) |
| - Change default branch name from master to main [\#144](https://github.com/apache/datafusion-python/issues/144) |
| - Bump pyo3 to 0.18.0 [\#140](https://github.com/apache/datafusion-python/issues/140) |
| - Add script for Python linting [\#134](https://github.com/apache/datafusion-python/issues/134) |
| - Add Python bindings for substrait module [\#132](https://github.com/apache/datafusion-python/issues/132) |
| - Expand unit tests for built-in functions [\#128](https://github.com/apache/datafusion-python/issues/128) |
| - support creating arrow-datafusion-python conda environment [\#122](https://github.com/apache/datafusion-python/issues/122) |
| - Build Python source distribution in GitHub workflow [\#81](https://github.com/apache/datafusion-python/issues/81) |
| - EPIC: Add all functions to python binding `functions` [\#72](https://github.com/apache/datafusion-python/issues/72) |
| |
| **Fixed bugs:** |
| |
| - Build is broken [\#161](https://github.com/apache/datafusion-python/issues/161) |
| - Out of memory when sorting [\#157](https://github.com/apache/datafusion-python/issues/157) |
| - window_lead test appears to be non-deterministic [\#135](https://github.com/apache/datafusion-python/issues/135) |
| - Reading csv does not work [\#130](https://github.com/apache/datafusion-python/issues/130) |
| - Github actions produce a lot of warnings [\#94](https://github.com/apache/datafusion-python/issues/94) |
| - ASF source release tarball has wrong directory name [\#90](https://github.com/apache/datafusion-python/issues/90) |
| - Python Release Build failing after upgrading to maturin 14.2 [\#87](https://github.com/apache/datafusion-python/issues/87) |
| - Maturin build hangs on Linux ARM64 [\#84](https://github.com/apache/datafusion-python/issues/84) |
| - Cannot install on Mac M1 from source tarball from testpypi [\#82](https://github.com/apache/datafusion-python/issues/82) |
| - ImportPathMismatchError when running pytest locally [\#77](https://github.com/apache/datafusion-python/issues/77) |
| |
| **Closed issues:** |
| |
| - Publish documentation for Python bindings [\#39](https://github.com/apache/datafusion-python/issues/39) |
| - Add Python binding for `approx_median` [\#32](https://github.com/apache/datafusion-python/issues/32) |
| - Release version 0.7.0 [\#7](https://github.com/apache/datafusion-python/issues/7) |
| |
| ## [0.7.0-rc2](https://github.com/apache/datafusion-python/tree/0.7.0-rc2) (2022-11-26) |
| |
| [Full Changelog](https://github.com/apache/datafusion-python/compare/0.7.0...0.7.0-rc2) |
| |
| ## [Unreleased](https://github.com/datafusion-contrib/datafusion-python/tree/HEAD) |
| |
| [Full Changelog](https://github.com/datafusion-contrib/datafusion-python/compare/0.5.1...HEAD) |
| |
| **Merged pull requests:** |
| |
| - use \_\_getitem\_\_ for df column selection [\#41](https://github.com/datafusion-contrib/datafusion-python/pull/41) ([Jimexist](https://github.com/Jimexist)) |
| - fix demo in readme [\#40](https://github.com/datafusion-contrib/datafusion-python/pull/40) ([Jimexist](https://github.com/Jimexist)) |
| - Implement select_columns [\#39](https://github.com/datafusion-contrib/datafusion-python/pull/39) ([andygrove](https://github.com/andygrove)) |
| - update readme and changelog [\#38](https://github.com/datafusion-contrib/datafusion-python/pull/38) ([Jimexist](https://github.com/Jimexist)) |
| - Add PyDataFrame.explain [\#36](https://github.com/datafusion-contrib/datafusion-python/pull/36) ([andygrove](https://github.com/andygrove)) |
| - Release 0.5.0 [\#34](https://github.com/datafusion-contrib/datafusion-python/pull/34) ([Jimexist](https://github.com/Jimexist)) |
| - disable nightly in workflow [\#33](https://github.com/datafusion-contrib/datafusion-python/pull/33) ([Jimexist](https://github.com/Jimexist)) |
| - update requirements to 37 and 310, update readme [\#32](https://github.com/datafusion-contrib/datafusion-python/pull/32) ([Jimexist](https://github.com/Jimexist)) |
| - Add custom global allocator [\#30](https://github.com/datafusion-contrib/datafusion-python/pull/30) ([matthewmturner](https://github.com/matthewmturner)) |
| - Remove pandas dependency [\#25](https://github.com/datafusion-contrib/datafusion-python/pull/25) ([matthewmturner](https://github.com/matthewmturner)) |
| - upgrade datafusion and pyo3 [\#20](https://github.com/datafusion-contrib/datafusion-python/pull/20) ([Jimexist](https://github.com/Jimexist)) |
| - update maturin 0.12+ [\#17](https://github.com/datafusion-contrib/datafusion-python/pull/17) ([Jimexist](https://github.com/Jimexist)) |
| - Update README.md [\#16](https://github.com/datafusion-contrib/datafusion-python/pull/16) ([Jimexist](https://github.com/Jimexist)) |
| - apply cargo clippy --fix [\#15](https://github.com/datafusion-contrib/datafusion-python/pull/15) ([Jimexist](https://github.com/Jimexist)) |
| - update test workflow to include rust clippy and check [\#14](https://github.com/datafusion-contrib/datafusion-python/pull/14) ([Jimexist](https://github.com/Jimexist)) |
| - use maturin 0.12.6 [\#13](https://github.com/datafusion-contrib/datafusion-python/pull/13) ([Jimexist](https://github.com/Jimexist)) |
| - apply cargo fmt [\#12](https://github.com/datafusion-contrib/datafusion-python/pull/12) ([Jimexist](https://github.com/Jimexist)) |
| - use stable not nightly [\#11](https://github.com/datafusion-contrib/datafusion-python/pull/11) ([Jimexist](https://github.com/Jimexist)) |
| - ci: test against more compilers, setup clippy and fix clippy lints [\#9](https://github.com/datafusion-contrib/datafusion-python/pull/9) ([cpcloud](https://github.com/cpcloud)) |
| - Fix use of importlib.metadata and unify requirements.txt [\#8](https://github.com/datafusion-contrib/datafusion-python/pull/8) ([cpcloud](https://github.com/cpcloud)) |
| - Ship the Cargo.lock file in the source distribution [\#7](https://github.com/datafusion-contrib/datafusion-python/pull/7) ([cpcloud](https://github.com/cpcloud)) |
| - add \_\_version\_\_ attribute to datafusion object [\#3](https://github.com/datafusion-contrib/datafusion-python/pull/3) ([tfeda](https://github.com/tfeda)) |
| - fix ci by fixing directories [\#2](https://github.com/datafusion-contrib/datafusion-python/pull/2) ([Jimexist](https://github.com/Jimexist)) |
| - setup workflow [\#1](https://github.com/datafusion-contrib/datafusion-python/pull/1) ([Jimexist](https://github.com/Jimexist)) |
| |
| ## [0.5.1](https://github.com/datafusion-contrib/datafusion-python/tree/0.5.1) (2022-03-15) |
| |
| [Full Changelog](https://github.com/datafusion-contrib/datafusion-python/compare/0.5.1-rc1...0.5.1) |
| |
| ## [0.5.1-rc1](https://github.com/datafusion-contrib/datafusion-python/tree/0.5.1-rc1) (2022-03-15) |
| |
| [Full Changelog](https://github.com/datafusion-contrib/datafusion-python/compare/0.5.0...0.5.1-rc1) |
| |
| ## [0.5.0](https://github.com/datafusion-contrib/datafusion-python/tree/0.5.0) (2022-03-10) |
| |
| [Full Changelog](https://github.com/datafusion-contrib/datafusion-python/compare/0.5.0-rc2...0.5.0) |
| |
| ## [0.5.0-rc2](https://github.com/datafusion-contrib/datafusion-python/tree/0.5.0-rc2) (2022-03-10) |
| |
| [Full Changelog](https://github.com/datafusion-contrib/datafusion-python/compare/0.5.0-rc1...0.5.0-rc2) |
| |
| **Closed issues:** |
| |
| - Add support for Ballista [\#37](https://github.com/datafusion-contrib/datafusion-python/issues/37) |
| - Implement DataFrame.explain [\#35](https://github.com/datafusion-contrib/datafusion-python/issues/35) |
| |
| ## [0.5.0-rc1](https://github.com/datafusion-contrib/datafusion-python/tree/0.5.0-rc1) (2022-03-09) |
| |
| [Full Changelog](https://github.com/datafusion-contrib/datafusion-python/compare/4c98b8e9c3c3f8e2e6a8f2d1ffcfefda344c4680...0.5.0-rc1) |
| |
| **Closed issues:** |
| |
| - Investigate exposing additional optimizations [\#28](https://github.com/datafusion-contrib/datafusion-python/issues/28) |
| - Use custom allocator in Python build [\#27](https://github.com/datafusion-contrib/datafusion-python/issues/27) |
| - Why is pandas a requirement? [\#24](https://github.com/datafusion-contrib/datafusion-python/issues/24) |
| - Unable to build [\#18](https://github.com/datafusion-contrib/datafusion-python/issues/18) |
| - Setup CI against multiple Python version [\#6](https://github.com/datafusion-contrib/datafusion-python/issues/6) |