Skip to content

Commit d11ba7c

Browse files
authored
Merge branch 'pola-rs:main' into main
2 parents 31b62e7 + 9f1a742 commit d11ba7c

1,104 files changed

Lines changed: 40400 additions & 26172 deletions

File tree

Some content is hidden

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

.github/CODEOWNERS

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55
/crates/polars-parquet/ @ritchie46 @orlp @c-peters @coastalwhite
66
/crates/polars-time/ @ritchie46 @orlp @c-peters @MarcoGorelli
77
/crates/polars-python/ @ritchie46 @c-peters @alexander-beedie @MarcoGorelli @reswqa
8-
/crates/polars-python/src/lazyframe/visit.rs @ritchie46 @c-peters @alexander-beedie @MarcoGorelli @reswqa @wence-
9-
/crates/polars-python/src/lazyframe/visitor/ @ritchie46 @c-peters @alexander-beedie @MarcoGorelli @reswqa @wence-
8+
/crates/polars-python/src/lazyframe/visit.rs @ritchie46 @c-peters @alexander-beedie @MarcoGorelli @reswqa @wence- @Matt711
9+
/crates/polars-python/src/lazyframe/visitor/ @ritchie46 @c-peters @alexander-beedie @MarcoGorelli @reswqa @wence- @Matt711
1010
/py-polars/ @ritchie46 @c-peters @alexander-beedie @MarcoGorelli @reswqa

.github/issue-labeler.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
documentation:
44
- '/\bdocs\b|documentation/i'
55
performance:
6-
- '/performance/i'
6+
- '/performance|\bslow/i'
77
regression:
88
- '/regression/i'
99
A-dtype-categorical:
@@ -48,5 +48,7 @@ A-plugin:
4848
- '/plugin/i'
4949
A-sql:
5050
- '/\bsql\b|sqlcontext/i'
51+
A-selectors:
52+
- '/selector/i'
5153
A-streaming:
5254
- '/streaming/i'

.github/pull_request_template.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22
33
Please see the contribution guidelines: https://docs.pola.rs/development/contributing/#pull-requests.
44
5+
First-time contributors must adhere to the following rules, or your PR(s) will be closed:
6+
7+
- You must post a screenshot of you successfully running the test suite (`make test`),
8+
locally on your machine (not the CI).
9+
- You may not have more than one open PR at a time.
10+
511
Note that if you used AI to generate code there are additional requirements you
612
must fulfill for your PR to be reviewed. See the contribution guidelines for
713
details, afterwards you can use the following template if you wish:

.github/release-drafter.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,9 @@ autolabeler:
117117
- label: A-plugin
118118
title:
119119
- '/plugin/i'
120+
- label: A-selectors
121+
title:
122+
- '/selector/i'
120123
- label: A-streaming
121124
title:
122125
- '/streaming/i'

.github/workflows/docs-global.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ on:
1111
- python-release-docs
1212
workflow_dispatch:
1313

14+
env:
15+
RUSTFLAGS: -C debuginfo=0 # Do not produce debug symbols to keep memory usage down
16+
1417
jobs:
1518
markdown-link-check:
1619
runs-on: ubuntu-latest

.github/workflows/lint-global.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,7 @@ jobs:
1616
uses: dprint/check@v2.3
1717
- name: Spell Check with Typos
1818
uses: crate-ci/typos@v1.42.0
19+
- name: Install ripgrep
20+
run: sudo apt-get update && sudo apt-get install -y ripgrep
21+
- name: Check for FIXME comments
22+
run: make check-fixme

.github/workflows/lint-rust.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848
save-if: ${{ github.ref_name == 'main' }}
4949

5050
- name: Run cargo clippy with all features enabled
51-
run: cargo clippy --workspace --all-targets --all-features --locked -- -D warnings -D clippy::dbg_macro
51+
run: python3 tools/cargo-fail-warning.py clippy --workspace --all-targets --all-features --locked -- -W clippy::dbg_macro
5252

5353
# Default feature set should compile on the stable toolchain
5454
clippy-stable:
@@ -68,7 +68,7 @@ jobs:
6868
save-if: ${{ github.ref_name == 'main' }}
6969

7070
- name: Run cargo clippy
71-
run: cargo clippy --all-targets --locked -- -D warnings -D clippy::dbg_macro
71+
run: python3 tools/cargo-fail-warning.py clippy --all-targets --locked -- -W clippy::dbg_macro
7272

7373
rustfmt:
7474
if: github.ref_name != 'main'

