Skip to content
@open-spaced-repetition

Open Spaced Repetition

We are developing open-source spaced repetition algorithms for any spaced repetition software/system.

About

Open Spaced Repetition (OSR) is an open-source community dedicated to the advancement of spaced repetition algorithms. We are the creators of the Free Spaced Repetition Scheduler (FSRS), which is backed by academic literatures and experiments. FSRS has been implemented in various programming languages, including Javascript, Golang, Rust, Python, and so on.

Mission

Our mission is to develop efficient, effective, and accessible spaced repetition algorithms that can be readily integrated into any educational software or system.

Features

Acknowledgements

A special thanks to 墨墨背单词 (MaiMemo Inc.) for their support of FSRS development by allowing its research engineer, Jarrett Ye, to dedicate part of his working hours to this open-source project. This greatly helps in the continuous improvement and maintenance of FSRS for the benefit of the entire community.

Pinned Loading

  1. awesome-fsrs awesome-fsrs Public

    A curated list of awesome FSRS implementations, papers and resources

    325 20

  2. fsrs4anki fsrs4anki Public

    A modern Anki custom scheduling based on Free Spaced Repetition Scheduler algorithm

    Jupyter Notebook 3.6k 153

  3. srs-benchmark srs-benchmark Public

    A benchmark for spaced repetition schedulers/algorithms

    Jupyter Notebook 154 17

  4. ts-fsrs ts-fsrs Public

    ts-fsrs is a versatile package written in TypeScript that supports ES modules, CommonJS, and UMD.

    TypeScript 447 45

  5. fsrs-rs fsrs-rs Public

    FSRS for Rust, including Optimizer and Scheduler

    Rust 283 27

  6. fsrs4anki-helper fsrs4anki-helper Public

    An Anki add-on that supports Postpone & Advance & Load Balance & Easy Days & Disperse Siblings & Flatten

    Python 268 28

Repositories

Showing 10 of 83 repositories
  • swift-fsrs Public

    Swift Package for FSRS

    open-spaced-repetition/swift-fsrs’s past year of commit activity
    Swift 67 MIT 23 3 0 Updated Sep 3, 2025
  • srs-benchmark Public

    A benchmark for spaced repetition schedulers/algorithms

    open-spaced-repetition/srs-benchmark’s past year of commit activity
    Jupyter Notebook 154 17 8 2 Updated Sep 2, 2025
  • fsrs-optimizer Public

    FSRS Optimizer Package

    open-spaced-repetition/fsrs-optimizer’s past year of commit activity
    Python 88 BSD-3-Clause 14 0 4 Updated Sep 2, 2025
  • ts-fsrs Public

    ts-fsrs is a versatile package written in TypeScript that supports ES modules, CommonJS, and UMD.

    open-spaced-repetition/ts-fsrs’s past year of commit activity
    TypeScript 447 MIT 45 0 2 Updated Sep 1, 2025
  • fsrs-rs-python Public

    Python bindings for fsrs-rs, use burn-rs, instead of pytorch. 2GB -> 6MB, save your disk!

    open-spaced-repetition/fsrs-rs-python’s past year of commit activity
    Rust 25 2 2 2 Updated Sep 1, 2025
  • fsrs-rs-php Public

    A PHP binding for the FSRS (Free Spaced Repetition Scheduler) Rust implementation.

    open-spaced-repetition/fsrs-rs-php’s past year of commit activity
    Rust 4 1 0 1 Updated Aug 30, 2025
  • fsrs-rs-c Public

    c binding, also dynamic library

    open-spaced-repetition/fsrs-rs-c’s past year of commit activity
    C 3 MIT 0 0 1 Updated Aug 29, 2025
  • fsrs-rs-dart Public

    dart binding for fsrs-rs

    open-spaced-repetition/fsrs-rs-dart’s past year of commit activity
    Dart 10 1 0 2 Updated Aug 29, 2025
  • rs-fsrs Public

    Rust-based Scheduler for FSRS

    open-spaced-repetition/rs-fsrs’s past year of commit activity
    Rust 42 MIT 8 1 2 Updated Aug 28, 2025
  • fsrs4anki-helper Public

    An Anki add-on that supports Postpone & Advance & Load Balance & Easy Days & Disperse Siblings & Flatten

    open-spaced-repetition/fsrs4anki-helper’s past year of commit activity
    Python 268 MIT 28 11 (6 issues need help) 1 Updated Aug 28, 2025