Anki Eudic
A small Python/Textual application that downloads an unknown or unfamiliar word list from Eudic and exports it as an Anki-ready, tab-separated text file. The API implementation follows the Eudic development guide included in this repository, including the category and paginated word-list endpoints.
Features
- Terminal UI for saving a token, choosing a Eudic study list, previewing its words, and choosing the Anki export location and deck name.
- Fetches every API page (up to Eudic's documented maximum page size of 100) and removes case-insensitive duplicates.
- Exports word, definition, context, phonetic spelling, added date, and star rating.
- Produces UTF-8 TSV with Anki file headers, HTML-safe content, and preserved line breaks. No Anki add-on or running Anki instance is required.
- Keeps the authorization token out of the repository and export. Persisted tokens
are stored by
keyringin the operating system's credential service—not in a plaintext settings file.
Install
Python 3.10 or newer is required. From a clone of this repository:
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
python -m pip install .
anki-eudic
For development and tests, use python -m pip install -e '.[dev]'.
Token security
Create or copy your authorization token from Eudic's Open API page. On first run,
paste it into the password field and select Save token. Either abc... or the
full NIS abc... authorization value is accepted. The field is masked and cleared
after saving.
The app delegates persistence to the system credential store through keyring
(for example, macOS Keychain, Windows Credential Locker, or a Linux Secret Service).
It deliberately has no plaintext fallback. If the machine has no usable keyring,
provide the token only to the launched process:
EUDIC_TOKEN='NIS your-token' anki-eudic
Avoid putting that command in shell history; a prompt is safer:
read -rsp 'Eudic token: ' EUDIC_TOKEN && export EUDIC_TOKEN && anki-eudic
The environment value takes precedence over a saved value. Forget saved token removes only the credential-store value.
Export and import
- Start
anki-eudic(orpython -m anki_eudic). - Save/provide a token, then load the study lists.
- Pick the list where you keep unknown or unfamiliar words and select Fetch words.
- Review the preview, choose a
.tsv/.txtdestination and deck, and export. - In Anki Desktop, choose File → Import, select the output file, map the six columns if necessary, and enable duplicate handling appropriate for your deck.
The first field is the spelling, so mapping Word to the note type's first field lets Anki identify duplicates. The exported headers select tab separation, HTML, and the chosen deck automatically on Anki versions that support text-file headers.
Keyboard shortcuts
r: reload study listsq: quit
Limitations
- This tool exports study-list content; it does not modify or delete anything in Eudic and does not invoke AnkiConnect.
- Availability and unlocking behavior of the credential store depend on the OS.
- Network/API errors are shown in the status panel. Tokens are never included in those messages.
Tests
pytest
ruff check .
Metadata
Release files for anki-eudic 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| anki_eudic-0.1.0.tar.gz | 16.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| anki_eudic-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.9 kB
Release files / anki_eudic-0.1.0.tar.gz
| Download URL | anki_eudic-0.1.0.tar.gz |
|---|---|
| Size | 16.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bd4daa168b99f6d90ce3830a00215ca95b14bd9230b2f136a0713560f45c5cfb
|
|
BLAKE2b-256 checksum How to use checksums |
883936cdef9aed7e5b9b13286ff1c50d529336100b870e4939c81b2fcde1ad6c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.2
|
Release files / anki_eudic-0.1.0-py3-none-any.whl
| Download URL | anki_eudic-0.1.0-py3-none-any.whl |
|---|---|
| Size | 11.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bdeed19768e7665e88228c4a85e104ea77dde465b1047a58ef7c8a79126bfcb1
|
|
BLAKE2b-256 checksum How to use checksums |
bd8a885c1d826e46133852bb0f66d1489107112d6db691a793f489596042a4d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.2
|
Security for anki-eudic 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.