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
[]
= "rete-cli"
= true
= true
= true
= true
= true
= true
= "CLI to build and inspect Rete graph files."
= "https://docs.rs/rete-cli"
= "README.md"
= ["rdf", "sparql", "cli", "graph"]
= ["command-line-utilities", "database"]
= ["crates-io"]
= ["src/**", "tests/**", "build.rs", "Cargo.toml", "README.md", "LICENSE"]
[[]]
= "rete"
= "src/main.rs"
[]
# The CLI is always native, so it enables rete-core's `parallel` (rayon) feature
# to back `rete reach --parallel`, and `http` for the shared HTTP(S) range
# reader. (wasm builds rete-core without either.)
= { = "=0.4.2", = "../rete-core", = ["parallel", "http"] }
= true
= true
= "4"
= "0.2"
= true
# Turtle parsing for `rete build *.ttl`.
= true
# Transparent gzip on build inputs (`*.ttl.gz`, `*.nt.gz`, `*.trig.gz`) — the
# form every large public RDF dump ships in. Pure Rust (miniz_oxide), so it adds
# no C toolchain requirement; `MultiGzDecoder` also handles the concatenated
# members that `cat a.gz b.gz` produces.
= "1"
# Streaming zstd ENCODER for `rete export --compress zstd`. Already a workspace
# dependency (rete-core reads zstd-framed `.rete` sections with it), and the CLI
# is always native, so the C toolchain it needs is always present. rete-core
# keeps it behind its optional `compression` feature precisely so the wasm build
# can drop it; nothing here changes that split.
= { = true }
# Standard SPARQL Results JSON output + the Dataset Card schema (serde derive).
= { = "1", = ["derive"] }
= true
# Blocking HTTP(S) for range requests. The `tls` feature pulls rustls +
# webpki-roots (pure-Rust, no system OpenSSL) so `query-url`/`summary-url` work
# against https hosts — S3, GitHub, any CDN — which is the actual deployment story.
= { = "2", = false, = ["tls"] }
# `rete serve` — the minimal synchronous HTTP server behind the SPARQL endpoint
# (no async runtime; the engine is synchronous anyway).
= "0.12"
# Graceful Ctrl-C shutdown for `rete serve` (also flushes coverage/profiling data).
= "3"
# SPARQL *Update* parsing for `rete serve` (queries go through rete-core).
= true
# BLAKE3 of each build input, hashed while it streams (the build record). Already
# in the tree: rete-core's content hash is BLAKE3.
= true
# `--progress=bar` routes stderr through a pipe so the build's own lines print
# above the bar, and asks the terminal its width: dup/dup2/pipe/poll and the
# window size, through rustix's safe wrappers (no `unsafe` in the CLI). Already
# in the lock (via tempfile); Unix only — elsewhere the bar is drawn without
# the pipe.
[]
= { = "1.1", = false, = ["std", "event", "pipe", "stdio", "termios"] }
[]
= "2.0"
= "3.1"
= "3.20"
= true
# jemalloc as the global allocator wherever it builds (not MSVC). A bounded
# `rete export` churns millions of decoded chunk bodies through an LRU cache;
# glibc malloc could not return the freed space (allocations of every size
# share its arenas), so peak RSS ran to 1.75x `--memory-budget-mb` on a
# 14.75 GiB file while the live heap stayed within it. jemalloc's size-class
# segregation and timed purging keep RSS at the live heap. Pinned exactly:
# allocator behavior is what the export memory bound is measured against.
# See docs/cli.md (`--memory-budget-mb`) and src/main.rs.
[]
= "=0.6.1"