[package] name = "anki" build = "build/main.rs" description = "Anki's Rust library code" version.workspace = true authors.workspace = true license.workspace = true edition.workspace = true rust-version.workspace = true [lib] name = "anki" path = "src/lib.rs" [features] bench = ["criterion"] rustls = ["reqwest/rustls-tls", "reqwest/rustls-tls-native-roots"] native-tls = ["reqwest/native-tls"] [[bench]] name = "benchmark" harness = false required-features = ["bench"] # After updating anything below, run ../cargo/update.py [build-dependencies] prost-build = "0.11.1" which = "4.3.0" [dev-dependencies] env_logger = "0.9.1" tokio = { version = "1.21", features = ["macros"] } [dependencies.reqwest] version = "=0.11.3" default-features = false features = ["json", "socks", "stream", "multipart"] [dependencies] anki_i18n = { path = "i18n" } csv = { git = "https://github.com/ankitects/rust-csv.git", rev = "1c9d3aab6f79a7d815c69f925a46a4590c115f90" } pct-str = { git = "https://github.com/timothee-haudebourg/pct-str.git", rev = "4adccd8d4a222ab2672350a102f06ae832a0572d" } # pinned as any changes could invalidate sqlite indexes unicase = "=2.6.0" criterion = { version = "0.4.0", optional = true } ammonia = "3.2.1" async-trait = "0.1.57" blake3 = "1.3.1" bytes = "1.2.1" chrono = "0.4.22" coarsetime = "0.1.22" convert_case = "0.6.0" dissimilar = "1.0.4" flate2 = "1.0.24" fluent = "0.16.0" fluent-bundle = "0.15.2" fnv = "1.0.7" futures = "0.3.24" hex = "0.4.3" htmlescape = "0.3.1" id_tree = "1.8.0" itertools = "0.10.5" lazy_static = "1.4.0" nom = "7.1.1" num-integer = "0.1.45" num_cpus = "1.13.1" num_enum = "0.5.7" once_cell = "1.15.0" pin-project = "1.0.12" prost = "0.11.0" pulldown-cmark = "0.9.2" rand = "0.8.5" regex = "1.6.0" rusqlite = { version = "0.28.0", features = ["trace", "functions", "collation", "bundled"] } scopeguard = "1.1.0" serde = "1.0.145" serde-aux = "4.0.0" serde_derive = "1.0.145" serde_json = "1.0.85" serde_repr = "0.1.9" serde_tuple = "0.5.0" sha1 = "0.6.0" slog = { version = "2.7.0", features = ["max_level_trace", "release_max_level_debug"] } slog-async = "2.7.0" slog-envlogger = "2.2.0" slog-term = "2.9.0" snafu = { version = "0.7.2", features = ["backtraces"] } strum = { version = "0.24.1", features = ["derive"] } tempfile = "3.3.0" tokio = { version = "1.21", features = ["fs", "rt-multi-thread"] } tokio-util = { version = "0.7.4", features = ["io"] } unic-ucd-category = "0.9.0" unicode-normalization = "0.1.22" utime = "0.3.1" workspace-hack = { version = "0.1", path = "../tools/workspace-hack" } zip = { version = "0.6.2", default-features = false, features = ["deflate", "time"] } zstd = { version = "0.11.2", features = ["zstdmt"] }