<h1 align=center> spacememo </h1>
<p align="center">
<img src="https://games.tactic.net/wp-content/uploads/2022/05/56312_1.jpg">
</p>
<p align=center>📘 A python nanolibrary for apply “spaced repetition” in learning purposes apps 📙 </p>
<br>
<br>
<p align="center">
Ideal for quizzes, micro learning, and practical exercises what requires domain
</p>
<br>
<h2 align="center">Installation</h2>
```
pip install spacememo
```
<br>
<h2 align="center">Usage</h2>
```
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'})
```
<br>
## 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! 📗
Raw data
{
"_id": null,
"home_page": "https://github.com/opensourceducation/spacememo",
"name": "spacememo",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "srs,learning,microlearning,memorization,javascript,space-repetition,python",
"author": "opensourceducation",
"author_email": "githubpersonalfor@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/e9/23/c2bcdaab3f3cd0817816685b9fc827490721bf982cf9b82bb36b046d9f4a/spacememo-0.2.0.tar.gz",
"platform": null,
"description": "<h1 align=center> spacememo </h1>\n\n<p align=\"center\">\n <img src=\"https://games.tactic.net/wp-content/uploads/2022/05/56312_1.jpg\">\n</p>\n\n<p align=center>\ud83d\udcd8 A python nanolibrary for apply \u201cspaced repetition\u201d in learning purposes apps \ud83d\udcd9 </p>\n\n<br>\n<br>\n\n<p align=\"center\">\n Ideal for quizzes, micro learning, and practical exercises what requires domain\n</p>\n\n<br>\n<h2 align=\"center\">Installation</h2>\n\n```\npip install spacememo\n```\n\n<br>\n<h2 align=\"center\">Usage</h2>\n\n```\nfrom spacememo import SpacedMemo\n\nlet memo = SpacedMemo()\n\n# insert new values with the id number or string of the excercise or question\nspacedRepetition.insertValue('idQuestion1');\n\n# multiple values\n[memo.insert_value(id) for id in ['id1', 'id2', 'id3']]\n\n# optionally you can config a level of previous expertise to decrease initial frecuency instead default 'beginner' value\nmemo.insert_value('id_question6', {'domain': 'medium'})\nmemo.insert_value('id_question6', {'domain': 'expert'})\n\n\n# spacememo gives the question or excersice that you need to resolve\nmemo.get_value() # returns an id\n\n# evaluate the performance in last excersice or question with a boolean result\nmemo.evaluate(False)\n\n# you can extract the data to render the order list for the user\nmemo.get_space_map()['values_queue'] # return an array of id elements\n\n# and reorder the queue if user need to\nconfig_value = memo.get_space_map().values_map\n\nmemo = SpacedMemo({\n 'values_queue': user_reorder_list,\n 'values_map': config_value\n})\n\n\n\n# or add in a persistent database and reuse in next sessions\nsaved_in_db = memo.get_space_map() # return a config object for persistent saving\n\nmy_new_study_session = SpacedMemo(saved_in_db)\n\n\n# even you can change the default start position in queue based on your business requirements\nmemo.insert_value('idQuestion6', {'initial_position_in_queue': 0})\nmemo.insert_value('idQuestion6', {'initial_position_in_queue': 3, 'domain': 'medium'})\n```\n\n<br>\n\n## The purpose of this library\n\nSpaced repetition algorithms based in queues gives lighter libraries and more easy to use\n\nAny approach that you decide to implement a spaced repetition algorithm or library is good. The important thing of spaced repetition is:\n\n- Estimulate the newest information more often than information with more domain\n- Maintenance old knowledge distant little by little to avoid forget it\n- Identify the question or skill with remember problems and review it\n\nHappy learning! \ud83d\udcd7\n",
"bugtrack_url": null,
"license": "MIT license",
"summary": "\ud83d\udcd8 a python nanolibrary for apply \u201cspaced repetition\u201d in learning purposes apps \ud83d\udcd9",
"version": "0.2.0",
"split_keywords": [
"srs",
"learning",
"microlearning",
"memorization",
"javascript",
"space-repetition",
"python"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e923c2bcdaab3f3cd0817816685b9fc827490721bf982cf9b82bb36b046d9f4a",
"md5": "e12abff3ada1336373c6632df2a12aeb",
"sha256": "c45514565bad30eca73f618734824845d78c878fc8bd8ee122001713b5e045ac"
},
"downloads": -1,
"filename": "spacememo-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "e12abff3ada1336373c6632df2a12aeb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 3576,
"upload_time": "2023-01-06T20:57:11",
"upload_time_iso_8601": "2023-01-06T20:57:11.980038Z",
"url": "https://files.pythonhosted.org/packages/e9/23/c2bcdaab3f3cd0817816685b9fc827490721bf982cf9b82bb36b046d9f4a/spacememo-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-06 20:57:11",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "opensourceducation",
"github_project": "spacememo",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "spacememo"
}