Skip to main content

spacememo

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



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


Installation

pip install spacememo

Usage

from spacememo import SpacedMemo

let memo = SpacedMemo()

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

# multiple values
[memo.insert_value(id) for id in ['id1', 'id2', 'id3']]

# optionally you can config a level of previous expertise to decrease initial frecuency instead default 'beginner' value
memo.insert_value('id_question6', {'domain': 'medium'})
memo.insert_value('id_question6', {'domain': 'expert'})


# spacememo gives the question or excersice that you need to resolve
memo.get_value() # returns an id

# evaluate the performance in last excersice or question with a boolean result
memo.evaluate(False)

# you can extract the data to render the order list for the user
memo.get_space_map()['values_queue']  # return an array of id elements

# and reorder the queue if user need to
config_value = memo.get_space_map().values_map

memo = SpacedMemo({
    'values_queue': user_reorder_list,
    'values_map': config_value
})



# or add in a persistent database and reuse in next sessions
saved_in_db = memo.get_space_map()  # return a config object for persistent saving

my_new_study_session = SpacedMemo(saved_in_db)


# even you can change the default start position in queue based on your business requirements
memo.insert_value('idQuestion6', {'initial_position_in_queue': 0})
memo.insert_value('idQuestion6', {'initial_position_in_queue': 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.2.0

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.2.0
File Size Uploaded Provenance Actions
spacememo-0.2.0.tar.gz 3.6 kB Without provenance Details for spacememo-0.2.0.tar.gz

Release files / spacememo-0.2.0.tar.gz

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

Security for spacememo 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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