Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
118 changes: 59 additions & 59 deletions pixi.lock

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,20 @@ readme = "README.md"
requires-python = ">=3.10,<3.15"
dependencies = [
"protobuf >=5,<7",
"substrait-protobuf==0.79.0",
"substrait-extensions==0.79.0",
"substrait-protobuf==0.85.0",
"substrait-extensions==0.85.0",
]
dynamic = ["version"]

[tool.setuptools_scm]
write_to = "src/substrait/_version.py"

[project.optional-dependencies]
extensions = ["antlr4-python3-runtime", "substrait-antlr==0.79.0", "pyyaml"]
extensions = ["antlr4-python3-runtime", "substrait-antlr==0.85.0", "pyyaml"]
sql = ["sqloxide; python_version < '3.14'", "deepdiff"]

[dependency-groups]
dev = ["pytest >= 7.0.0", "antlr4-python3-runtime", "substrait-antlr==0.79.0", "pyyaml", "sqloxide; python_version < '3.14'", "deepdiff", "duckdb<=1.2.2; python_version < '3.14'", "datafusion"]
dev = ["pytest >= 7.0.0", "antlr4-python3-runtime", "substrait-antlr==0.85.0", "pyyaml", "sqloxide; python_version < '3.14'", "deepdiff", "duckdb<=1.2.2; python_version < '3.14'", "datafusion"]

[tool.pytest.ini_options]
pythonpath = "src"
Expand Down
102 changes: 0 additions & 102 deletions src/substrait/bimap.py

This file was deleted.

83 changes: 0 additions & 83 deletions src/substrait/builders/extended_expression.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
from substrait.type_inference import infer_extended_expression_schema
from substrait.utils import (
merge_extension_declarations,
merge_extension_uris,
merge_extension_urns,
type_num_names,
)
Expand Down Expand Up @@ -238,23 +237,10 @@ def resolve(
)
]

# Create URI extension for backwards compatibility during URI -> URN migration
uri = registry._uri_urn_bimap.get_uri(urn)
func_extension_uris = []
if uri:
uri_anchor = registry.lookup_uri_anchor(uri)
if uri_anchor:
func_extension_uris = [
ste.SimpleExtensionURI(extension_uri_anchor=uri_anchor, uri=uri)
]

func_extensions = [
ste.SimpleExtensionDeclaration(
extension_function=ste.SimpleExtensionDeclaration.ExtensionFunction(
extension_urn_reference=registry.lookup_urn(urn),
extension_uri_reference=registry.lookup_uri_anchor(uri)
if uri
else 0,
function_anchor=func[0].anchor,
name=str(func[0]),
)
Expand All @@ -265,10 +251,6 @@ def resolve(
func_extension_urns, *[b.extension_urns for b in bound_expressions]
)

extension_uris = merge_extension_uris(
func_extension_uris, *[b.extension_uris for b in bound_expressions]
)

extensions = merge_extension_declarations(
func_extensions, *[b.extensions for b in bound_expressions]
)
Expand Down Expand Up @@ -297,7 +279,6 @@ def resolve(
],
base_schema=base_schema,
extension_urns=extension_urns,
extension_uris=extension_uris,
extensions=extensions,
)

Expand Down Expand Up @@ -336,23 +317,10 @@ def resolve(
)
]

# Create URI extension for backwards compatibility during URI -> URN migration
uri = registry._uri_urn_bimap.get_uri(urn)
func_extension_uris = []
if uri:
uri_anchor = registry.lookup_uri_anchor(uri)
if uri_anchor:
func_extension_uris = [
ste.SimpleExtensionURI(extension_uri_anchor=uri_anchor, uri=uri)
]

func_extensions = [
ste.SimpleExtensionDeclaration(
extension_function=ste.SimpleExtensionDeclaration.ExtensionFunction(
extension_urn_reference=registry.lookup_urn(urn),
extension_uri_reference=registry.lookup_uri_anchor(uri)
if uri
else 0,
function_anchor=func[0].anchor,
name=str(func[0]),
)
Expand All @@ -363,10 +331,6 @@ def resolve(
func_extension_urns, *[b.extension_urns for b in bound_expressions]
)

extension_uris = merge_extension_uris(
func_extension_uris, *[b.extension_uris for b in bound_expressions]
)

extensions = merge_extension_declarations(
func_extensions, *[b.extensions for b in bound_expressions]
)
Expand All @@ -391,7 +355,6 @@ def resolve(
],
base_schema=base_schema,
extension_urns=extension_urns,
extension_uris=extension_uris,
extensions=extensions,
)

Expand Down Expand Up @@ -436,23 +399,10 @@ def resolve(
)
]

# Create URI extension for backwards compatibility during URI -> URN migration
uri = registry._uri_urn_bimap.get_uri(urn)
func_extension_uris = []
if uri:
uri_anchor = registry.lookup_uri_anchor(uri)
if uri_anchor:
func_extension_uris = [
ste.SimpleExtensionURI(extension_uri_anchor=uri_anchor, uri=uri)
]

