Skip to content

Commit e36642e

Browse files
authored
Merge branch 'substrait-io:main' into correlated_reference
2 parents 4c94434 + 01df97b commit e36642e

178 files changed

Lines changed: 3866 additions & 4862 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.

.flake8

Lines changed: 0 additions & 15 deletions
This file was deleted.

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# SPDX-License-Identifier: Apache-2.0
22

3-
* @jacques-n @cpcloud @westonpace @epsilonprime @vbarua @yongchul
3+
* @jacques-n @cpcloud @westonpace @epsilonprime @vbarua @yongchul @benbellick @nielspardon

.github/dependabot.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ updates:
66
interval: "daily"
77

88
- package-ecosystem: "pip"
9-
directory: "/site"
9+
directory: "/"
1010
schedule:
1111
interval: "daily"

.github/workflows/pr.yml

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
runs-on: ubuntu-latest
99
steps:
1010
- uses: actions/checkout@v6
11-
- uses: prefix-dev/setup-pixi@v0.9.4
11+
- uses: prefix-dev/setup-pixi@v0.9.5
1212
with:
1313
pixi-version: v0.66.0
1414
cache: true
@@ -19,7 +19,7 @@ jobs:
1919
runs-on: ubuntu-latest
2020
steps:
2121
- uses: actions/checkout@v6
22-
- uses: prefix-dev/setup-pixi@v0.9.4
22+
- uses: prefix-dev/setup-pixi@v0.9.5
2323
with:
2424
pixi-version: v0.66.0
2525
cache: true
@@ -30,7 +30,7 @@ jobs:
3030
runs-on: ubuntu-latest
3131
steps:
3232
- uses: actions/checkout@v6
33-
- uses: prefix-dev/setup-pixi@v0.9.4
33+
- uses: prefix-dev/setup-pixi@v0.9.5
3434
with:
3535
pixi-version: v0.66.0
3636
cache: true
@@ -43,7 +43,7 @@ jobs:
4343
runs-on: ubuntu-latest
4444
steps:
4545
- uses: actions/checkout@v6
46-
- uses: prefix-dev/setup-pixi@v0.9.4
46+
- uses: prefix-dev/setup-pixi@v0.9.5
4747
with:
4848
pixi-version: v0.66.0
4949
cache: true
@@ -54,7 +54,7 @@ jobs:
5454
runs-on: ubuntu-latest
5555
steps:
5656
- uses: actions/checkout@v6
57-
- uses: prefix-dev/setup-pixi@v0.9.4
57+
- uses: prefix-dev/setup-pixi@v0.9.5
5858
with:
5959
pixi-version: v0.66.0
6060
cache: true
@@ -65,23 +65,21 @@ jobs:
6565
runs-on: ubuntu-latest
6666
steps:
6767
- uses: actions/checkout@v6
68-
- uses: prefix-dev/setup-pixi@v0.9.4
68+
- uses: prefix-dev/setup-pixi@v0.9.5
6969
with:
7070
pixi-version: v0.66.0
7171
cache: true
7272
- name: Validate YAML extensions
7373
run: |
74-
pixi run check-jsonschema --schemafile text/simple_extensions_schema.yaml extensions/*.yaml
75-
pixi run check-jsonschema --schemafile text/simple_extensions_schema.yaml site/examples/**/*.yaml
76-
pixi run check-jsonschema --schemafile text/dialect_schema.yaml dialects/tests/*.yaml
74+
pixi run check-jsonschema
7775
dry_run_release:
7876
name: Dry-run release
7977
runs-on: ubuntu-latest
8078
steps:
8179
- uses: actions/checkout@v6
8280
with:
8381
fetch-depth: 0
84-
- uses: prefix-dev/setup-pixi@v0.9.4
82+
- uses: prefix-dev/setup-pixi@v0.9.5
8583
with:
8684
pixi-version: v0.66.0
8785
cache: true
@@ -92,24 +90,24 @@ jobs:
9290
runs-on: ubuntu-latest
9391
steps:
9492
- uses: actions/checkout@v6
95-
- uses: prefix-dev/setup-pixi@v0.9.4
93+
- uses: prefix-dev/setup-pixi@v0.9.5
9694
with:
9795
pixi-version: v0.66.0
9896
cache: true
9997
- name: Generate protobuf bindings
10098
run: pixi run generate-protobuf
101-
- name: Black
102-
run: pixi run black
103-
- name: Flake8
104-
run: pixi run flake8
99+
- name: Ruff format check
100+
run: pixi run ruff-format-check
101+
- name: Ruff lint
102+
run: pixi run ruff-lint
105103
- name: Run tests including test_substrait_extension_coverage
106104
run: pixi run test
107105
check-proto-prefix:
108106
name: Check proto-prefix.py
109107
runs-on: ubuntu-latest
110108
steps:
111109
- uses: actions/checkout@v6
112-
- uses: prefix-dev/setup-pixi@v0.9.4
110+
- uses: prefix-dev/setup-pixi@v0.9.5
113111
with:
114112
pixi-version: v0.66.0
115113
cache: true

.github/workflows/pr_breaking.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
runs-on: ubuntu-latest
1010
steps:
1111
- uses: actions/checkout@v6
12-
- uses: prefix-dev/setup-pixi@v0.9.4
12+
- uses: prefix-dev/setup-pixi@v0.9.5
1313
with:
1414
pixi-version: v0.66.0
1515
cache: true

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
fetch-depth: 0
3030
token: ${{ steps.generate-token.outputs.token }}
3131

32-
- uses: prefix-dev/setup-pixi@v0.9.4
32+
- uses: prefix-dev/setup-pixi@v0.9.5
3333
with:
3434
pixi-version: v0.66.0
3535
cache: true

.github/workflows/site.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
if: ${{ github.repository == 'substrait-io/substrait' }}
1616
steps:
1717
- uses: actions/checkout@v6
18-
- uses: prefix-dev/setup-pixi@v0.9.4
18+
- uses: prefix-dev/setup-pixi@v0.9.5
1919
with:
2020
pixi-version: v0.66.0
2121
cache: true

.pre-commit-config.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ repos:
1313
hooks:
1414
- id: commitlint
1515
stages: [commit-msg]
16-
- repo: https://github.com/psf/black
17-
rev: 24.8.0
16+
- repo: https://github.com/astral-sh/ruff-pre-commit
17+
rev: v0.8.4
1818
hooks:
19-
- id: black
20-
- repo: https://github.com/pycqa/flake8
21-
rev: 7.0.0
22-
hooks:
23-
- id: flake8
19+
# Run the linter
20+
- id: ruff
21+
args: [--fix]
22+
# Run the formatter
23+
- id: ruff-format
2424
- repo: local
2525
hooks:
2626
- id: check-substrait-extensions_coverage

CHANGELOG.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,51 @@
11
Release Notes
22
---
33

4+
## [0.88.0](https://github.com/substrait-io/substrait/compare/v0.87.0...v0.88.0) (2026-04-12)
5+
6+
### ⚠ BREAKING CHANGES
7+
8+
* **extensions:** deprecates the function signatures for std_dev and
9+
variance using function options in favor of the versions using enum
10+
arguments
11+
12+
Signed-off-by: Niels Pardon <par@zurich.ibm.com>
13+
* **dialect:** explicitly defines the maximum length of `FIXEDBINARY`
14+
in the documentation which was already existent in the protobuf
15+
specification due to the use of `int32` for the `length` argument
16+
17+
- adds `max_length` for `FIXED_BINARY`, `VARCHAR`, `FIXED_CHAR` to the
18+
dialect schema
19+
- adds `max_precision` and `max_scale` for `DECIMAL` to the dialect
20+
schema
21+
- updated the documentation to mention the maximum length for
22+
`FIXEDBINARY` which is given by the [use of `int32` for the `length`
23+
field in the
24+
proto](https://github.com/substrait-io/substrait/blob/7cceb8369cd533134431979835124de5634a4a47/proto/substrait/type.proto#L178-L179)
25+
26+
follow-up to https://github.com/substrait-io/substrait/pull/961
27+
fixes https://github.com/substrait-io/substrait/issues/965
28+
* removes the deprecated `time`, `timestamp` and
29+
`timestamp_tz` types from:
30+
31+
- proto files
32+
- dialect schema
33+
- extension yamls
34+
- ANTLR grammar
35+
- test cases
36+
- coverage python code
37+
- documentation
38+
* removed Aggregate.Grouping.grouping_expressions field
39+
40+
### Features
41+
42+
* add TopNRel physical operator with WITH TIES support ([#1009](https://github.com/substrait-io/substrait/issues/1009)) ([6cf8ff3](https://github.com/substrait-io/substrait/commit/6cf8ff3f63eacc81460be38afd41814b89c5d39f))
43+
* **dialect:** support max length, scale, precision for parameterized types ([#1030](https://github.com/substrait-io/substrait/issues/1030)) ([edaed64](https://github.com/substrait-io/substrait/commit/edaed64c7b64b69a0bb22ce7bc965d7513a5ca91))
44+
* **extensions:** deprecate std_dev and variance using function options ([#1019](https://github.com/substrait-io/substrait/issues/1019)) ([fc6ab3c](https://github.com/substrait-io/substrait/commit/fc6ab3cc3bb189f47e525db7f4b0c8a94b7b69f9))
45+
* remove deprecated time, timestamp and timestamp_tz types ([#994](https://github.com/substrait-io/substrait/issues/994)) ([87d73b6](https://github.com/substrait-io/substrait/commit/87d73b663bcc153f9dda7dfe574dca36b1e4ed28)), closes [#980](https://github.com/substrait-io/substrait/issues/980)
46+
* removed AggregateRel.Grouping.grouping_expressions ([#1002](https://github.com/substrait-io/substrait/issues/1002)) ([c82f39a](https://github.com/substrait-io/substrait/commit/c82f39a077c23107e069a3e93eda97fd7b583555))
47+
* **tests:** use URN instead of path for extension references ([#1028](https://github.com/substrait-io/substrait/issues/1028)) ([dd25f77](https://github.com/substrait-io/substrait/commit/dd25f77278820ede469b185399e048215b907b56))
48+
449
## [0.87.0](https://github.com/substrait-io/substrait/compare/v0.86.0...v0.87.0) (2026-03-29)
550

651
### Features

CONTRIBUTING.md

Lines changed: 7 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ You can also use other Python tooling like `uv` with the PyPI dependencies decla
2222
Pixi manages two types of dependencies:
2323

2424
- **non-PyPI**: Includes all non-PyPI dependencies (Python itself, buf, ANTLR, Node.js, etc.) as `[tool.pixi.dependencies]` in `pyproject.toml`
25-
- **PyPI**: Includes all PyPI development dependencies (Black, Flake8, pytest, check-jsonschema, yamllint, etc.) and documentation dependencies (mkdocs and plugins) as a regular pyproject.toml `dev` dependency group in `pyproject.toml` which can be used with other Python package managers like `uv`.
25+
- **PyPI**: Includes all PyPI development dependencies (Ruff, pytest, check-jsonschema, yamllint, etc.) and documentation dependencies (mkdocs and plugins) as a regular pyproject.toml `dev` dependency group in `pyproject.toml` which can be used with other Python package managers like `uv`.
2626

2727
## Common Development Tasks
2828

@@ -31,11 +31,11 @@ Pixi provides convenient tasks for common development operations. Here are the m
3131
### Code Quality and Testing
3232

3333
```bash
34-
# Format code with Black
35-
pixi run black
34+
# Format code
35+
pixi run format
3636

37-
# Lint Python code with Flake8
38-
pixi run flake8
37+
# Lint code
38+
pixi run lint
3939

4040
# Run all tests
4141
pixi run test
@@ -44,30 +44,8 @@ pixi run test
4444
### Code Generation
4545

4646
```bash
47-
# Generate protobuf Python bindings
48-
pixi run generate-protobuf
49-
50-
# Generate ANTLR parsers
51-
pixi run generate-antlr
52-
```
53-
54-
### Validation and Linting
55-
56-
```bash
57-
# Lint protobuf files
58-
pixi run lint-protobuf
59-
60-
# Check protobuf formatting
61-
pixi run check-protobuf
62-
63-
# Lint YAML files
64-
pixi run yamllint
65-
66-
# Validate YAML extensions against schemas
67-
pixi run check-jsonschema --schemafile text/simple_extensions_schema.yaml extensions/*.yaml
68-
69-
# Check editorconfig compliance
70-
pixi run editorconfig-checker
47+
# Generate both protobuf Python bindings and ANTLR parsers
48+
pixi run generate
7149
```
7250

7351
### Documentation

0 commit comments

Comments
 (0)