DokuReader is a local desktop application for organizing, previewing, and bundling documents by topic. Original files stay where they are; the application stores only file references and read status in a local JSON state file.
It is designed for private document libraries, research folders, PDF collections, and topic-based reading queues that should remain local and inspectable.
- Create, rename, and delete document topics
- Mark documents as read or unread
- Preview images, PDFs, text files, and DOCX/ODT documents
- Text preview and TXT-to-PDF export with UTF-8 and Latin-1 fallback
- Add files via drag and drop when
tkinterdnd2is installed - Open original documents in the default application with a double-click
- Export all, read, or unread documents as a combined PDF
- Export the full library as
dokureader-library-v1.json - Convert Office documents to PDF through LibreOffice or Microsoft Word
- Build a local Windows executable through the PyInstaller spec
- DokuReader runs locally and does not upload documents to external services.
- Original files are not copied or modified.
- State is stored in
~/.dokubibliothek_state.json. - The standard JSON export contains topics, paths, file metadata, and read status, but no document contents.
- Local build artifacts, release files, internal task notes, and conversion scratch files are excluded via
.gitignore.
- Python 3.10+
- Tkinter, usually included with standard Python installations
pip install -r requirements.txtrequirements.txt includes the supported Python integrations for preview, drag and drop, and PDF export. Missing optional packages only disable the related extra feature.
For full preview and export functionality:
- LibreOffice for DOC/DOCX/ODT/RTF to PDF conversion
- Poppler for the optional
pdf2imagepreview backend - Microsoft Word on Windows for optional Word-COM conversion
python DokuReader.pyOn Windows, the start file can be used instead:
START.batFor companion export, use the Bibliothek (JSON) section on the right side of the app. It writes topics, paths, file metadata, and read status to dokureader-library-v1.json without copying document contents. The format is documented in EXPORTFORMAT.md.
build_exe.batBuild output under build/, dist/, and releases/ stays local and does not belong in the Git repository. The build uses a local work directory under C:\_Local_DEV\codex_build\dokureader and updates dist\DokuReader.exe.
The desktop app remains the authoritative local library. Windows Store is the first distribution target; macOS and Linux are tracked as source and smoke-test targets from the same Tkinter codebase. For Android, iOS, and browser use, a later Web/PWA companion based on dokureader-library-v1.json is more appropriate than a full native clone because mobile sandboxes cannot freely access local desktop document paths.
See PORTIERUNGSPLAN.md for the current platform plan.
- Documents:
.txt,.doc,.docx,.pdf,.odt,.rtf - Images:
.jpg,.jpeg,.gif,.png
DokuReader.py- main applicationrequirements.txt- Python dependenciesDokuReader.spec- PyInstaller configurationEXPORTFORMAT.md- schema fordokureader-library-v1.jsonPORTIERUNGSPLAN.md- platform strategy and exchange-format planSTORE_LISTING.md- Windows Store copy in German and EnglishPRIVACY_POLICY.md- privacy notes for the Store releaseSUPPORT.md- support and contact pathsllms.txt- machine-readable project contextlocales/translations.json- translation dataTHIRD_PARTY_LICENSES.txt- third-party license summarySECURITY.md- vulnerability reporting guidanceCONTRIBUTING.md- contribution guidelines
This project is licensed under the GNU Affero General Public License v3.0. AGPL-3.0 is appropriate because DokuReader can optionally use PyMuPDF, which is also licensed under AGPL-3.0.
This project is provided without warranty. Use, testing, and processing of your own documents are at your own risk. The warranty and liability disclaimers of AGPL-3.0 apply.
