gnosis 
- Description
- Knowledge System
- Latest
- gnosis-0.9.0.tar (.sig), 2026-Mar-17, 480 KiB
- Maintainer
- Thanos Apollo <public@thanosapollo.org>
- Website
- https://thanosapollo.org/projects/gnosis
- Browse ELPA's repository
- CGit or Gitweb
- All Dependencies
- compat (.tar)
- Badge
- Manual
- gnosis
To install this package from Emacs, use package-install or list-packages.
Full description
1. Gnosis
1.1. About
Gnosis is a GNU Emacs learning tool, with a spaced repetition like implementation.
- Project's Page: https://thanosapollo.org/projects/gnosis/
- User Manual: https://elpa.nongnu.org/nongnu/doc/gnosis.html
- Demo deck: https://codeberg.org/thanosapollo/gnosis-demo
- It's recommended to try out the demo deck for first time users.
Old versions
| gnosis-0.8.0.tar.lz | 2026-Mar-04 | 75.8 KiB |
| gnosis-0.7.0.tar.lz | 2026-Feb-24 | 54.6 KiB |
| gnosis-0.6.0.tar.lz | 2026-Jan-26 | 41.1 KiB |
| gnosis-0.5.8.tar.lz | 2025-Nov-08 | 40.2 KiB |
| gnosis-0.5.7.tar.lz | 2025-Oct-25 | 38.0 KiB |
| gnosis-0.5.6.tar.lz | 2025-Oct-15 | 38.1 KiB |
| gnosis-0.5.5.tar.lz | 2025-Aug-13 | 37.8 KiB |
| gnosis-0.5.4.tar.lz | 2025-Aug-01 | 37.8 KiB |
| gnosis-0.5.3.tar.lz | 2025-Jul-02 | 38.2 KiB |
| gnosis-0.5.2.tar.lz | 2025-Jun-30 | 37.7 KiB |
| gnosis-0.5.1.tar.lz | 2025-Jun-18 | 37.2 KiB |
| gnosis-0.5.0.tar.lz | 2025-Jun-17 | 41.5 KiB |
| gnosis-0.4.10.tar.lz | 2024-Dec-10 | 40.8 KiB |
| gnosis-0.4.8.tar.lz | 2024-Nov-08 | 40.4 KiB |
| gnosis-0.4.7.tar.lz | 2024-Nov-07 | 40.6 KiB |
| gnosis-0.4.6.tar.lz | 2024-Oct-23 | 40.6 KiB |
| gnosis-0.4.5.tar.lz | 2024-Oct-12 | 40.6 KiB |
| gnosis-0.4.4.tar.lz | 2024-Oct-06 | 40.1 KiB |
| gnosis-0.4.2.tar.lz | 2024-Sep-05 | 40.5 KiB |
| gnosis-0.4.1.tar.lz | 2024-Aug-19 | 39.1 KiB |
News
1. 0.9.0
1.1. Breaking changes
- Dropped emacsql dependency: gnosis now uses Emacs's built-in
sqlitemodule (requires Emacs 29+). The newgnosis-sqlitebackend handles all database access. - Unified database: org-gnosis has been merged into gnosis.
A single
gnosis.dbstores both themata and nodes. Existing org-gnosis data is migrated automatically. - Decks removed: the deck abstraction is gone. Existing deck names are automatically converted into tags during the v6 migration, so no data is lost. Export and import are now thema-centric with tag filtering.
1.2. New features
- Anki import: import Anki decks or user collections directly with
gnosis-anki-import. - Tag filtering:
gnosis-tags-filter-promptsupports+tag -tagsyntax for include/exclude filtering. Used in export andgnosis-collect-thema-ids. - Day start hour:
gnosis-algorithm-day-start-hour(default 3) lets you define when a new review day begins. - Tag bulk operations: rename, regex bulk rename (
R), merge case duplicates (C), bulk delete, and suspend/unsuspend from the dashboard tags view. Tag renames are merge-safe (handles UNIQUE conflicts when target tag already exists). - Elapsed time intervals: the algorithm uses actual elapsed time for interval calculation.
- Review transient menu:
gnosis-reviewuses transient instead of completing-read. - Template expansion:
{*}heading markers in templates are expanded relative to insertion context viagnosis-org-expand-headings. - Export with tag filtering:
gnosis-export-thematasupports tag filtering and node export.
1.3. Dashboard
- Tags view with regex filter (
l), regex search (SPC), and tag counts. - Bulk tag rename via regex pattern (
R) using a temp-table approach for O(1) SQL statements regardless of batch size. - Anki import keybinding in the dashboard menu.
- Merge case-duplicate tags (
C): groups tags by case, keeps the most-used variant as canonical.- Meant to simplify imports from anki decks hierarchical tag structure
- Entry cache for themata view (avoids re-querying unchanged entries).
- Cache invalidation on tag mutations so the themata view stays fresh.
1.4. Performance
- Batch SQL helpers:
gnosis-sqlite-execute-batchandgnosis-sqlite-select-batchauto-chunk IN clauses to stay withinSQLITE_MAX_VARIABLE_NUMBER. - N+1 query patterns eliminated throughout: tag suspend, tag delete, bulk link, export, and dashboard operations.
- Bulk tag rename uses a temp mapping table (4 SQL statements for any number of renames, instead of 2N).
SELECT DISTINCTreplaces Elisp deduplication for tag lookups.
1.5. Bug fixes
- Fix DST bug in
gnosis-algorithm-date. - Fix
gnosis-review-topic: flatten select results, fix y-or-n-p logic. - Fix
gnosis-completing-readto usecompleting-readfor require-match. - Fix force-sync purge and journal link FK violation.
- Warn on duplicate filename when timestring is nil in node creation.
2. 0.8.0
2.1. New features
- Auto input-method detection: gnosis detects the script of the
expected answer (Greek, Cyrillic, etc.) and activates the
appropriate input method during review.
Configured via
gnosis-script-input-method-alist. - Change thema type and deck via
gnosis-update-thema. - Dashboard bulk-link action for currently displayed themata.
- Dashboard header-line with entry count and context.
- Asynchronous deck import with
gnosis-import-deck-async. - Demo deck included in
decks/demo.org.
2.2. Performance
- New
gnosis-tlmodule replacestabulated-list-printfor dashboard rendering (3-4x faster). - Progressive async rendering for large dashboards.
- Batch-fetch review data instead of per-thema queries.
2.3. Bug fixes
- Fix anagnosis event calculation in the algorithm.
… …