| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| PyGlossaryTk-5.4.0-macos-14.dmg | 2026-05-26 | 53.7 MB | |
| PyGlossaryTk-5.4.0-macos-15.dmg | 2026-05-26 | 54.2 MB | |
| PyGlossary-5.4.0-Windows-x64-setup.exe | 2026-05-26 | 39.2 MB | |
| PyGlossary-5.4.0-Windows-X64-dist.zip | 2026-05-26 | 57.3 MB | |
| 5.4.0 source code.tar.gz | 2026-05-26 | 777.5 kB | |
| 5.4.0 source code.zip | 2026-05-26 | 1.1 MB | |
| README.md | 2026-05-26 | 6.4 kB | |
| Totals: 7 Items | 206.2 MB | 0 | |
What's Changed
Compatibility changes
- XDXF: switch to XSL transform mode by default to fix whitespace issues (#562)
- On Windows and macOS, the default GUI is now
tk_wizard(use--ui=tkfor the classic Tkinter UI) - On Linux, auto-launching a GUI is disabled when neither PyGObject (
gi) nor Tkinter is available (#713)
Bug fixes (security)
DataEntry.save: refuse absolute paths and../segments to prevent malicious dictionary content from writing files outside the chosen output directory. Thanks to @gistrec for the private report.
Bug fixes (core)
- Avoid loading all plugin modules at startup despite reading from
index.json, which could register plugins twice (#712)
Bug fixes (plugins)
- Aard2 Slob writer: fix compatibility with Python 3.14: option
file_size_approxmisbehaving - Aard2 Slob writer: fix image link replacement (missing slash in replacement) (#723)
- MOBI writer: fix leading double-quote in CSS charset declaration (#715)
Bug fixes (user interface)
- Interactive CLI: fix text color on light terminal backgrounds
- CLI: exit early when
inputFormatis invalid - Gtk4 on macOS: fix
AttributeErrorfordisplay.get_primary_monitor(#724) - Gtk3 / Gtk4: fix exception when
convertOptions=None - Tkinter UI: fix not applying
infoOverridefrom flags like--name
Features
New read/write format functionalities
- Babylon BGL writer: added for testing purposes for now; wraps HTML
src/hrefresource links into BGL binary link format when bundled data entries are present - TMX reader (#716) — Translation Memory eXchange XML (
.tmx), the standard interchange format for translation-memory tools. Use case: import source/target translation units from CAT tools or TM archives as glossary entries for lookup or conversion to StarDict, Tabfile, etc. - XLIFF reader (#716) — XML Localization Interchange File Format (
.xlf,.xliff) used in software and document localization pipelines. Use case: turn bilingual XLIFF segments into term/definition pairs for dictionaries or further processing alongside TMX workflows. - FreeDict Markdown reader — reads FreeDict TEI (
.tei) like the existing FreeDict plugin, but stores definitions as Markdown instead of HTML. Use case: feed FreeDict dictionaries into Markdown-friendly targets (e.g. Yomitan,view-glossary, or text-oriented writers) without HTML cleanup. - WordFrequency.info reader — tab-separated COCA lemma frequency lists (
.wordfrequency, e.g.lemmas_60k.txtfrom wordfrequency.info (www.wordfrequency.info)), with part-of-speech tags and per-genre counts. Use case: build frequency-ranked vocabulary glossaries for learners, flashcard apps, or filtered word lists. - AppleDict Source reader — Apple Dictionary XML source bundles (
.appledirectories produced by Dictionary Development Kit). Use case: read and convert existing Apple dictionary source projects on any platform, edit entries outside macOS, or round-trip with the existing AppleDict writer.
New command-line features
Conversion flags and standalone CLI tools (pyglossary, pyglossary-view / view-glossary, pyglossary-diff / diff-glossary):
--skip-term-regex=REGEX— skip entries whose headword or alternate fully matches a regex (skip_term_regexconfig key; documented in doc/config.rst and doc/entry-filters.md)pyglossary-view(view-glossary): render Markdown definitions (needsrichmodule)- Expand built-in
helptext: entry filters, sorting, read/write options,--interactive/--no-interactive, Gtk4 launcher,--log-time, and SQLite mode notes
New user interface features
- Add
ui_tk_wizard: step-by-step Tkinter wizard (--ui=tk_wizard,--tkw); default on Windows and macOS - Add
ui_qt6: Qt 6 wizard-based interface (--ui=qt6,--ui=qt,--qt6,--qt); install withpip install pyglossary[qt6] - Gtk3 / Gtk4: add Options → Info / Metadata dialog — set Glossary Name, Source Language, and Target Language before conversion (same fields as the Tk/Qt dialogs and CLI flags
--name,--source-lang,--target-lang); values are passed as glossary info to the output writer (e.g. StarDict.ifo, EPUB metadata) - About dialogs / tabs in Gtk3, Gtk4, Tk, Qt6 UIs: show Python and GUI toolkit versions
Improvements
- Yomitan / Yomichan: support deinflection entries (#718)
- WordNet reader: read copyright message and year from comment block (#706)
Other changes
- Update
README.mdformat table with new readers - Refactor large modules into packages: Babylon BGL reader, Slob, Tkinter UI, interactive CLI
- Replace
scripts/genbash script with a faster Python implementation - Add ARCHITECTURE.md, CONTRIBUTING.md, and doc/tabfile-spec.md
- Ship some test data files with the repository
- CI: add workflow to prevent large git objects; check that plugin names contain no spaces
- Linting and typing: ruff/mypy cleanup across the codebase
New Contributors
- @daxida made their first contribution in #718
Full Changelog: https://github.com/ilius/pyglossary/compare/5.3.0...5.4.0