Skip to content

daxida/lingq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LingQ

Command line utilities and scripts for interacting with LingQ's API.

You will need a LingQ API key. You can get it from here.

Installation

(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.

How to use

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'.

Etc.

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

Links

  • 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

About

Lingq scripts for automated editing

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published