Skip to main content

No project description provided

Project description

FSRS Optimizer

The FSRS Optimizer is a Python library capable of utilizing personal spaced repetition review logs to refine the FSRS algorithm. Designed with the intent of delivering a standardized, universal optimizer to various FSRS implementations across numerous programming languages, this tool is set to establish a ubiquitous standard for spaced repetition review logs. By facilitating the uniformity of learning data among different spaced repetition softwares, it guarantees learners consistent review schedules across a multitude of platforms.

Delve into the underlying principles of the FSRS Optimizer's training process at: https://github.com/open-spaced-repetition/fsrs4anki/wiki/The-mechanism-of-optimization

Explore the mathematical formula of the FSRS model at: https://github.com/open-spaced-repetition/fsrs4anki/wiki/The-Algorithm

Review Logs Schema

The review_logs table captures the review activities performed by users. Each log records the details of a single review instance. The schema for this table is as follows:

Column Name Data Type Description Constraints
card_id integer or string The unique identifier of the flashcard being reviewed Not null
review_time timestamp in miliseconds The exact moment when the review took place Not null
review_rating integer The user's rating for the review. This rating is subjective and depends on how well the user believes they remembered the information on the card Not null, Values: {1 (Again), 2 (Hard), 3 (Good), 4 (Easy)}
review_state integer The state of the card at the time of review. This describes the learning phase of the card Optional, Values: {0 (New), 1 (Learning), 2 (Review), 3 (Relearning)}
review_duration integer The time spent on reviewing the card, typically in miliseconds Optional, Non-negative

Extra Info:

  • timezone: The time zone of the user when they performed the review, which is used to identify the start of a new day.
  • day_start: The hour (0-23) at which the user starts a new day, which is used to separate reviews that are divided by sleep into different days.

Notes:

  • All timestamp fields are expected to be in UTC.
  • The card_id should correspond to a valid card in the corresponding flashcards dataset.
  • review_rating should be a reflection of the user's memory of the card at the time of the review.
  • review_state helps to understand the learning progress of the card.
  • review_duration measures the cost of the review.
  • timezone should be a string from the IANA Time Zone Database (e.g., "America/New_York"). For more information, refer to this list of IANA time zones.
  • day_start determines the start of the learner's day and is used to correctly assign reviews to days, especially when reviews are divided by sleep.

Please ensure your data conforms to this schema for optimal compatibility with the optimization process.

Project details


Release history Release notifications | RSS feed

This version

4.7.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

FSRS-Optimizer-4.7.1.tar.gz (18.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

FSRS_Optimizer-4.7.1-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

Details for the file FSRS-Optimizer-4.7.1.tar.gz.

File metadata

  • Download URL: FSRS-Optimizer-4.7.1.tar.gz
  • Upload date:
  • Size: 18.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for FSRS-Optimizer-4.7.1.tar.gz
Algorithm Hash digest
SHA256 9a6345caaa2fe09dc70fd1d2745fe4bee5ae307d98898c84d0f75a56e7611dc1
MD5 5f1c0e1035bd0a051b5c4930b16f2f66
BLAKE2b-256 93b097a547fc7e2c41f3403c9a8b241fac042fe1607dc3122e822a5bb1a557c1

See more details on using hashes here.

File details

Details for the file FSRS_Optimizer-4.7.1-py3-none-any.whl.

File metadata

  • Download URL: FSRS_Optimizer-4.7.1-py3-none-any.whl
  • Upload date:
  • Size: 19.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for FSRS_Optimizer-4.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6ba5d980909a173b91b3e7b418a5ba924735dd48da0cbc943c8a4a9715fe70c7
MD5 dc287d022c11e9933572be642df69ef7
BLAKE2b-256 127f9cc152591ed7b2017068da84de2b53387993f34cf0de12118bdea2b2de6b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page