Skip to main content

A language learning utility with Anki integration

Project description

Ankipan

Ankipan is a project to democratize language learning in a decentralized way.

It allows you to choose which domains you want to be more fluent in, and creates a custom learning curriculum that aims to get you to your goal as effectively and efficiently as possible. It is currently based on anki flashcards, where the user first specifies a source text or folder with textdocuments of interest. Ankipan then uses a NLP library to parse all the words and bring them to their root form, and then generates flashcards sorted by occurrence frequency in the source. The flashcards can contain any number of fields that the user is interested in, such as dictionary definitions, example sentences from a particular source, or gpt-generated translations and explanations for how the words are used in the specified source:

New fields can easily be added in a modular way by creating a new file in the ankipan/flashcard_fields directory. Ankipan can connect to any number of servers containing a pre-parsed db of different text sources, e.g. to collect example sentences or utilize GPT resources for translations/explanations and other fields. (ankipan.Config.add_server(name, url), for hosting a server see https://gitlab.com/ankipan/ankipan_db)

Getting started

1. Prerequisites

2. Installation

  • Using pip:
pip install ankipan
  • From source:
git clone git@gitlab.com:ankipan/ankipan.git
cd ankipan
pip install .

3. (Optional) Install lemmatizers to parse your own texts

pip install stanza HanTa

Usage

See notebooks in /examples

Notes

  • Current lemmatization is done via the stanza library in the reader.py module. While this works mostly fine, the library still just uses a statistical model to estimate the likely word roots (lemmas) of the different pieces of sentences. It sometimes makes mistakes, which requires the users to manually filter them in the select_new_words overview, or suspend the card later on in anki.

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

ankipan-0.5.tar.gz (59.0 kB view details)

Uploaded Source

Built Distribution

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

ankipan-0.5-py3-none-any.whl (55.5 kB view details)

Uploaded Python 3

File details

Details for the file ankipan-0.5.tar.gz.

File metadata

  • Download URL: ankipan-0.5.tar.gz
  • Upload date:
  • Size: 59.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.11

File hashes

Hashes for ankipan-0.5.tar.gz
Algorithm Hash digest
SHA256 1c03481cafdc86170c92832aa9cd790a3e06dca8109c2e7215a48250e1158ff3
MD5 786ed2794f7a74b790fbc5bcfee95fbb
BLAKE2b-256 a72d59eb8f48ed5e77c3195a6967eddd26e7c62e98b7a08883cfa25ec6e75b32

See more details on using hashes here.

File details

Details for the file ankipan-0.5-py3-none-any.whl.

File metadata

  • Download URL: ankipan-0.5-py3-none-any.whl
  • Upload date:
  • Size: 55.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.11

File hashes

Hashes for ankipan-0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 35ba1ced90596d943a6a77b80ca7189dabf14c18faf5a4cf0da94e02b5252fbe
MD5 343052e2c1ff40274881c946bd8a1928
BLAKE2b-256 5991b07084628f5ca4ea85a6cc7979345a48f0e2e1dde388e7bf3aaeccec1210

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