/ankiref

A reference version of Anki that is run directly from source.

Primary LanguagePythonOtherNOASSERTION

Anki Reference Version

Anki is a free and open-source flashcard program that uses spaced repetition. This repository contains a reference version of Anki based on Anki v2.1.16. The purpose of this reference version is to be able to install and run the same version of Anki in different environments with a stable set of settings and features. It was primarily created for ArnaudLasnier/computer_science_flashcards.

Installation

For macOS, with Homebrew:

brew install python mpv mplayer lame portaudio sqlite git
git clone https://github.com/ArnaudLasnier/ankiref
cd ankiref
python3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.txt
deactivate

Note that this version of Anki requires Python 3.6 or newer. If you cannot download a compatible version of Python with Homebrew, you can build Python 3.6 directly from source.

Running Anki

Once everything is properly installed, you can run Anki with:

source .venv/bin/activate
./runanki --base <base> --profile <profile> --lang <lang>
deactivate

The base argument is required and corresponds to the base folder used by Anki. The two other arguments are optional: profile corresponds to the profile used (i.e. the user) and defaults to "User 1" ; lang corresponds to the language used in the user interface and defaults to "en_US".

Notes

This reference version is based on Anki v2.1.16 (released on December 12, 2019) because it was the first release to remove the "experimental" label from the new scheduler1 and also the last to be solely written in Python2. Also, the differences between this reference version and the original Anki v2.1.16 are well explained in the commit log of this branch.


1 Anki 2.1 introduced a new optional scheduler. It was considered experimental until Anki v2.1.16.

2 Some parts of Anki were indeed rewritten in Rust in Anki v2.1.17 (released on January 11, 2020).