.github/workflows/pr-labeler.yml

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,40 @@ jobs:
1212
labeler:
1313
runs-on: ubuntu-latest
1414
steps:
15-
- name: Check pull request title
16-
uses: thehanimo/pr-title-checker@v1.4.2
17-
with:
18-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
19-
2015
- name: Label pull request
2116
uses: release-drafter/release-drafter@v6
2217
with:
2318
disable-releaser: true
2419
env:
2520
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
21+
22+
- name: Label first-time contributors
23+
# First-time contributor check from https://github.com/llvm/llvm-project/blob/0af2d43e06415ce1e8a5d49e864c3881048dd08b/.github/workflows/new-prs.yml#L22.
24+
# Only label PRs opened for the first time by someone new to this repo
25+
# or to GitHub as a whole. Ideally we'd look for FIRST_TIMER or
26+
# FIRST_TIME_CONTRIBUTOR, but this does not appear to work. Instead
27+
# check that we do not have any of the other author associations.
28+
# See https://docs.github.com/en/webhooks/webhook-events-and-payloads?actionType=opened#pull_request
29+
# for all the possible values.
30+
if: >-
31+
(github.event.action == 'opened') &&
32+
(github.event.pull_request.author_association != 'COLLABORATOR') &&
33+
(github.event.pull_request.author_association != 'CONTRIBUTOR') &&
34+
(github.event.pull_request.author_association != 'MANNEQUIN') &&
35+
(github.event.pull_request.author_association != 'MEMBER') &&
36+
(github.event.pull_request.author_association != 'OWNER')
37+
uses: actions/github-script@v7
38+
with:
39+
github-token: ${{ secrets.GITHUB_TOKEN }}
40+
script: |
41+
await github.rest.issues.addLabels({
42+
owner: context.repo.owner,
43+
repo: context.repo.repo,
44+
issue_number: context.payload.pull_request.number,
45+
labels: ['first-contribution'],
46+
});
47+
48+
- name: Check pull request title
49+
uses: thehanimo/pr-title-checker@v1.4.2
50+
with:
51+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/test-coverage.yml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,20 @@ jobs:
159159
-n auto
160160
-m "not may_fail_auto_streaming and not slow and not write_disk and not release and not docs and not hypothesis and not benchmark and not ci_only"
161161
-k 'not test_polars_import'
162-
--cov --cov-report xml:main.xml --cov-fail-under=0
162+
--cov --cov-report xml:auto-streaming.xml --cov-fail-under=0
163+
164+
- name: Run Python tests - streaming with morsel size 4
165+
working-directory: py-polars
166+
env:
167+
POLARS_AUTO_NEW_STREAMING: 1
168+
POLARS_IDEAL_MORSEL_SIZE: 4
169+
POLARS_TIMEOUT_MS: 60000
170+
run: >
171+
pytest
172+
-n auto
173+
-m "not may_fail_auto_streaming and not slow and not write_disk and not release and not docs and not hypothesis and not benchmark and not ci_only"
174+
-k 'not test_polars_import'
175+
--cov --cov-report xml:small-morsel.xml --cov-fail-under=0
163176
164177
- name: Run Python tests - async reader
165178
working-directory: py-polars
@@ -182,6 +195,8 @@ jobs:
182195
path: |
183196
coverage-python.lcov
184197
py-polars/main.xml
198+
py-polars/auto-streaming.xml
199+
py-polars/small-morsel.xml
185200
py-polars/async.xml
186201
187202
upload-coverage:

.github/workflows/test-pyodide.yml

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,9 @@
11
name: Test Pyodide
22

33
on:
4-
pull_request:
5-
paths:
6-
- Cargo.lock
7-
- py-polars/**
8-
- docs/source/src/python/**
9-
- crates/**
10-
- .github/workflows/test-pyodide.yml
114
push:
125
branches:
13-
- main
14-
paths:
15-
- Cargo.lock
16-
- crates/**
17-
- docs/source/src/python/**
18-
- py-polars/**
19-
- .github/workflows/test-pyodide.yml
6+
- disabled-pyodide-tests # disabled for now
207

218
concurrency:
229
group: ${{ github.workflow }}-${{ github.ref }}
@@ -43,7 +30,7 @@ jobs:
4330
FEATURES: csv|ipc|ipc_streaming|parquet|async|scan_lines|json|extract_jsonpath|catalog|cloud|polars_cloud|tokio|clipboard|decompress|new_streaming
4431
run: |
4532
sed -i 's/serde_json = { workspace = true, optional = true }/serde_json = { workspace = true }/' crates/polars-python/Cargo.toml
46-
sed -i 's/"serde_json", //' crates/polars-python/Cargo.toml
33+
sed -i 's/"serde_json",//' crates/polars-python/Cargo.toml
4734
sed -E -i "/^ \"(${FEATURES})\",$/d" crates/polars-python/Cargo.toml py-polars/runtime/polars-runtime-32/Cargo.toml
4835
4936
- name: Setup emsdk

0 commit comments

Comments
 (0)