Skip to content

Commit 108e024

Browse files
jdye64charlesblucaayushdg
authored
Add arrow datafusion python dependency (#1085)
* Introduce Arrow-DataFusion-Python, the new Apache Arrow community Python bindings for DataFusion and bare minimum refactoring we need in our repo to accomodate them * point to test upstream branch with custom build command * update conda build recipe to include rust compiler and setuptools-rust in every build stage * update cargo lock * lower setuptools-rust version for a test * Add actions for Rust environment setup * fix workflow syntax issue * Add RUSTFMT which output * Set rustfmt environment variable and validate it sticks * Updated Cargo.lock * Add RUSTFMT to the export script_env variables for the conda build * Set default to stable * Point to typify version with rustfmt fix, and update conda build file * Point to version of arrow-datafusion-python with the typify rustfmt fix * Refactoring: not from arrow-datafusion-python but general refactoring needed from updating datafusion version to 20.0.0 * Add setuptools-rust back to conda meta.yaml recipe from where I had accidentally deleted it earlier * Remove rust install step and also don't use container amd64/rust * Add setup-builder back to conda workflow action * Run apt-get commands as root * Add Rust installation to test.yml * Add Rust install to Rust.yml file because protoc is now needed when running cargo check to work with the substrait dependecy * Install protoc * tests * Change github action files * remove commented out code * Add protoc action to Rust CI stage * Add protoc action to Rust CI stage * Add protoc to other CI build steps so that substrait support can now be built * Add protoc to conda workflow file * Add Utf8 parsing support for WindowRanges * Get flat_name() from Column. This will include the table name in the new datafusion refactoring * Add protoc to github action step Test importing with bare requirements * Fix cargo tests * Add build.rs and target linker flags to ensure binary is linked against masOS python bindings * Updates for testing * Adjustments to fix failing pytests * More Pytest fixes and Rust test fixes * Remove mistakenly left inplace breakpoint() calls * Return np.timedelta instead of pd.timedelta for interval_month_day_nano * protoc changes and small formatting review suggestions * Include protoc back in rust.yml for cargo check command * set avg_days_in_month -> 30. Adjust update_depedencies script to point to arrow-datafusion-python repo * Add back logic for avg_days_in_month * Set average days per month to 30 * Adjust PyTest expected results to align with new avg_days_in_month of 30 days * Revert timestampdiff changes --------- Co-authored-by: Charles Blackmon-Luca <[email protected]> Co-authored-by: Ayush Dattagupta <[email protected]>
1 parent 73d7ef1 commit 108e024

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+2208
-443
lines changed

.github/workflows/rust.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ jobs:
3030
id: detect-trigger
3131
with:
3232
keyword: "[test-df-upstream]"
33+
- name: Install Protoc
34+
uses: arduino/setup-protoc@v1
35+
with:
36+
version: '3.x'
37+
repo-token: ${{ secrets.GITHUB_TOKEN }}
3338

3439
# Check crate compiles
3540
linux-build-lib:
@@ -48,6 +53,11 @@ jobs:
4853
run: |
4954
cd dask_planner
5055
bash update-dependencies.sh
56+
- name: Install Protoc
57+
uses: arduino/setup-protoc@v1
58+
with:
59+
version: '3.x'
60+
repo-token: ${{ secrets.GITHUB_TOKEN }}
5161
- name: Check workspace in debug mode
5262
run: |
5363
cd dask_planner
@@ -76,6 +86,11 @@ jobs:
7686
run: |
7787
cd dask_planner
7888
bash update-dependencies.sh
89+
- name: Install Protoc
90+
uses: arduino/setup-protoc@v1
91+
with:
92+
version: '3.x'
93+
repo-token: ${{ secrets.GITHUB_TOKEN }}
7994
- name: Run tests
8095
run: |
8196
cd dask_planner

.github/workflows/style.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ jobs:
1515
steps:
1616
- uses: actions/checkout@v3
1717
- uses: actions/setup-python@v4
18+
- name: Install Protoc
19+
uses: arduino/setup-protoc@v1
20+
with:
21+
version: '3.x'
22+
repo-token: ${{ secrets.GITHUB_TOKEN }}
1823
- uses: actions-rs/toolchain@v1
1924
with:
2025
toolchain: nightly

.github/workflows/test.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,11 @@ jobs:
109109
use-mamba: true
110110
python-version: "3.8"
111111
channel-priority: strict
112+
- name: Install Protoc
113+
uses: arduino/setup-protoc@v1
114+
with:
115+
version: '3.x'
116+
repo-token: ${{ secrets.GITHUB_TOKEN }}
112117
- name: Install dependencies and nothing else
113118
run: |
114119
mamba install "setuptools-rust>=1.5.2"

continuous_integration/environment-3.10-dev.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,4 @@ dependencies:
3232
- tpot
3333
- tzlocal>=2.1
3434
- uvicorn>=0.13.4
35+
- libprotobuf=3

continuous_integration/environment-3.8-dev.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,4 @@ dependencies:
3131
- tpot
3232
- tzlocal=2.1
3333
- uvicorn=0.13.4
34+
- libprotobuf=3

continuous_integration/environment-3.9-dev.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,4 @@ dependencies:
3232
- tpot
3333
- tzlocal>=2.1
3434
- uvicorn>=0.13.4
35+
- libprotobuf=3

continuous_integration/recipe/meta.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ requirements:
2828
- pip
2929
- python
3030
- setuptools-rust >=1.5.2
31+
- libprotobuf =3
3132
run:
3233
- python
3334
- dask >=2022.3.0

dask_planner/.cargo/config.toml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[target.x86_64-apple-darwin]
2+
rustflags = [
3+
"-C", "link-arg=-undefined",
4+
"-C", "link-arg=dynamic_lookup",
5+
]
6+
7+
[target.aarch64-apple-darwin]
8+
rustflags = [
9+
"-C", "link-arg=-undefined",
10+
"-C", "link-arg=dynamic_lookup",
11+
]

0 commit comments

Comments
 (0)