ELPA Logo GNU ELPA: gnosis

gnosis Atom Feed

Description
Knowledge System
Latest
gnosis-0.13.0.tar (.sig), 2026-Sep-20, 1.22 MiB
Maintainer
Thanos Apollo <public@thanosapollo.org>
Other versions:
development version
Website
https://git.thanosapollo.org/emacs-gnosis
ELPA's Repository
CGit or Gitweb
All Dependencies
compat (.tar)
keymap-popup (.tar)
Manual
gnosis

To install this package from Emacs, use package-install or list-packages.

Full description

1. Gnosis

Gnosis is a personal knowledge management and spaced repetition system for Emacs. It integrates two complementary subsystems in a single package: a Zettelkasten-style note system called nodes, and a flashcard-based self-testing system built around themata. Both subsystems share a single SQLite database, and their contents are linked together so that flashcard questions can refer directly to the notes they are drawn from.

1.1. Why Gnosis

Most spaced repetition tools treat flashcards as isolated units. You create a card, review it, and the system schedules the next review. The cards have no relationship to each other or to anything outside the review loop.

Most note-taking tools do the opposite: they help you build a web of interconnected ideas, but they offer no mechanism for systematically testing and reinforcing what you have written.

Gnosis bridges these two approaches. Your notes and your review material live in the same system, linked together. When you write a node about a topic, you can create themata whose questions reference that node. When you review, you can review all the questions linked to a given note, or follow the link graph to review related topics. The goal is a single system where understanding and recall reinforce each other.

1.2. Nodes

Nodes are Zettelkasten-style notes stored as plain org-mode files. Each node is identified by a unique UUID stored in an Org :ID: property. Nodes are indexed in the database so that they can be searched, browsed by tag, and linked together using standard org-mode [[id:UUID]] syntax.

1.3. Themata

A thema (plural themata) is a review card. Each thema consists of a keimenon (the question or prompt), an answer, and an optional parathema (supplementary context shown after the answer). Themata are reviewed using a spaced repetition algorithm that adapts the interval between reviews based on performance.

Themata support basic, double, MCQ, cloze and mc-cloze text questions, image-region and image-occlusion questions, and optional 3D model questions.

1.4. Installation

Install from GNU ELPA with M-x package-refresh-contents, then M-x package-install RET gnosis RET. Emacs installs the declared compat and keymap-popup dependencies. Core Gnosis requires Emacs 29.1 or later with working SQLite support: M-: (sqlite-available-p) should return t. Python and native canvas support are not required.

Open M-x gnosis-dashboard to start, or C-h i g (gnosis) RET for the installed manual. See Installation and Setup for directories and configuration. Existing users: back up the old database, Org files and media before the first database open with upgraded code; see the manual's Database Upgrades and Rollback section for 0.13.0 (schema 11).

1.5. Optional 3D support

Gnosis works without Python or a 3D renderer. Model themata use the optional canvas-3d backend, which is not included in the ELPA package. Install it separately from a matching Gnosis source checkout; keep the whole optional/canvas-3d/ directory, not just its Lisp file.

The backend requires a graphical Emacs with canvas-refresh and the canvas image type (Emacs 32 development builds), Python 3.12–3.14, and a working EGL/OpenGL 3.3 driver. Only Linux EGL is currently verified. Installing Python dependencies does not add canvas support to an older Emacs.

Install uv, then prepare and check the backend:

cd /path/to/gnosis/optional/canvas-3d
uv sync --locked
./preflight.py

Point Gnosis at that directory in your Emacs configuration:

(with-eval-after-load 'gnosis
  (setq gnosis-model-renderer-directory
        "/path/to/gnosis/optional/canvas-3d/"))

The renderer loads only when needed. Opening a model never installs software or downloads dependencies. See the canvas-3d setup guide for preflight options, a standalone test scene, and renderer configuration. Anatomical models are not bundled.

1.6. The Link Between Nodes and Themata

When you write a node about a topic, you can create themata whose keimenon or parathema contains an [[id:NODE-UUID]] link to that node. Gnosis records these relationships so that you can later review all themata associated with a particular node via gnosis-review-topic.

Old versions

