Package: language-practice
language_practiceFlashcard terminal app with spaced repetitionLanguages supportedWhile any language with gender or verb aspect can be used, declension/verb conjugation
charts are currently only supported for Ukrainian, Russian and French.InstallingMinimum Python versionThis application relies heavily on the TOML format so Python 3.11 is the minimum
supported Python version.PipRunpip install --user language-practice.From sourceDownload the repo and runpip install --user .in the top level of the repo.Running the programRunlanguage-practice path/to/toml/file.tomlto start the program. This may take
some time if you are using conjugation or declension charts as it will pull them in
parallel from the internet. An internet connection is only required for this part
of the execution.Command line options:--traceback: useful for bug reporting, bubbles the Python exception up to the
terminal--reset: Redownload the entire cache and current information about what words you
have guessed correctly/incorrectlyRun ctrl-C to exit the program and save your progressFile formatThe file format is TOML.Top level optionslang: Acceptsuk,ruandfras values if you would like to pull conjugation
or declension charts from Wiktionary. Not specifying this value does not pull charts
and runs in flashcard-only mode.WordsPut each word under a[[words]]heading.Supported keys are:word:required, vocabulary word to learn in another languagedefinition:required, definition of the vocabulary to learn in your language,
this will be displayed to you for you to guess the word to help recallaspect: aspect of the verb, displayed with the definition to differentiate between
perfective and imperfective verbs if the language you know does not have themusage: arbitrary usage note about the word entrypart_of_speech: used to differentiate between relational adjectives and nouns and
similar cases where the part of speech is not clear in your language from the word
itselfCommandsType:e to show the initial side of the flashcard you first saw with the word in your
languaged to show the the word in the language you are studyingy to mark a word as correctly recalledn to mark a word as incorrectly recalledc to see the declension or conjugation chartu to see usage informationr to refresh the downloaded cache for the current entrySpaced repetitionThis app will show you words you get right less and less frequently and words you get
wrong more and more frequently until you get them right.The exact algorithm is rather simple and could potentially be improved.num_rightis number of times guessed correctly.num_wrongis number of times guessed incorrectly.num_wrong_sinceis the number of times you have gotten it wrong since 10 correct
answers. This is used to balance out words that you sometimes get correct and sometimes
get incorrect to keep it in less frequent but current rotation until you consistently
guess it right.num_rightandnum_wrongare mutally exclusive. If one is non-zero, the other will
be set to zero.The card will be repeatedncards later wherenisnum_right * max(15 - num_wrong_since, 1)ormax(15 - num_wrong, 1).ContributingPlease open bugs and request features on Github! I would love to make this more useful
to others.