Command line utilities and scripts for interacting with LingQ's API.
You will need a LingQ API key. You can get it from here.
(Optional) Create a virtual environment: python3 -m venv venv
and activate it.
Then either directly:
pip install git+https://github.com/daxida/lingq
Or clone the repository:
git clone https://github.com/daxida/lingq
cd lingq
pip install .
Finally, run:
lingq setup yourLingqApiKey
This will create an .env
file in the root directory with your API key.
Some examples:
# Upload a playlist to a greek course.
lingq postyt el 129129 "https://www.youtube.com/@awesomeyoutuber"
# Bulk upload a book split by chapters.
lingq post el 129139 "example/texts" -a "example/audios" --pairing-strategy zip
# Timestamp an entire german course.
lingq timestamp de 129129
The full set of commands can be found with lingq --help
.
Per command information uses again the help flag: lingq timestamp --help
.
A command tree made with this:
cli - Lingq command line scripts.
├── fix - Fix text for a course.
├── get - Get commands.
│ ├── courses - Get every course from a list of languages.
│ ├── lessons - Get every lesson from a course id.
│ ├── images - Get images.
│ └── words - Get words (LingQs).
├── markdown - Generate markdown files for the given language codes.
├── overview - Library overview.
├── patch - Patch commands.
│ ├── audios - Patch a course audio.
│ └── texts - Not implemented.
├── post - Upload a lesson.
├── postyt - Post youtube playlist.
├── resplit - Resplit a course (only for japanese).
├── setup - Creates or updates an .env file with your LingQ API key.
├── show - Show commands.
│ └── my - Show a list with my collections in the given language.
├── sort - Sort all lessons from a course.
├── timestamp - Generate timestamps for a course.
└── yomitan - Make a Yomitan dictionary from a dump generated by 'get_words'.
Mainly undocumented scripts to scrape, process text and audio, and to manually use whisper.
If you want to use some of it:
git clone https://github.com/daxida/lingq
cd lingq
pip install .[etc]
# And for example
python3 etc/scrape/japanese/sc_itazura.py
- Legacy (v1.0 and v2.0) LingQ's API documentation.
- A miniminalist script to upload content to LingQ. May not be up to date.
- A script to upload youtube playlists to LingQ with Whisper generated subtitles.
- For splitting downloaded audio from youtube.
- Another API wrapper in ruby