Commit Graph

54 Commits

Author SHA1 Message Date
张林伟 465c89f7f1 Update github repo links (#10167)
* Update github repo link

* Format markdown

---------

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
2024-04-22 11:11:31 -06:00
Xin Hao 260923de3d docs: update the Python library repository (#3297) 2022-08-30 05:52:14 -06:00
Jiayu Liu bac97fa04a remove python (#1518) 2022-01-04 23:59:46 +08:00
Remco Verhoef 7374b18f1d add indexed fields support to python api (#1502)
* add nested struct support to python

implements nested structs `col("a")['b']`

* add test for indexed fields
2021-12-31 10:40:25 +08:00
Carlos d04790041c Update rust vesion to 1.57 (#1395)
* Update rust vesion to 1.57

* Clean ups related to clippy

* remove more unused fields

* Remove some more unused code

* remove data_type from Average, but keep in consutrctor

Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
2021-12-04 06:43:12 -05:00
Javier Goday 743a81f4e6 #819: python bindings for window functions (#819)
Thanks for the contribution!
2021-11-23 08:24:39 +08:00
QP Hou 7824a8d740 create datafusion 6.0.0, ballista 0.6.0 and python 0.4.0 releases (#1253)
* create datafusion 6.0.0, ballista 0.6.0 and python 0.4.0 releases
2021-11-13 17:03:40 -08:00
QP Hou b77380250d python: update user doc to use new APIs (#1287)
also implement __str__ for PyExpr and updated docs
2021-11-13 13:18:33 -08:00
Krisztián Szűcs 1c351eca17 Rework the python bindings using conversion traits from arrow-rs (#873)
* Reuse wait_for_future from dataframe.rs

* Improve module organization

* Reorganize tests

* Support Binary and LargeBinary arrays for ScalarValue::try_from_array

* Define column and literal functions in python

* Apply isort

* Add test for importing from datafusion.functions

* Rename internals to _internal

* Make classes inheritable; add tests for imports; set module

* Remove PyVolatility

* Move ScalarUdf to udf.rs

* Factor out PyScalarUDF and PyAggregateUDF

* Refactor UDF and UDAF construction

* Set public as the default database for the catalog
2021-11-02 09:24:25 -07:00
Juan 6b964cbfed Fix typo on Python udf functions (#1207)
* Fix typo on Python functions

Co-authored-by: Carlos <wxd963996380@gmail.com>
2021-10-30 20:47:47 -07:00
QP Hou 2eb2daada0 optimize build profile for datafusion python binding, cli and ballista (#1137)
following our own optimization guideline: https://arrow.apache.org/datafusion/user-guide/library.html
2021-10-28 15:50:32 -04:00
Jiayu Liu ad059a688f update python version to 3.10 (#1073)
* update python verion to 3.10

* simplify things
2021-10-28 11:24:54 +08:00
Jiayu Liu b020aba079 use 2021 edition (#1084) 2021-10-27 19:25:56 -04:00
Jiayu Liu f455357bf1 python lit function to support bool and byte vec (#1152)
* python lit function to support bool and byte vec

* update per comment
2021-10-21 13:04:41 +08:00
Jiayu Liu a3ffc529dd add python binding for approx_distinct aggregate function (#1134) 2021-10-17 12:09:35 -07:00
Jiayu Liu f38443d233 [python] add digest python function (#1127)
* add digest python function

* add test result

* ignore long lines
2021-10-17 23:15:19 +08:00
Jiayu Liu 4b15fa5606 fix lit function to allow multiple types (#1130) 2021-10-17 22:42:51 +08:00
Jiayu Liu 4cb1aaffe0 update python version (#1125) 2021-10-15 20:12:13 -07:00
Aidar Talibzhanov 9f9a57de71 Use UUID to create unique table names in python binding (#1111) 2021-10-14 08:34:31 -07:00
rdettai 2454e46864 Reorganize table providers by table format (#1010)
* [feat] stubs for provider re-organization

* [feat] implement infer_schema to make test pass

* [wip] trying to implement pruned_partition_list

* [typo]

* [fix] replace enum with trait for extensibility

* [fix] add partition cols to infered schema

* [feat] forked file format executors

avro still missing

* [doc] comments about why we are flattening

* [test] migrated tests to file formats

* [test] improve listing test

* [feat] add avro to refactored format providers

* [fix] remove try from new when unnecessary

* [fix] remove try_ from ListingTable new

* [refacto] renamed format module to file_format

also removed statistics from the PartitionedFile abstraction

* [fix] removed Ballista stubs

* [fix] rename create_executor

* [feat] added store

* [fix] Clippy

* [test] improve file_format tests with limit

* [fix] limit file system read size

* [fix] avoid fetching unnecessary stats after limit

* [fix] improve readability

* [doc] improve comments

* [refacto] keep async reader stub

* [doc] cleanup comments

* [test] test file listing

* [fix] add last_modified back

* [refacto] simplify csv reader exec

* [refacto] change SizedFile back to FileMeta

* [doc] comment clarification

* [fix] avoid keeping object store as field

* [refacto] grouped params to avoid too_many_arguments

* [fix] get_by_uri also returns path

* [fix] ListingTable at store level instead of registry

* [fix] builder take self and not ref to self

* Replace file format providers (#2)

* [fix] replace file format providers in datafusion

* [lint] clippy

* [fix] replace file format providers in ballista

* [fix] await in python wrapper

* [doc] clearer doc about why sql() is async

* [doc] typos and clarity

* [fix] missing await after rebase
2021-10-13 13:07:19 -04:00
QP Hou 91a677c074 python: fix generated table name in dataframe creation (#1078) 2021-10-11 21:50:43 -07:00
Patrick More 4687899957 Add function volatility to Signature (#1071)
* Added function volatility to Signature

* Ran cargo fmt and clippy

* Added Stable function volatility

* Moved existing Signature functionality into TypeSignature and add Signature type which has volatility calssification

* Added function volatility to python bindings

* Made volatility method more explicit and signature less error-prone.

* ran formatters on code

* Made order of udf related functions in python more consistent
2021-10-07 06:38:48 -04:00
Francis Du 91a450fcc3 feat: support joins on Float32/Float64 columns (#1054) 2021-09-26 10:12:09 -07:00
rdettai 299ab7d1c3 Make TableProvider.scan() and PhysicalPlanner::create_physical_plan() async (#1013)
* [feat] make TableProvider.scan() async

* [fix] python bindings

* [fix] phantom files

* [fix] removed parallelization

* [fix] remove async from sql after rebase
2021-09-21 05:57:27 -04:00
Jiayu Liu 22fcb3d7a6 add requirements.txt of different python versions (#977)
* use 37 and 38
* update readme
* update ci as well
* adding version update guidance
2021-09-14 22:17:35 -07:00
QP Hou 5e2ce23b55 manage python binding metadata with pyproject.toml (#994)
* manage python binding metadata with pyproject.toml

* Generate full LICENSE.txt file in release CICD run
2021-09-14 22:05:01 -07:00
Ruihang Xia d6032f4e1f fix deadlink to DataFusion (#1002) 2021-09-14 16:37:53 -04:00
QP Hou 2615628007 register datafusion.functions as a python package (#995) 2021-09-13 18:02:31 -07:00
mmuru bfb3e6a8b2 Add support to perform sql query on in-memory datasource. (#981)
Co-authored-by: Muru Muthusamy <mmuthusamy@womply.com>
2021-09-12 22:25:55 -07:00
Jiayu Liu 141aed5a5a use nightly-2021-09-07 for python builds (#978)
* use nightly-2021-09-06

* use nightly-2021-09-07
2021-09-09 14:14:21 -04:00
QP Hou 75fc80c13f add cargo.lock file for python binding (#982) 2021-09-09 19:05:51 +02:00
QP Hou bb616bf94b update datafusion to 5.1.0 for python binding (#967)
* update datafusion to 5.1.0 for python binding
2021-09-07 21:32:03 -07:00
Francis Du 775477f037 [Python] - Support show function for DataFrame api of python library (#942)
* feat: Add show function for python library

* Update python/src/dataframe.rs

Co-authored-by: Andy Grove <andygrove73@gmail.com>
2021-08-29 18:27:55 -07:00
QP Hou 1fa6a7e5d6 build python wheels for release rc tags (#927) 2021-08-23 12:24:36 -07:00
QP Hou 96658eb100 Create changelog for datafusion and ballista release (#801)
* create changelog for datafusion and ballista release

Created changelog for the following projects:

* datafusion 5.0.0
* python 0.3.0
* ballista 0.5.0

Other changes:

* updated CHANGELOG.md in the repo root to point to changelogs in
subproject folders
* updated dev/release/update_change_log.sh to take subproject as argument
* added dev/update_ballista_versions.py to help update ballista crate versions.

* ignore autogenerated CHANGELOG.md from prettier run

* expand file glob within prettier

'**' pattern is not supported to some of the shells including the one we
use in CI.

* exclude subproject changelog from rat

* update changelog to latest master

* update changelog with updated pr labels

* update datafusion version in readme

* add verify-release-candidate.sh

* update changelog for latest master

* update release email formatting

* update verify-release-candidate.sh permission

* cargo test all in release verify script
2021-08-10 09:02:57 -07:00
Krisztián Szűcs 5a7bbccf95 Expose ExecutionContext.register_csv to the python bindings (#524)
* Expose register_csv

* Validate delimiter

* Fix tests

* Pass schema

* unused imports

* add linting

* Update deps

* Restore venv
2021-08-06 14:53:14 -04:00
Jiayu Liu 2a4f94e622 update python crate (#768) 2021-07-23 16:50:12 -04:00
Jiayu Liu 3a24113569 fix maturin version in pyproject.toml (#756) 2021-07-20 08:29:59 -04:00
Jiayu Liu 6cfaa29491 add more math functions and unit tests to python crate (#748)
* rename functions

* add test math functions

* add python math functions
2021-07-20 08:29:36 -04:00
Jiayu Liu c51e9ece18 update python crate to support latest pyo3 syntax and gil sematics (#741)
* update dependencies

* rename macros

* update pyo3 deprecate
2021-07-19 15:37:43 -04:00
Jiayu Liu a4f6cdd649 fix arrow type id mapping (#742) 2021-07-19 11:47:23 -04:00
Jiayu Liu afe29bd3c6 update python crate dependencies (#740)
* update dependencies

* rename macros
2021-07-18 07:28:34 -04:00
Jiayu Liu 4a65ee37ab fix python crate with the changes to logical plan builder (#650) 2021-07-02 17:18:47 -04:00
Jiayu Liu 3ef7f3495b use nightly nightly-2021-05-10 (#536) 2021-06-10 18:16:21 -04:00
Krisztián Szűcs 42f908e2b5 Define the unittests using pytest (#493)
* Use pytest

* Formatting

* Update GHA conf

* Remove TODO note

* Format

* Test requirements file

* Update workflow file

* Merge requirements file

* Update workflow file
2021-06-09 14:23:23 -04:00
Jiayu Liu e1a03a417e use requirements.txt to formalize python deps (#484)
* use requirements.txt to formalize python deps

* fix header

* update readme
2021-06-04 13:01:39 -04:00
Daniël Heres a0370b273c Implement missing join types for Python dataframe (#503)
* Implement missing join types for Python dataframe

* Fix mapping

* Use commit hash instead

* undo some changes

* Remove imports

* Undo removed part

* Undo removed part

* minimize changes
2021-06-04 18:37:15 +02:00
Jiayu Liu 53792ecf0b simplify python function definitions (#477) 2021-06-04 05:37:03 +02:00
Jiayu Liu e713bc3b33 update cargo.toml in python crate and fix unit test due to hash joins (#483)
* update cargo.toml

* fix group by

* remove unused imports
2021-06-03 17:45:52 -04:00
Krisztián Szűcs d0d677bb57 Expose DataFrame::sort (#469) 2021-06-02 16:41:45 -04:00