{"id":15944484,"url":"https://github.com/patarapolw/srs-sqlite","last_synced_at":"2025-04-14T15:21:57.398Z","repository":{"id":95361372,"uuid":"144500526","full_name":"patarapolw/srs-sqlite","owner":"patarapolw","description":"A simple SRS app using Markdown/HandsOnTable/SQLite","archived":false,"fork":false,"pushed_at":"2018-09-05T06:39:26.000Z","size":921,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-28T04:12:00.176Z","etag":null,"topics":["handsontable","spaced-repetition","srs"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/patarapolw.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-12T21:01:13.000Z","updated_at":"2025-01-03T22:39:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"ec1f7979-8f64-4c73-a7ac-3d90b5018204","html_url":"https://github.com/patarapolw/srs-sqlite","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patarapolw%2Fsrs-sqlite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patarapolw%2Fsrs-sqlite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patarapolw%2Fsrs-sqlite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patarapolw%2Fsrs-sqlite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/patarapolw","download_url":"https://codeload.github.com/patarapolw/srs-sqlite/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248904626,"owners_count":21180836,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["handsontable","spaced-repetition","srs"],"created_at":"2024-10-07T08:40:51.555Z","updated_at":"2025-04-14T15:21:57.376Z","avatar_url":"https://github.com/patarapolw.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# srs-sqlite\n\nA simple SRS app using Markdown/HandsOnTable/SQLite.\n\n## Usage\n\nThe app can be invoke from the command line, or from Python.\n\n```commandline\n$ srs --help\nUsage: srs [OPTIONS] FILENAME\n\nOptions:\n  --host TEXT\n  --port INTEGER\n  --debug\n  --help          Show this message and exit.\n```\n\nOr, in a Python script.\n\n```python\nfrom srs_sqlite import load_srs\n\n\nif __name__ == '__main__':\n    load_srs('srs.db')\n```\n\n## SRS usage\n\nYou have to get the server running first. After that, in Jupyter Notebook:\n\n```python\n\u003e\u003e\u003e import os\n\u003e\u003e\u003e os.environ['DATABASE_URI'] = 'srs.db'\n\u003e\u003e\u003e from srs_sqlite.flashcards import iter_quiz\n\u003e\u003e\u003e from srs_sqlite import db\n\u003e\u003e\u003e quiz = iter_quiz()\n\u003e\u003e\u003e card = next(quiz)\n\u003e\u003e\u003e card.hide()\nAn HTML-rendered front of the card is shown.\n\u003e\u003e\u003e card.show()\nAn HTML-rendered back of the card is shown.\n\u003e\u003e\u003e card.get_more_sentences()\nAdd more sentences to the card, if the number of example sentences is too few.\n\u003e\u003e\u003e card.wrong()\nMark the card as wrong.\n\u003e\u003e\u003e card.right()\nMark the card as right.\n\u003e\u003e\u003e card.mark()\nAdd the tag \"marked\" to the card.\n\u003e\u003e\u003e card.unmark()\nRemove the tag \"marked\" from the card.\n\u003e\u003e\u003e db.session.commit()\nCommit changes.\n```\n\n## Screenshots\n\n\u003cimg src=\"https://raw.githubusercontent.com/patarapolw/srs-sqlite/master/screenshots/0.png\" /\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/patarapolw/srs-sqlite/master/screenshots/jupyter.png\" /\u003e\n\n## Related projects\n\n- [HanziLevelUp](https://github.com/patarapolw/HanziLevelUp) - the project in which I embed the srs-sqlite.\n- [jupyter-flashcards](https://github.com/patarapolw/jupyter-flashcards) - a flashcard app with SRS, working with an Excel file.\n- [gflashcards](https://github.com/patarapolw/gflashcards) - a flashcard app, working with Google Sheets, but SRS is not yet implemented.\n- [simplecel](https://github.com/patarapolw/simplecel) - HandsOnTable-based Excel with viewer, that can view Markdown and images.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatarapolw%2Fsrs-sqlite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpatarapolw%2Fsrs-sqlite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatarapolw%2Fsrs-sqlite/lists"}