anki/rslib/Cargo.toml

100 lines
2.5 KiB
TOML
Raw Normal View History

2019-12-23 05:42:14 +01:00
[package]
name = "anki"
version = "0.0.0"
2021-11-18 11:51:10 +01:00
edition = "2021"
authors = ["Ankitects Pty Ltd and contributors"]
license = "AGPL-3.0-or-later"
description = "Anki's Rust library code"
build = "build/main.rs"
[lib]
name = "anki"
path = "src/lib.rs"
[features]
bench = ["criterion"]
[[bench]]
name = "benchmark"
harness = false
required-features = ["bench"]
# After updating anything below, run ../cargo/update.py
[build-dependencies]
2021-11-18 11:54:00 +01:00
prost-build = "0.9.0"
[dev-dependencies]
2021-10-02 12:42:03 +02:00
env_logger = "0.9.0"
tokio = { version = "1.12.0", features = ["macros"] }
[dependencies]
# pinned as any changes could invalidate sqlite indexes
unicase = "=2.6.0"
2021-04-27 15:11:22 +02:00
2021-06-25 07:35:25 +02:00
anki_i18n = { path="i18n" }
criterion = { version = "0.3.5", optional = true }
2021-10-02 12:42:03 +02:00
nom = "7.0.0"
proc-macro-nested = "0.1.7"
slog-term = "2.8.0"
blake3 = "1.0.0"
bytes = "1.1.0"
2021-06-25 07:35:25 +02:00
chrono = "0.4.19"
coarsetime = "0.1.19"
2021-10-02 12:42:03 +02:00
flate2 = "1.0.22"
fluent = "0.16.0"
2021-06-25 07:35:25 +02:00
fluent-bundle = "0.15.1"
2021-10-02 12:42:03 +02:00
futures = "0.3.17"
2021-06-25 07:35:25 +02:00
hex = "0.4.3"
htmlescape = "0.3.1"
2021-06-25 07:35:25 +02:00
intl-memoizer = "0.5.1"
itertools = "0.10.1"
lazy_static = "1.4.0"
2021-10-02 12:42:03 +02:00
num_enum = "0.5.4"
2021-06-25 07:35:25 +02:00
num-integer = "0.1.44"
once_cell = "1.8.0"
2021-10-02 12:42:03 +02:00
pin-project = "1.0.8"
2021-11-18 11:54:00 +01:00
prost = "0.9.0"
2021-06-25 07:35:25 +02:00
rand = "0.8.4"
regex = "1.5.4"
reqwest = { git="https://github.com/ankitects/reqwest.git", rev="7591444614de02b658ddab125efba7b2bb4e2335", default-features=false, features=[
"json",
"socks",
"stream",
"multipart",
# the Bazel build scripts separate these out by platform
"native-tls",
"rustls-tls",
"rustls-tls-webpki-roots",
2021-06-18 10:15:41 +02:00
"rustls-tls-native-roots",
] }
rusqlite = { version = "0.26.1", features = ["trace", "functions", "collation", "bundled"] }
scopeguard = "1.1.0"
2021-10-02 12:42:03 +02:00
serde = "1.0.130"
serde_derive = "1.0.130"
serde_json = "1.0.68"
2021-06-25 07:35:25 +02:00
serde_repr = "0.1.7"
2020-07-12 03:38:25 +02:00
serde_tuple = "0.5.0"
2021-11-18 11:54:00 +01:00
serde-aux = "3.0.1"
sha1 = "0.6.0"
2021-06-25 08:22:21 +02:00
slog = { version = "2.7.0", features = ["max_level_trace", "release_max_level_debug"] }
2021-10-02 12:42:03 +02:00
slog-async = "2.7.0"
slog-envlogger = "2.2.0"
2021-06-25 07:35:25 +02:00
tempfile = "3.2.0"
2021-10-02 12:42:03 +02:00
tokio = { version = "1.12.0", features = ["fs", "rt-multi-thread"] }
2021-06-25 08:22:21 +02:00
unic-langid = { version = "0.9.0", features = ["macros"] }
2021-06-25 07:35:25 +02:00
unicode-normalization = "0.1.19"
utime = "0.3.1"
2021-06-25 08:22:21 +02:00
zip = { version = "0.5.13", default-features = false, features = ["deflate", "time"] }
2021-10-02 12:42:03 +02:00
async-trait = "0.1.51"
ammonia = "3.1.2"
pulldown-cmark = "0.8.0"
fnv = "1.0.7"
2021-11-18 11:54:00 +01:00
strum = { version = "0.23.0", features = ["derive"] }
2021-10-02 12:42:03 +02:00
tokio-util = { version = "0.6.8", features = ["io"] }
pct-str = { git="https://github.com/timothee-haudebourg/pct-str.git", rev="4adccd8d4a222ab2672350a102f06ae832a0572d" }
unic-ucd-category = "0.9.0"
V3 parent limits (#1638) * avoid repinning Rust deps by default * add id_tree dependency * Respect intermediate child limits in v3 * Test new behaviour of v3 counts * Rework v3 queue building to respect parent limits * Add missing did field to SQL query * Fix `LimitTreeMap::is_exhausted()` * Rework tree building logic https://github.com/ankitects/anki/pull/1638#discussion_r798328734 * Add timer for build_queues() * `is_exhausted()` -> `limit_reached()` * Move context and limits into `QueueBuilder` This allows for moving more logic into QueueBuilder, so less passing around of arguments. Unfortunately, some tests will require additional work to set up. * Fix stop condition in new_cards_by_position * Fix order gather order of new cards by deck * Add scheduler/queue/builder/burying.rs * Fix bad tree due to unsorted child decks * Fix comment * Fix `cap_new_to_review_rec()` * Add test for new card gathering * Always sort `child_decks()` * Fix deck removal in `cap_new_to_review_rec()` * Fix sibling ordering in new card gathering * Remove limits for deck total count with children * Add random gather order * Remove bad sibling order handling All routines ensure ascending order now. Also do some other minor refactoring. * Remove queue truncating All routines stop now as soon as the root limit is reached. * Move deck fetching into `QueueBuilder::new()` * Rework new card gather and sort options https://github.com/ankitects/anki/pull/1638#issuecomment-1032173013 * Disable new sort order choices ... depending on set gather order. * Use enum instead of numbers * Ensure valid sort order setting * Update new gather and sort order tooltips * Warn about random insertion order with v3 * Revert "Add timer for build_queues()" This reverts commit c9f5fc6ebe87953c17a0c842990b009b5596c69c. * Update rslib/src/storage/card/mod.rs (dae) * minor wording tweaks to the tooltips (dae) + move legacy strings to bottom + consistent capitalization (our leech action still needs fixing, but that will require introducing a new 'suspend card' string as the existing one is used elsewhere as well)
2022-02-10 00:55:43 +01:00
id_tree = "1.8.0"