Simple spaced repetition library
Project description
simple-spaced-repetition
Simple spaced repetition scheduler, based on the classic Anki algorithm and implemented in under 40 lines of code.
This scheduler is used at Python.cards.
Installation
Install with pip:
pip install simple_spaced_repetition
Example usage
The Card class is what you should use:
>>> from simple_spaced_repetition import Card
>>> Card()
Card(status=learning, step=0, interval=None, ease=2.5)
Card has a single method options() which returns the 4 possible choices for answering a card:
>>> from simple_spaced_repetition import Card
>>> card = Card()
>>> card.options()
[('again', Card(status=learning, step=0, interval=0:01:00, ease=2.5)),
('hard', Card(status=learning, step=1, interval=0:06:00, ease=2.5)),
('good', Card(status=learning, step=1, interval=0:10:00, ease=2.5)),
('easy', Card(status=reviewing, step=0, interval=4 days, 0:00:00, ease=2.5))]
Next to each answer is a new Card object that represents the card after answering with that option.
The attribute interval holds the time that must pass before the card is due again:
>>> from simple_spaced_repetition import Card
>>> card = Card()
>>> for answer, new_card in card.options():
... print(answer, new_card.interval)
again 0:01:00
hard 0:06:00
good 0:10:00
easy 4 days, 0:00:00
Run tests
Simply run:
python test_simple_spaced_repetition.py
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file simple_spaced_repetition-0.2.0.tar.gz.
File metadata
- Download URL: simple_spaced_repetition-0.2.0.tar.gz
- Upload date:
- Size: 3.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4bb3cf9350c2e0268d565401d29e32cdee5e0b17ae97f642ea584b0afb945879
|
|
| MD5 |
801161a7b7c6bc1886770e47e116698f
|
|
| BLAKE2b-256 |
58b1852482e7533f5f23dcff84eb8fd8a9e0ba27306783fc1829bc7e36818faf
|