mirror of
https://git.pumpin.online/funkpower/catena.git
synced 2026-11-13 23:55:40 +00:00
bookmeta gives an EPUB's cover by the routes its package can name one, and marks a cover the file left open (a MOBI's first image, an EPUB image found by its name) as guessed. booksniff knows RTF, Microsoft Reader, FictionBook and comic book zips. bibfetch searches the registers by title and author for a book with no identifier; covers by ISBN keep under Open Library's rate limit, and a refusal for it is Error::Limited, not an outage. The Python package gains fetch_cover, search_title and catena.Limited. Breaking: corpus_core::Kind has five new kinds; bibfetch::Error has Limited; bookmeta::Cover has guessed; bibfetch::Covers has pace.
82 lines
3.3 KiB
TOML
82 lines
3.3 KiB
TOML
[workspace]
|
|
resolver = "3"
|
|
members = ["crates/*"]
|
|
|
|
[workspace.package]
|
|
version = "0.5.0"
|
|
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.5.0" }
|
|
corpus-core = { path = "crates/corpus-core", version = "0.5.0" }
|
|
cuekit = { path = "crates/cuekit", version = "0.5.0" }
|
|
textkit = { path = "crates/textkit", version = "0.5.0" }
|
|
chunkmd = { path = "crates/chunkmd", version = "0.5.0" }
|
|
mdscrub = { path = "crates/mdscrub", version = "0.5.0" }
|
|
mdsplit = { path = "crates/mdsplit", version = "0.5.0" }
|
|
pdftriage = { path = "crates/pdftriage", version = "0.5.0" }
|
|
cuenorm = { path = "crates/cuenorm", version = "0.5.0" }
|
|
cueseg = { path = "crates/cueseg", version = "0.5.0" }
|
|
rrf = { path = "crates/rrf", version = "0.5.0" }
|
|
cuepack = { path = "crates/cuepack", version = "0.5.0" }
|
|
bibclean = { path = "crates/bibclean", version = "0.5.0" }
|
|
avplan = { path = "crates/avplan", version = "0.5.0" }
|
|
pdfgutter = { path = "crates/pdfgutter", version = "0.5.0" }
|
|
catena = { path = "crates/bindings", version = "0.5.0" }
|
|
seriesof = { path = "crates/seriesof", version = "0.5.0" }
|
|
idnorm = { path = "crates/idnorm", version = "0.5.0" }
|
|
bibfetch = { path = "crates/bibfetch", version = "0.5.0" }
|
|
bookmeta = { path = "crates/bookmeta", version = "0.5.0" }
|
|
langid = { path = "crates/langid", version = "0.5.0" }
|
|
tocfind = { path = "crates/tocfind", version = "0.5.0" }
|
|
booksniff = { path = "crates/booksniff", version = "0.5.0" }
|
|
citefind = { path = "crates/citefind", version = "0.5.0" }
|
|
colophon = { path = "crates/colophon", version = "0.5.0" }
|
|
emb = { path = "crates/emb", version = "0.5.0" }
|
|
|
|
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
|