[package]
name = "substrait"
version = "0.36.0"
edition = "2021"
rust-version = "1.70"
description = "Cross-Language Serialization for Relational Algebra"
documentation = "https://docs.rs/substrait"
readme = "README.md"
homepage = "https://substrait.io"
repository = "https://github.com/substrait-io/substrait-rs"
license = "Apache-2.0"
keywords = ["substrait"]
build = "build.rs"
include = [
"LICENSE",
"build.rs",
"gen/",
"src/**/*.rs",
"substrait/LICENSE",
"substrait/README.md",
"substrait/extensions/**/*.yaml",
"substrait/proto/**/*.proto",
"substrait/text/**/*.yaml",
]
[features]
default = []
extensions = ["dep:once_cell", "dep:serde_yaml"]
parse = ["dep:hex", "dep:thiserror", "dep:url", "semver"]
protoc = ["dep:protobuf-src"]
semver = ["dep:semver"]
serde = ["dep:pbjson", "dep:pbjson-build", "dep:pbjson-types"]
[dependencies]
hex = { version = "0.4.3", optional = true }
once_cell = { version = "1.19.0", optional = true }
pbjson = { version = "0.6.0", optional = true }
pbjson-types = { version = "0.6.0", optional = true }
prost = "0.12.3"
prost-types = "0.12.3"
url = { version = "2.5.0", optional = true }
semver = { version = "1.0.22", optional = true }
serde = { version = "1.0.197", features = ["derive"] }
serde_json = "1.0.114"
serde_yaml = { version = "0.9.32", optional = true }
thiserror = { version = "1.0.57", optional = true }
[build-dependencies]
heck = "0.5.0"
pbjson-build = { version = "0.6.2", optional = true }
prettyplease = "0.2.4"
prost-build = { version = "0.12.3", default-features = false }
protobuf-src = { version = "2.0.0", optional = true }
schemars = "0.8.16"
semver = "1.0.22"
serde_yaml = "0.9.32"
syn = "2.0.11"
typify = "0.1.0"
walkdir = "2.5.0"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]