anki/rslib/Cargo.toml
Damien Elmes 5004cd332b
Integrate FSRS into Anki (#2654)
* Pack FSRS data into card.data

* Update FSRS card data when preset or weights change

+ Show FSRS stats in card stats

* Show a warning when there's a limited review history

* Add some translations; tweak UI

* Fix default requested retention

* Add browser columns, fix calculation of R

* Property searches

eg prop:d>0.1

* Integrate FSRS into reviewer

* Warn about long learning steps

* Hide minimum interval when FSRS is on

* Don't apply interval multiplier to FSRS intervals

* Expose memory state to Python

* Don't set memory state on new cards

* Port Jarret's new tests; add some helpers to make tests more compact

https://github.com/open-spaced-repetition/fsrs-rs/pull/64

* Fix learning cards not being given memory state

* Require update to v3 scheduler

* Don't exclude single learning step when calculating memory state

* Use relearning step when learning steps unavailable

* Update docstring

* fix single_card_revlog_to_items (#2656)

* not need check the review_kind for unique_dates

* add email address to CONTRIBUTORS

* fix last first learn & keep early review

* cargo fmt

* cargo clippy --fix

* Add Jarrett to about screen

* Fix fsrs_memory_state being initialized to default in get_card()

* Set initial memory state on graduate

* Update to latest FSRS

* Fix experiment.log being empty

* Fix broken colpkg imports

Introduced by "Update FSRS card data when preset or weights change"

* Update memory state during (re)learning; use FSRS for graduating intervals

* Reset memory state when cards are manually rescheduled as new

* Add difficulty graph; hide eases when FSRS enabled

* Add retrievability graph

* Derive memory_state from revlog when it's missing and shouldn't be

---------

Co-authored-by: Jarrett Ye <jarrett.ye@outlook.com>
2023-09-16 16:09:26 +10:00

111 lines
2.7 KiB
TOML

[package]
name = "anki"
version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
publish = false
rust-version.workspace = true
workspace = ".."
description = "Anki's Rust library code"
[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"]
[build-dependencies]
anki_io.workspace = true
anki_proto.workspace = true
anki_proto_gen.workspace = true
anyhow.workspace = true
inflections.workspace = true
itertools.workspace = true
prettyplease.workspace = true
prost.workspace = true
prost-reflect.workspace = true
syn.workspace = true
[dev-dependencies]
async-stream.workspace = true
reqwest = { workspace = true, features = ["native-tls"] }
wiremock.workspace = true
[dependencies]
criterion = { workspace = true, optional = true }
ammonia.workspace = true
anki_i18n.workspace = true
anki_io.workspace = true
anki_proto.workspace = true
async-compression.workspace = true
async-trait.workspace = true
axum.workspace = true
axum-client-ip.workspace = true
blake3.workspace = true
bytes.workspace = true
chrono.workspace = true
coarsetime.workspace = true
convert_case.workspace = true
csv.workspace = true
data-encoding.workspace = true
difflib.workspace = true
dirs.workspace = true
envy.workspace = true
flate2.workspace = true
fluent.workspace = true
fluent-bundle.workspace = true
fnv.workspace = true
fsrs.workspace = true
futures.workspace = true
hex.workspace = true
htmlescape.workspace = true
hyper.workspace = true
id_tree.workspace = true
itertools.workspace = true
lazy_static.workspace = true
nom.workspace = true
num_cpus.workspace = true
num_enum.workspace = true
once_cell.workspace = true
percent-encoding-iri.workspace = true
phf.workspace = true
pin-project.workspace = true
prost.workspace = true
pulldown-cmark.workspace = true
rand.workspace = true
regex.workspace = true
reqwest.workspace = true
rusqlite.workspace = true
scopeguard.workspace = true
serde.workspace = true
serde-aux.workspace = true
serde_json.workspace = true
serde_repr.workspace = true
serde_tuple.workspace = true
sha1.workspace = true
snafu.workspace = true
strum.workspace = true
tempfile.workspace = true
tokio.workspace = true
tokio-util.workspace = true
tower-http.workspace = true
tracing.workspace = true
tracing-appender.workspace = true
tracing-subscriber.workspace = true
unic-ucd-category.workspace = true
unicase.workspace = true
unicode-normalization.workspace = true
utime.workspace = true
zip.workspace = true
zstd.workspace = true
[target.'cfg(windows)'.dependencies.windows]
version = "0.48.0"
features = ["Media_SpeechSynthesis", "Foundation_Collections", "Storage_Streams"]