Skip to main content

gemmate-srs

The Executa (Anna plugin) behind the GemMate Anna App. A single long-running process that speaks JSON-RPC 2.0 over stdio and exposes the study engine the app's UI calls into.

Tools

Method What it does
deck.create / deck.list / deck.delete Deck management
card.add / card.list / card.update / card.delete Card management
study.session Open a review session for a deck (due cards first)
study.grade Grade recall 0–5 and compute the next interval via SM-2
study.stats Deck-level counters
cards.generate Generate flashcards for a topic, persist them to a deck
quiz.generate Generate four-option multiple-choice questions
mindmap.generate Extract a hierarchical concept tree from notes
solve.steps Step-by-step derivation with a final answer and check

Scheduling, deck and card state live in Anna Persistent Storage (APS), never in the iframe, so progress survives window close, reload and device changes.

SM-2 scheduling

Implements the standard SuperMemo-2 update:

  • quality >= 3 → first pass sets interval 1 day, second sets 6 days, then interval = round(interval * EF) with round matching Dart's double.round() (half away from zero) — not Python's banker's rounding.
  • quality < 3 → repetitions reset to 0, interval back to 1 day.
  • EF' = max(1.3, EF + (0.1 - (5 - q) * (0.08 + (5 - q) * 0.02))), applied on every grade including failures, which is what the original GemMate Dart implementation does and what existing review history expects.

LLM use

The four generation tools call the host LLM through Anna sampling (sampling/createMessage). They are additive: review, deck and card management never touch the LLM, so a user who declines the sampling grant still gets a fully working spaced-repetition app.

Development

uv sync --extra test
uv run pytest -q
uv run gemmate-srs          # the plugin loop; reads JSON-RPC frames on stdin

Distribution

Declared in executa.json as distribution.type = "uv". The platform installs it with uv tool install gemmate-srs and launches the gemmate-srs console script.

Release files for gemmate-srs 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gemmate-srs 0.1.0
File Size Uploaded
gemmate_srs-0.1.0.tar.gz 34.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gemmate-srs 0.1.0
File Interpreter ABI Platform
gemmate_srs-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 62.2 kB

Release files / gemmate_srs-0.1.0.tar.gz

Download URL gemmate_srs-0.1.0.tar.gz
Size 34.8 kB
Tags Source
SHA-256 checksum
How to use checksums
24eb75295f6027affa37e0f1db1abd2a3cc0edca62e38b044b768d5a7849805c
BLAKE2b-256 checksum
How to use checksums
a6b8f62d83255bba5ecec505addbb01cdb64472c6f27f81b0f2b0a9e44833654
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / gemmate_srs-0.1.0-py3-none-any.whl

Download URL gemmate_srs-0.1.0-py3-none-any.whl
Size 27.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
78e283a1006ea2b34d74cfe9f98e4478c0bef66cd64ffdf15a82711419da80bd
BLAKE2b-256 checksum
How to use checksums
dcbebdfc21eff0449d17c7d2060106ad9c91df25141b9391156c3637b89b97bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page