An easy, fast, and minimalist space repetition application for the terminal
When I started working on memotica, I had a few goals in mind. First, I wanted to become more familiar with textual. Second, I aimed to create an easy-to-use tool to meet my own needs for learning basic vocabulary in German and Japanese. However, over time, I became interested in other projects and began accepting professional opportunities again. As a result, I have been unable to invest as much time in memotica as I initially would have liked. That's why I am now archiving this project.
- Markdown support for flashcards.
- Support for sub-decks for a better organization.
- Advanced spaced repetition with the SM2 algorithm.
- Keyboard-First navigation.
- Easy to add, edit and delete decks and flashcards.
- Export and import your data.
memotica is nearly ready for use, but there are some features that I would like to implement before reaching version v1.0.0
:
- Basic statistics.
- Better flashcards management.
- Customizable space repetition algorithm.
- Interoperability with Anki.
- Themes.
- Visual indicators.
Recently, I began to study German and a bit of Japanese. At the same time I was also thinking of playing a bit more with textual. After encountering some issues with the Anki application on Linux, I decided that it would be a great idea to create a similar application more tailored for my needs and usage.
memotica automatically creates a directory in the most appropriate location based on your operating system. This directory contains a SQLite database where all your decks and flashcards are stored. You can learn more about how this is done here.
pip install memotica
pipx install memotica
Once memotica is installed, you should have the memotica
command available. To start the TUI simply run:
memotica
Or
memotica run
Once the TUI is displayed, you can:
- Display the help message by pressing
F1
. - Add a new deck by pressing
ctrl+n
. - Add flashcards with
ctrl+a
.
After you've added some flashcards, select a deck in the deck tree and press ctrl+s
to begin the review process.
In the review screen you can use
space
/enter
to show the answer and1
,2
,3
to mark the question asBad
,Good
orEasy
.
memotica provides commands to export and import your flashcards, decks and review information in the form of CSV files. To see all the available options run:
memotica export --help
And
memotica import --help
If you have any suggestions or would like to contribute to this project, please feel free to open an issue. Thank for your interest!
I took inspiration and implement various aspects of memotica by reviewing and studying the source code from harlequin.sh.