A robust, fast, and feature-rich CLI for syncing Obsidian vault to Anki.
Project description
Arete
Pro-grade synchronization from Obsidian to Anki.
arete is a robust, fast, and feature-rich tool that adheres to a strict One-Way Sync philosophy: Obsidian is the Source of Truth. It allows you to maintain complex study materials in your vault while keeping Anki perfectly in sync.
🚀 Key Features
- ⚡ Turbocharged Sync: SQLite caching skips unchanged files for near-instant updates.
- 📐 Topological Sort: Build filtered study queues that respect prerequisite dependencies.
- 🧬 FSRS Support: Native difficulty and retention analysis for modern memory schedulers.
- 🧹 Orphan Management: Automatically prunes deleted cards from your Anki collection.
- 🩹 Self-Healing: Automatically repairs duplicate IDs or broken internal references.
- 📸 Rich Media: Full synchronization of images, SVGs, and other attachments.
- 💻 Cross-Platform: First-class support for macOS, Linux, and Windows (including WSL).
📦 Quick Start
1. Install CLI
arete requires uv for high-performance dependency management.
git clone https://github.com/Adanato/Arete
cd obsidian_2_anki
uv sync
# To enable Agentic features (v3 preview):
# uv sync --extra agent
2. Install Plugin
Download the latest release from the Releases page and place the files in your plugin folder:
.obsidian/plugins/arete/
3. Initialize & Sync
uv run arete init # Interactive setup wizard
uv run arete sync # Your first sync
📚 Documentation
- CLI Guide: Command-line options, configuration, and syntax.
- Obsidian Plugin Guide: How to use the GUI and Gutter features.
- Architecture: Technical deep-dive into the core logic.
- Troubleshooting: Common fixes for WSL and networking.
🔄 Upgrading to v2.0
Upgrading from a legacy version? arete includes a migration tool to normalize your metadata:
uv run arete migrate
📄 License
MIT
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 arete-2.0.0.tar.gz.
File metadata
- Download URL: arete-2.0.0.tar.gz
- Upload date:
- Size: 416.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 |
acf46a6eabf9c143cdadda8f08d481925ddbb90bc4fc3b0b1369f976f3bd7d13
|
|
| MD5 |
56f3b007c5d93769cfc139c476f1fcba
|
|
| BLAKE2b-256 |
8796ea957d3c1d37c98896457ce3cf86cec71d5c3f3aa1bafadd3eed477ad079
|
Provenance
The following attestation bundles were made for arete-2.0.0.tar.gz:
Publisher:
release.yml on Adanato/Arete
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
arete-2.0.0.tar.gz -
Subject digest:
acf46a6eabf9c143cdadda8f08d481925ddbb90bc4fc3b0b1369f976f3bd7d13 - Sigstore transparency entry: 835641888
- Sigstore integration time:
-
Permalink:
Adanato/Arete@ba377c64428ad4a43144c25c432c8c80548d5eb9 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/Adanato
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ba377c64428ad4a43144c25c432c8c80548d5eb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file arete-2.0.0-py3-none-any.whl.
File metadata
- Download URL: arete-2.0.0-py3-none-any.whl
- Upload date:
- Size: 106.7 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 |
a718817d2b8e84dc33b3d9b6fd63a9223d727a41938b689a688f9d65aedd6ca9
|
|
| MD5 |
68768827a9c0029fed8f4254e17b838b
|
|
| BLAKE2b-256 |
d2a40f765a84983446f811519159f5f78f9e855256537d776e8f399cb1abb4e9
|
Provenance
The following attestation bundles were made for arete-2.0.0-py3-none-any.whl:
Publisher:
release.yml on Adanato/Arete
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
arete-2.0.0-py3-none-any.whl -
Subject digest:
a718817d2b8e84dc33b3d9b6fd63a9223d727a41938b689a688f9d65aedd6ca9 - Sigstore transparency entry: 835641889
- Sigstore integration time:
-
Permalink:
Adanato/Arete@ba377c64428ad4a43144c25c432c8c80548d5eb9 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/Adanato
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ba377c64428ad4a43144c25c432c8c80548d5eb9 -
Trigger Event:
push
-
Statement type: