forked from substrait-io/substrait-validator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
97 lines (74 loc) · 2.84 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
[package]
name = "substrait-validator"
description = "Substrait validator"
homepage = "https://substrait.io/"
repository = "https://github.com/substrait-io/substrait"
readme = "README.md"
version = "0.0.11"
edition = "2021"
license = "Apache-2.0"
include = ["src", "build.rs", "README.md"]
[features]
# Enable to get some extra developer documentation from cargo doc. Be sure to
# use this with --document-private-items as well. Enabling this doesn't
# functionally change anything.
private_docs = []
[dependencies]
# Prost is used to deal with protobuf serialization and deserialization.
prost = "0.10"
prost-types = "0.10"
# Prost doesn't generate any introspection stuff, so we hack that stuff in with
# our own procedural macros.
substrait-validator-derive = { path = "../derive", version = "0.0.11" }
# Google/protobuf has a funny idea about case conventions (it converts them all
# over the place) and prost remaps to Rust's conventions to boot. So, to
# recover the original names as much as possible, we need some case conversion
# of our own.
heck = "0.5"
# Used for dealing with deserializing the YAML extension files.
serde_yaml = "0.9"
# The schema for the extension files uses jsonschema syntax. The rust crate for
# schema validation with this format this uses serde_json types as input for
# both the schema and the input, so we need to depend on that as well, even
# though we don't actually do any JSON serialization and deserialization.
jsonschema = { version = "=0.18.0", default-features = false }
serde_json = "1"
# Used for checking identifier syntax (could be removed if regexes don't end up
# being useful elsewhere too).
regex = "1.10"
# Used for the type derivation DSL.
antlr-rust = "0.3.0-beta"
# Used for checking URI syntax.
uriparse = "0.6"
# Used for only compiling regexes and the extension file schema once.
once_cell = "1.19"
# Various small helper crates for the diagnostic/error enums.
thiserror = "1.0"
strum = "0.26"
strum_macros = "0.26"
num-traits = "0.2"
num-derive = "0.4"
# For intersperse().
itertools = "0.13"
# Glob patterns are used in the configuration structure and are used to
# syntax-check URI glob patterns in the Substrait plans.
glob = "0.3"
# Used to resolve YAML URIs. If the curl feature is disabled, only file://
# URLs will work without adding a custom resolver.
url = "2.5"
curl = { version = "0.4", optional = true }
# Used for interpretation and conversion of various date/time-related literals
# in plans.
chrono = "0.4"
# Used for pretty-printing floating point literal values.
float-pretty-print = "0.1"
# Used by the HTML exporter.
base64 = "0.22"
percent-encoding = "2.3"
# Used for representing and checking Substrait versions.
semver = "1.0"
[build-dependencies]
# Used for generating Rust structs from the protobuf definitions.
prost-build = "0.10"
# Used to automatically find all protobuf files.
walkdir = "2"