gnosis-0.12.0.tar.lz2026-Sep-15 201 KiB
gnosis-0.11.0.tar.lz2026-Sep-14 194 KiB
gnosis-0.10.6.tar.lz2026-May-08 100 KiB
gnosis-0.10.5.tar.lz2026-May-05 100 KiB
gnosis-0.10.4.tar.lz2026-Apr-2998.6 KiB
gnosis-0.10.3.tar.lz2026-Apr-0499.3 KiB
gnosis-0.10.1.tar.lz2026-Mar-2698.6 KiB
gnosis-0.9.0.tar.lz2026-Mar-1788.9 KiB
gnosis-0.8.0.tar.lz2026-Mar-0475.8 KiB
gnosis-0.7.0.tar.lz2026-Feb-2454.6 KiB
gnosis-0.6.0.tar.lz2026-Jan-2641.1 KiB
gnosis-0.5.8.tar.lz2025-Nov-0840.2 KiB
gnosis-0.5.7.tar.lz2025-Oct-2538.0 KiB
gnosis-0.5.6.tar.lz2025-Oct-1538.1 KiB
gnosis-0.5.5.tar.lz2025-Aug-1337.8 KiB
gnosis-0.5.0.tar.lz2025-Jun-1741.5 KiB
gnosis-0.4.10.tar.lz2024-Dec-1040.8 KiB
gnosis-0.4.8.tar.lz2024-Nov-0840.4 KiB
gnosis-0.4.2.tar.lz2024-Sep-0540.5 KiB
gnosis-0.4.1.tar.lz2024-Aug-1939.1 KiB

News

1. 0.13.0

1.1. Upgrading

  • Require keymap-popup 0.4.4 for post-answer popup ownership and cleanup.
  • Upgrade released schema 10 to schema 11 to add optional thema rubrics. Existing answers, schedules and study history are preserved. Released schema 8 and 9 databases upgrade through the existing migration steps.
  • Back up the database, Org files and media before the first database open with this version. Downgrading to 0.12.0 requires its matching schema-10 backup, not a database already upgraded to schema 11.
  • Portable content format 5 includes ordinary managed images. Exports carry image bytes, but not original PDFs, region/occlusion cards or 3D models. Back up managed assets with gnosis-backup-data and preserve original PDFs and other external source files separately.

1.2. Review and practice

  • Add rubric-based free-response questions with asynchronous evaluation. Reviewers can inspect and override provisional feedback before accepting a result. Evaluation errors and cancellation do not record failed grades. The optional evaluator receives the question, reference answer, rubric and response; configure its backend before using this question type.
  • Show post-answer actions in a popup with the pending result and next review date. Practice feedback reports that the schedule is unchanged.
  • Add practice-completion notifications and scheduled review from completed practice summaries through gnosis-review-summary-scheduled, preserving separate practice evidence.
  • Preserve the answered occurrence through editing, source navigation and callbacks. Replaced sessions, deleted cards and foreign databases cannot receive stale grades or actions.
  • Complete typing exercises whose target ends with a newline.

1.3. Authoring and illustrations

  • Attach lecture illustrations to explanations with gnosis-lecture-attach, including local PDF page extraction and links to the original source.
  • Preserve complete drafts, source links and literal Org content through narrowed editing, validation, cancellation and interrupted saves.
  • Resolve thema tags outside narrowing without changing question headings.
  • Preserve Anki model fields and note kinds, and refuse imports whose destination database changes while input is being collected.
  • Preserve managed image paths and draft resources; improve model picking precision and reject geometry changes during target publication.

1.4. Journals, navigation and reliability

  • Keep journal capture and template insertion inside the selected date, including files visited through symbolic or hard links.
  • Preserve exact node selections, native metadata and source targets; reconcile external file changes without indexing stale buffer contents.
  • Preserve dashboard selection, sorting and rendering ownership across prompts and buffer changes. Reduce repeated topic and study-day reads.
  • Validate scheduler ownership constraints when opening databases and keep startup independent of optional Git integration.
  • Expand native command-loop regression coverage and require explicit test completion receipts so interrupted suites cannot report success.

2. 0.12.0

2.1. Upgrading

  • Upgrade released schema 9 to schema 10 to retain practice encounter evidence. Released 0.10.6 databases still upgrade through schema 9. Existing content, schedules and study history are preserved; missing historical answers are not invented.
  • Back up before the first database open with this version. Downgrading to 0.11.0 requires its matching pre-upgrade database backup, not a schema-10 database.

2.2. Fixes

  • Populate dashboard statistics on first startup without requiring a previous review session to load their implementation.
  • Refuse native thema saves that would discard explanation headings or

… …