Skip to main content

spacememo

📘 A python/javascript nanolibrary for apply “spaced repetition” in learning purposes apps 📙


npm version

PyPI version


Forget to logical process to know when to repeat the information for the optimal learning process of the user

Ideal for quizzes, micro learning, and practical exercises what requires domain


Installation

Javascript

npm install spacememo

Python

pip install spacememo

Usage

Javascript

import { SpacedMemo } from "./spacememo.js"

let spacedRepetition = new SpacedMemo();

// insert new values with the id number or string of the excercise or question
spacedRepetition.insertValue('idQuestion1');

// multiple values
['id1', 'id2', 'id3'].forEach(id => spacedRepetition.insertValue(id))

// optionally you can config a level of previous expertise to decrease initial frecuency instead default 'beginner' value
spacedRepetition.insertValue('idQuestion6', {domain: 'medium'})
spacedRepetition.insertValue('idQuestion6', {domain: 'expert'})

// spacememo gives the question or excersice that you need to resolve
spacedRepetition.getValue() // returns an id

// evaluate the performance in last excersice or question with a boolean result
spacedRepetition.evaluate(false)

// you can extract the data to render the order list for the user
spacedRepetition.getSpaceMap().values_queue     // return an array of id elements

// and reorder the queue if user need to
let configValue = spacedRepetition.getSpaceMap().values_map

spacedRepetition = new SpacedMemo({
  values_queue: userReorderList,
  values_map: configValue
})

// or add in a persistent database and reuse in next sessions
spacedRepetition.getSpaceMap() // return a config object for persistent saving

const myNewStudySession = new SpacedMemo(spaceMapOfPreviousPractices)

// even you can change the default start position in queue based in your business requirements
spacedRepetition.insertValue('idQuestion6', {initialPositionInQueue: 0})
spacedRepetition.insertValue('idQuestion6', {initialPositionInQueue: 3, domain: 'medium'})

The purpose of this library

Spaced repetition algorithms based in queues gives lighter libraries and more easy to use

Any approach that you decide to implement a spaced repetition algorithm or library is good. The important thing of spaced repetition is:

  • Estimulate the newest information more often than information with more domain
  • Maintenance old knowledge distant little by little to avoid forget it
  • Identify the question or skill with remember problems and review it

Happy learning! 📗

Metadata

Release files for spacememo 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spacememo 0.1.1
File Size Uploaded
spacememo-0.1.1.tar.gz 3.7 kB Details

Release files / spacememo-0.1.1.tar.gz

Download URL spacememo-0.1.1.tar.gz
Size 3.7 kB
Tags Source
SHA-256 checksum
How to use checksums
cf1a0964f41dcaeed96a7dde36fb5975fc6097103b6acc06c0a66a5f7ff0bad0
BLAKE2b-256 checksum
How to use checksums
daa1ec413bd35b0b8e74575fe61148b332fc2d35b5fe1a54fa028f73c6f1863a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.9

Release history Release notifications | RSS feed

0.2.0

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

This release

0.1.1 This release

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page