A minimalist CLI mental gymnasium for the Method of Loci
Project description
🏛️ MnemoCLI 🏛️
MnemoCLI is a minimalist, high-performance command-line mental gymnasium designed to help you master the Method of Loci (Memory Palaces).
Whether you are a student memorizing for exams, a language learner building vocabulary, or a memory athlete training for a competition, MnemoCLI provides a focused environment to sharpen your cognitive recall and encoding speed.
🛠 Installation
MnemoCLI requires Python 3.10+.
Option A: Stable Release (Recommended)
Install the latest verified version directly from PyPI:
pip install mnemocli
Option B: Bleeding Edge (Development)
If you want the absolute latest features and word-list updates before they hit the official release, install directly from the GitHub repository:
pip install git+https://github.com/Gustavo1500/mnemocli.git
🔄 How to Update
| Method | Command to Update | Description |
|---|---|---|
| PyPI | pip install -U mnemocli |
Updates to the latest stable version. |
| GitHub | pip install --force-reinstall git+https://github.com/Gustavo1500/mnemocli.git |
Pulls the latest commit from the main branch. |
Note for Linux/macOS users: If you encounter a "break-system-packages" error, it is recommended to install via pipx install mnemocli or use a Python Virtual Environment.
🎮 Training Modes
1. Palace Navigation
- Normal Run: A steady walk-through of your palace stations.
- Random Drill: The system calls out a locus number; visualize that station instantly.
- Palace Rush: A timed sprint to recall your entire palace (supports Reverse mode).
- Middle-Out: Start at the center of your palace and expand outward in both directions.
2. Content Memorization
- Random Numbers: Generates sequences of digits (0-9). Practice your Major System or PAO.
- Random Words: Pulls words from extensive dictionaries (English or Portuguese).
3. The Proving Grounds
- Standard Mode: A daily maintenance session. It starts with a warm-up and follows with randomized drills until your timer expires.
- Olympic Mode: Randomized competition events (Numbers or Words) with a 5-minute limit and four difficulty tiers (Beginner to Pro). Your stats are saved for progress tracking.
📖 Usage Guide
Once installed, you can launch the app from anywhere in your terminal using the mnemocli command.
Command Syntax
mnemocli [mode] [arguments]
Arguments & Flags
Depending on the mode you select, you will need to provide specific flags:
| Flag | Long Form | Description | Required For |
|---|---|---|---|
-la |
--loci_amount |
The total number of stations in your memory palace. | standard, random_drill, palace_rush, middle_out, normal_run, even_run, odd_run. |
-a |
--amount |
The number of items (words or digits) to generate for a session. | random_words, random_numbers. |
-t |
--time |
The time limit in minutes. Set to 0 for no limit. |
standard, random_words, random_numbers. |
Note: In random_words or random_numbers modes, if you provide -la but omit -a, the item amount will default to the number of loci provided.
Examples
Daily 10-minute palace maintenance (50 stations):
mnemocli standard -la 50 -t 10
Memorize 40 Random Words (Time limit of 8 minutes):
mnemocli random_words -a 40 -t 8
View your Olympic progress graph:
mnemocli graph
Check data storage location and version:
mnemocli info
⚙️ Configuration & Data
Upon first run, MnemoCLI creates a hidden directory in your home folder:
- Linux/macOS:
~/.mnemocli - Windows:
C:\Users\<User>\.mnemocli
Customization
You can edit ~/.mnemocli/config.ini to change:
- Default training language (English/Portuguese).
- Default session timers.
- Which modes are included in your "Standard" daily workout.
Data Safety
To wipe your history and reset the app to factory settings, run:
mnemocli cleanup
🌐 Language Support
MnemoCLI includes curated word lists with 2,300+ entries for:
- 🇺🇸 🇬🇧 English
- 🇧🇷 🇵🇹 Portuguese
Contributions are welcome! To add a new language, follow the JSON format in the mnemocli/languages/ folder and submit a Pull Request.
⚖️ License
This project is licensed under the GNU General Public License v3.0.
- Freedom to modify: You can change the code however you like.
- Freedom to share: You can redistribute the code.
- Stay Open: If you modify and share this project, your version must also be licensed under the GPL v3.0 (Copyleft).
See the LICENSE file for the full legal text.
🧩 Contribution & Philosophy
MnemoCLI is built on the belief that a better memory leads to a more organized and creative life. This tool is for everyone—from the casual hobbyist to the competitive pro.
If you find a bug, have a feature request, or want to contribute a more curated dictionary for any language, please open an issue or submit a pull request.
I have built this tool to help me master the Method of Loci, and I hope it can help you too. All feedback and contributions are greatly appreciated!
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 mnemocli_loci-1.0.2.tar.gz.
File metadata
- Download URL: mnemocli_loci-1.0.2.tar.gz
- Upload date:
- Size: 55.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e83fadcd1054d08176719425dfca1657130909ea39d3938d3c12ed4e2a503709
|
|
| MD5 |
c502a2cd27cf283f9f922ac1ca4f99b0
|
|
| BLAKE2b-256 |
02d6ae48f150e7fe0a98217618d568dbae62908bb642e78888954d7f246e378d
|
Provenance
The following attestation bundles were made for mnemocli_loci-1.0.2.tar.gz:
Publisher:
publish.yml on Gustavo1500/MnemoCLI
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mnemocli_loci-1.0.2.tar.gz -
Subject digest:
e83fadcd1054d08176719425dfca1657130909ea39d3938d3c12ed4e2a503709 - Sigstore transparency entry: 1098176488
- Sigstore integration time:
-
Permalink:
Gustavo1500/MnemoCLI@559a842bc92f6e293e9f3745d5a48d14fc66a921 -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/Gustavo1500
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@559a842bc92f6e293e9f3745d5a48d14fc66a921 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mnemocli_loci-1.0.2-py3-none-any.whl.
File metadata
- Download URL: mnemocli_loci-1.0.2-py3-none-any.whl
- Upload date:
- Size: 57.5 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 |
07497d376111f1f39f76f77965b95703942bcb13dabab1208f34c368b942c484
|
|
| MD5 |
11802ae1866347e678d23d0cd16d1d0d
|
|
| BLAKE2b-256 |
d147d90a40b278ed92069955d7f81eb49a84d79c772763ca716b2de958dda565
|
Provenance
The following attestation bundles were made for mnemocli_loci-1.0.2-py3-none-any.whl:
Publisher:
publish.yml on Gustavo1500/MnemoCLI
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mnemocli_loci-1.0.2-py3-none-any.whl -
Subject digest:
07497d376111f1f39f76f77965b95703942bcb13dabab1208f34c368b942c484 - Sigstore transparency entry: 1098176531
- Sigstore integration time:
-
Permalink:
Gustavo1500/MnemoCLI@559a842bc92f6e293e9f3745d5a48d14fc66a921 -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/Gustavo1500
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@559a842bc92f6e293e9f3745d5a48d14fc66a921 -
Trigger Event:
push
-
Statement type: