An LLM-powered CLI to fix, format, and enhance Obsidian notes.
Project description
obsform
obsform (Obsidian Formatter) is an LLM-powered CLI tool designed to automatically clean, correct, and perfectly format your Obsidian notes.
Powered by Google's Gemini 1.5 Flash model, obsform acts as your personal editor. It fixes typos, corrects grammar, converts raw text into clean Markdown, and ensures all your mathematical formulas are perfectly rendered in Obsidian's specific LaTeX format.
Features
- Smart Formatting: Fixes spelling, grammar, and punctuation without losing your personal voice.
- Obsidian Native: Preserves your
[[Internal Links]]and#tags. - Math Formatter: Automatically identifies mathematical equations and wraps them in Obsidian-compatible LaTeX (
$for inline,$$for blocks). - Batch Processing: Pass a whole folder of notes, and it will process all
.mdand.txtfiles inside. - Interactive Diff View: See exactly what the LLM changed with a color-coded terminal diff before saving.
- Format Conversion: Seamlessly converts plain
.txtfiles into properly formatted.mdObsidian notes. - Secure & Local Setup: Stores your API key securely in a local config file so you only have to enter it once.
Installation
Install obsform globally using pip:
pip install obsform
Setup
Before using the tool, you need to provide a free Google Gemini API key. You can get one from Google AI Studio.
Run the setup command to save your key securely:
obsform setup
Usage
Processing a Single File
Process a note and save the output as a new file (e.g., note_processed.md):
obsform process my_note.md
Overwrite the original file with the corrected version:
obsform process my_note.md --replace
Batch Processing
Pass a directory to process all .md and .txt files inside it:
obsform process path/to/my/vault/folder/
Bypassing the Diff View
If you are batch-processing dozens of files and trust the LLM, use the --auto-approve (or -y) flag to skip the confirmation prompt:
obsform process path/to/folder/ --replace -y
Requirements
- Python 3.9+
- A valid Google Gemini API Key
License
MIT License
Project details
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 obsform-0.1.3.tar.gz.
File metadata
- Download URL: obsform-0.1.3.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3cb9197b3b51db223eb966711bda8c1d3f4a3a6ba116c19c236edd220bc00e4
|
|
| MD5 |
ac29da2f9f54e38af9fa23d431b1c7f5
|
|
| BLAKE2b-256 |
29136b577665cfef2fd6874641fb4057b0bd394853c44115a631f34035650030
|
File details
Details for the file obsform-0.1.3-py3-none-any.whl.
File metadata
- Download URL: obsform-0.1.3-py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8753c889ac5c2a173024038713bc425b5937d002480879a9ae8eb2a389f273cc
|
|
| MD5 |
97bd3d7f2412b70e9f4febf11357fad8
|
|
| BLAKE2b-256 |
02bb86c6330245d2e013e4b2534e4e888653b38e73567f6106224164ea99f0f5
|