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
[]
= "trilogy-parser"
# version is synced from python __init__ in build backend/deploy flow;
# crates.io releases ride the same stream (see pythonpublish.yml), so a
# published crate version always corresponds to the pytrilogy release
# whose grammar it carries.
= "0.3.314"
= "2021"
= "Parser and import/datasource dependency resolver for the Trilogy language"
= "MIT"
= "https://github.com/trilogy-data/pytrilogy"
= ["trilogy", "preql", "parser", "dependency", "sql"]
= ["parser-implementations"]
[]
= "trilogy_parser"
= ["cdylib", "rlib"]
# Distinct from the lib target: both the bin and the cdylib emit linked
# artifacts, and identical stems collide on the Windows .pdb output
# (rust-lang/cargo#6313, slated to become a hard error).
[[]]
= "trilogy-parser-cli"
= "src/main.rs"
[]
# Parser generator
= "2.7"
= "2.7"
# CLI argument parsing
= { = "4.4", = ["derive"] }
# Serialization for structured output
= { = "1.0", = ["derive"] }
= "1.0"
# Error handling
= "1.0"
# Path manipulation
= "0.2"
# Python bindings — optional so pure-Rust consumers (the CLI, downstream
# crates such as trilogy-cloud's API) build without a Python toolchain.
# Wheel builds enable the `python` feature plus `pyo3/extension-module`
# through [tool.maturin] features in pyproject.toml.
# Pinned to 0.26 (not latest): 0.27+ introduced a `thread_local!` in
# pyo3::internal::state whose mangled closure symbol emcc rejects as an
# invalid export name, breaking wasm32-unknown-emscripten (Pyodide) builds.
# 0.26 is what pydantic-core ships emscripten wheels with.
= { = "0.26", = true }
[]
= []
= ["dep:pyo3"]
[]
= "3.0"
[]
= 3
= true