Skip to main content

No project description provided

Project description

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.
├── 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

  • Forced alignment for LingQ.
  • 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lingq-1.0.1.tar.gz (40.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lingq-1.0.1-py3-none-any.whl (46.7 kB view details)

Uploaded Python 3

File details

Details for the file lingq-1.0.1.tar.gz.

File metadata

  • Download URL: lingq-1.0.1.tar.gz
  • Upload date:
  • Size: 40.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.2

File hashes

Hashes for lingq-1.0.1.tar.gz
Algorithm Hash digest
SHA256 aa79584ecb24946a33f755625ab5ae5104658adccfc660fa2cf295ec87ee4867
MD5 f23925e75a2e9c4b08d919a6a1775b5e
BLAKE2b-256 830c30de22d922544983cf86bd989ffb8e5f31fc0824a5bf52bbbd52794957e3

See more details on using hashes here.

File details

Details for the file lingq-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: lingq-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 46.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.2

File hashes

Hashes for lingq-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 37d9bf997cb37b42c3612ad5c5570ce67a1d1451773d1597e2db07ea89144039
MD5 7053286d5c9015c175116fe2de296144
BLAKE2b-256 bc23c5b6e2daf8093486f870493e4e6a4220bd58683a3133220d8338bad6a3c6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page