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

    456 24

  2. srs-benchmark srs-benchmark Public

    A benchmark for spaced repetition schedulers/algorithms

    Jupyter Notebook 199 23

  3. ts-fsrs ts-fsrs Public

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

    TypeScript 594 57

  4. fsrs-rs fsrs-rs Public

    FSRS for Rust, including Optimizer and Scheduler

    Rust 339 32

  5. py-fsrs py-fsrs Public

    Python Package for FSRS Spaced Repetition

    Python 391 52

  6. obsidian-spaced-repetition-recall obsidian-spaced-repetition-recall Public

    Forked from st3v3nmw/obsidian-spaced-repetition

    Fight the forgetting curve by reviewing flashcards & entire notes on Obsidian.md

    TypeScript 197 14

Repositories

Showing 10 of 87 repositories
  • srs-benchmark Public

    A benchmark for spaced repetition schedulers/algorithms

    open-spaced-repetition/srs-benchmark’s past year of commit activity
    Jupyter Notebook 199 23 7 3 Updated Mar 11, 2026
  • py-fsrs Public

    Python Package for FSRS Spaced Repetition

    open-spaced-repetition/py-fsrs’s past year of commit activity
    Python 391 MIT 52 0 0 Updated Mar 10, 2026
  • 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 594 MIT 57 2 (1 issue needs help) 3 Updated Mar 9, 2026
  • srs-simulator Public

    A fast, dual‑engine spaced‑repetition simulator for comparing schedulers, memory models, and study behaviors at scale.

    open-spaced-repetition/srs-simulator’s past year of commit activity
    Python 8 2 0 0 Updated Mar 5, 2026
  • go-fsrs Public

    Go Module for FSRS

    open-spaced-repetition/go-fsrs’s past year of commit activity
    Go 121 MIT 17 4 (1 issue needs help) 1 Updated Mar 3, 2026
  • fsrs-rs Public

    FSRS for Rust, including Optimizer and Scheduler

    open-spaced-repetition/fsrs-rs’s past year of commit activity
    Rust 339 BSD-3-Clause 32 2 4 Updated Feb 23, 2026
  • rs-fsrs Public

    Rust-based Scheduler for FSRS

    open-spaced-repetition/rs-fsrs’s past year of commit activity
    Rust 47 MIT 9 1 1 Updated Feb 23, 2026
  • 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 30 2 2 4 Updated Feb 23, 2026
  • r-fsrs Public

    R bindings for fsrs-rs spaced repetition algorithm

    open-spaced-repetition/r-fsrs’s past year of commit activity
    R 3 0 0 0 Updated Feb 19, 2026
  • fsrs-rs-c Public

    c binding, also dynamic library

    open-spaced-repetition/fsrs-rs-c’s past year of commit activity
    C 5 MIT 1 0 1 Updated Feb 5, 2026