Memium
Project description
Memium
When you have to stop and look things up, it breaks up your flow. Adding this knowledge to long-term memory builds fluency, and being fluent at something makes it much more fun! The faster you can get from crawling to running, the more enjoyable it is.
Unfortunately, we forget most of what we read, even stuff we care about.
It turns out that if you ask questions of the texts you read, and ask those questions of yourself in the future, you learn much more! But writing questions and quizzing yourself can feel quite mechanical. What if you wrote questions as part of your notes, and then your computer could quiz you in the future? That's the purpose of Memium. It extracts questions from your notes like
Q. Why can spaced repetition result in more enjoyable learning?
A. It enables faster bootstrapping to proficiency, which is more fun!
And adding them to a spaced repetition service like Anki.
This is an implementation of Andy Matuschak's Personal Mnemonic Medium.
Use as an application
If you want to sync markdown notes to Anki, here's how to get started!
- In Anki, install the AnkiConnect add-on
Command line interface
- Install Memium in its own virtual environment with pipx,
> uv tool install memium
- Import your notes!
> memium --input-dir [YOUR_INPUT_DIR]
In Docker container
- Install Orbstack or Docker Desktop.
- Setup a container
$INPUT_DIR="PATH_TO_YOUR_INPUT_DIR"
docker run -i \
--name=memium \
-e HOST_INPUT_DIR=$INPUT_DIR \
-v $INPUT_DIR:/input \
--restart unless-stopped \
ghcr.io/martinbernstorff/memium:latest \
memium --input-dir /input
This will start a docker container which updates your deck from $INPUT_DIR. In case of updated files, it will sync the difference (create new prompts and delete deleted prompts) to Anki.
If you want to continuously sync the directory, set the --watch-seconds [UPDATE_SECONDS] argument as well.
Keeping the package update can be a bit of a chore, which can be automated with WatchTower.
Use as library
If you would like to build build your own Python application on top of the abstractions added here, you can install the library from pypi:
uv add memium
Contributing
Setting up a dev environment
- Install Orbstack or Docker Desktop. Make sure to complete the full install process before continuing.
- If not installed, install VSCode
- Press this link
- Complete the setup process
💬 Where to ask questions
| Type | |
|---|---|
| 🚨 Bug Reports | GitHub Issue Tracker |
| 🎁 Feature Requests & Ideas | GitHub Issue Tracker |
| 👩💻 Usage Questions | GitHub Discussions |
| 🗯 General Discussion | GitHub Discussions |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file memium-1.10.0.tar.gz.
File metadata
- Download URL: memium-1.10.0.tar.gz
- Upload date:
- Size: 201.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe1ae63d97f9816d4fca599190a5cf27336e4b465605d74aa06a283f9288f21a
|
|
| MD5 |
1f69987e3369b35e686a5329377fa7ca
|
|
| BLAKE2b-256 |
41bb6914fa38edcee18ec14d47d76b08ff76811ecc05b2329261c51475e5e1a1
|
Provenance
The following attestation bundles were made for memium-1.10.0.tar.gz:
Publisher:
release.yml on MartinBernstorff/Memium
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
memium-1.10.0.tar.gz -
Subject digest:
fe1ae63d97f9816d4fca599190a5cf27336e4b465605d74aa06a283f9288f21a - Sigstore transparency entry: 780359804
- Sigstore integration time:
-
Permalink:
MartinBernstorff/Memium@24c40c99ae2bebaa2bd978dc3d4fddd9d1219c1b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/MartinBernstorff
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@24c40c99ae2bebaa2bd978dc3d4fddd9d1219c1b -
Trigger Event:
workflow_run
-
Statement type:
File details
Details for the file memium-1.10.0-py3-none-any.whl.
File metadata
- Download URL: memium-1.10.0-py3-none-any.whl
- Upload date:
- Size: 44.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07526dc81a05a9ee0ab8d733efba52e30bc54b42d04efeb1b6097082dac7b6e0
|
|
| MD5 |
3fd06b70a7516958eaaef820922b4e96
|
|
| BLAKE2b-256 |
e104de09587cf70e3e5b02a651faeb7e4e243dd601be5991afd0a33d73f32e44
|
Provenance
The following attestation bundles were made for memium-1.10.0-py3-none-any.whl:
Publisher:
release.yml on MartinBernstorff/Memium
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
memium-1.10.0-py3-none-any.whl -
Subject digest:
07526dc81a05a9ee0ab8d733efba52e30bc54b42d04efeb1b6097082dac7b6e0 - Sigstore transparency entry: 780359806
- Sigstore integration time:
-
Permalink:
MartinBernstorff/Memium@24c40c99ae2bebaa2bd978dc3d4fddd9d1219c1b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/MartinBernstorff
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@24c40c99ae2bebaa2bd978dc3d4fddd9d1219c1b -
Trigger Event:
workflow_run
-
Statement type: