[workspace] resolver = "3" members = ["crates/*"] [workspace.package] version = "0.3.1" edition = "2024" rust-version = "1.85" license = "MPL-2.0" repository = "https://git.pumpin.online/funkpower/catena" [workspace.dependencies] catena-cli = { path = "crates/catena-cli", version = "0.3.1" } corpus-core = { path = "crates/corpus-core", version = "0.3.1" } cuekit = { path = "crates/cuekit", version = "0.3.1" } textkit = { path = "crates/textkit", version = "0.3.1" } chunkmd = { path = "crates/chunkmd", version = "0.3.1" } mdscrub = { path = "crates/mdscrub", version = "0.3.1" } mdsplit = { path = "crates/mdsplit", version = "0.3.1" } pdftriage = { path = "crates/pdftriage", version = "0.3.1" } cuenorm = { path = "crates/cuenorm", version = "0.3.1" } cueseg = { path = "crates/cueseg", version = "0.3.1" } rrf = { path = "crates/rrf", version = "0.3.1" } cuepack = { path = "crates/cuepack", version = "0.3.1" } bibclean = { path = "crates/bibclean", version = "0.3.1" } avplan = { path = "crates/avplan", version = "0.3.1" } pdfgutter = { path = "crates/pdfgutter", version = "0.3.1" } catena = { path = "crates/bindings", version = "0.3.1" } seriesof = { path = "crates/seriesof", version = "0.3.1" } idnorm = { path = "crates/idnorm", version = "0.3.1" } bibfetch = { path = "crates/bibfetch", version = "0.3.1" } bookmeta = { path = "crates/bookmeta", version = "0.3.1" } langid = { path = "crates/langid", version = "0.3.1" } tocfind = { path = "crates/tocfind", version = "0.3.1" } booksniff = { path = "crates/booksniff", version = "0.3.1" } citefind = { path = "crates/citefind", version = "0.3.1" } colophon = { path = "crates/colophon", version = "0.3.1" } emb = { path = "crates/emb", version = "0.3.1" } clap = { version = "4", features = ["derive"] } clap_mangen = "0.3" pyo3 = { version = "0.27", features = ["extension-module", "abi3-py39"] } wasm-bindgen = "0.2" serde-wasm-bindgen = "0.6" deunicode = "1" fancy-regex = "0.16" # 0.38 is the last release that builds on the pinned toolchain; the ones # after it need a newer compiler than the rest of this asks for. lopdf = { version = "0.38", default-features = false } # Reading one small member out of an EPUB. Default features pull in four # compression backends; an EPUB is deflate or nothing. zip = { version = "2", default-features = false, features = ["deflate"] } regex = "1" schemars = "1" serde = { version = "1", features = ["derive"] } # float_roundtrip: without it a float read back from JSON can be one unit in # the last place away from the one that was written, which would make a # record that round-trips through a pipe not the record it started as. serde_json = { version = "1", features = ["float_roundtrip"] } thiserror = "2" unicode-general-category = "1" unicode-normalization = "0.1" ureq = { version = "3", features = ["json"] } tiktoken-rs = "0.12" [workspace.lints.rust] unsafe_code = "forbid" missing_docs = "warn" [profile.release] strip = true lto = true codegen-units = 1 # The Python extension module, which cannot be stripped the way a binary can. # Stripping a dylib's symbols leaves one macOS refuses to load at all — # "mis-aligned LINKEDIT string pool" — and there is nothing to strip for # anyway, since the interpreter resolves its symbols at load time. [profile.wheel] inherits = "release" strip = false