func_extensions = [
ste.SimpleExtensionDeclaration(
extension_function=ste.SimpleExtensionDeclaration.ExtensionFunction(
extension_urn_reference=registry.lookup_urn(urn),
extension_uri_reference=registry.lookup_uri_anchor(uri)
if uri
else 0,
function_anchor=func[0].anchor,
name=str(func[0]),
)
Expand All @@ -465,12 +415,6 @@ def resolve(
*[b.extension_urns for b in bound_partitions],
)

extension_uris = merge_extension_uris(
func_extension_uris,
*[b.extension_uris for b in bound_expressions],
*[b.extension_uris for b in bound_partitions],
)

extensions = merge_extension_declarations(
func_extensions,
*[b.extensions for b in bound_expressions],
Expand Down Expand Up @@ -504,7 +448,6 @@ def resolve(
],
base_schema=base_schema,
extension_urns=extension_urns,
extension_uris=extension_uris,
extensions=extensions,
)

Expand All @@ -531,12 +474,6 @@ def resolve(

bound_else = resolve_expression(_else, base_schema, registry)

extension_uris = merge_extension_uris(
*[b[0].extension_uris for b in bound_ifs],
*[b[1].extension_uris for b in bound_ifs],
bound_else.extension_uris,
)

extension_urns = merge_extension_urns(
*[b[0].extension_urns for b in bound_ifs],
*[b[1].extension_urns for b in bound_ifs],
Expand Down Expand Up @@ -588,7 +525,6 @@ def resolve(
)
],
base_schema=base_schema,
extension_uris=extension_uris,
extension_urns=extension_urns,
extensions=extensions,
)
Expand Down Expand Up @@ -616,12 +552,6 @@ def resolve(
]
bound_else = resolve_expression(_else, base_schema, registry)

extension_uris = merge_extension_uris(
bound_match.extension_uris,
*[b.extension_uris for _, b in bound_ifs],
bound_else.extension_uris,
)

extension_urns = merge_extension_urns(
bound_match.extension_urns,
*[b.extension_urns for _, b in bound_ifs],
Expand Down Expand Up @@ -657,7 +587,6 @@ def resolve(
],
base_schema=base_schema,
extension_urns=extension_urns,
extension_uris=extension_uris,
extensions=extensions,
)

Expand All @@ -675,10 +604,6 @@ def resolve(
bound_value = resolve_expression(value, base_schema, registry)
bound_options = [resolve_expression(o, base_schema, registry) for o in options]

extension_uris = merge_extension_uris(
bound_value.extension_uris, *[b.extension_uris for b in bound_options]
)

extension_urns = merge_extension_urns(
bound_value.extension_urns, *[b.extension_urns for b in bound_options]
)
Expand All @@ -705,7 +630,6 @@ def resolve(
],
base_schema=base_schema,
extension_urns=extension_urns,
extension_uris=extension_uris,
extensions=extensions,
)

Expand All @@ -726,11 +650,6 @@ def resolve(
[resolve_expression(e, base_schema, registry) for e in o] for o in options
]

extension_uris = merge_extension_uris(
*[b.extension_uris for b in bound_value],
*[e.extension_uris for b in bound_options for e in b],
)

extension_urns = merge_extension_urns(
*[b.extension_urns for b in bound_value],
*[e.extension_urns for b in bound_options for e in b],
Expand Down Expand Up @@ -762,7 +681,6 @@ def resolve(
],
base_schema=base_schema,
extension_urns=extension_urns,
extension_uris=extension_uris,
extensions=extensions,
)

Expand Down Expand Up @@ -798,7 +716,6 @@ def resolve(
],
base_schema=base_schema,
extension_urns=bound_input.extension_urns,
extension_uris=bound_input.extension_uris,
extensions=bound_input.extensions,
)

Expand Down
8 changes: 1 addition & 7 deletions src/substrait/builders/plan.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
from substrait.type_inference import infer_plan_schema
from substrait.utils import (
merge_extension_declarations,
merge_extension_uris,
merge_extension_urns,
)
from substrait.version import substrait_version
Expand All @@ -47,13 +46,8 @@ def _create_default_version():


def _merge_extensions(*objs):
"""Merge extension URIs, URNs, and declarations from multiple plan/expression objects.

During the URI -> URN migration period, we maintain both URI and URN references
for backwards compatibility.
"""
"""Merge extension URNs and declarations from multiple plan/expression objects."""
return {
"extension_uris": merge_extension_uris(*[b.extension_uris for b in objs if b]),
"extension_urns": merge_extension_urns(*[b.extension_urns for b in objs if b]),
"extensions": merge_extension_declarations(*[b.extensions for b in objs if b]),
}
Expand Down
Loading