Python utilities for creating Anki flashcards. Designed for AI agent integration.
Project description
anki-utils
Python utilities for creating Anki flashcards. Designed for AI agent integration.
Install
pip install anki-utils
Features
- Card Generation: Create
.apkgfiles for 6 card types (Front-Back, Concept, Cloze, Image, Person, Image Occlusion) - Theme System: 4 built-in themes (minimal, rich, bold, ios)
- Markdown Support: Convert markdown formatting to Anki-compatible HTML
- Input Validation: Clear error messages for invalid card data
- Image Occlusion: OCR-based automatic region detection
- Preview Assets: React components for card preview
- Agent-Friendly: CLI commands for querying roadmap and changelog
Quick Start
# Generate .apkg from JSON
echo '{"deck_name": "Test", "cards": [...]}' | anki-utils export-apkg --output deck.apkg
# List available themes
anki-utils themes --list
# Get preview template
anki-utils asset preview-template
# Detect occlusion regions in an image
anki-utils occlusion-detect image.jpg --json
For AI Agents
Check development status:
anki-utils roadmap # Full roadmap
anki-utils roadmap --section "Current Focus" # Specific section
anki-utils changelog --latest # Most recent changes
Documentation
- docs/VISION.md - Project goals and end state
- docs/ARCHITECTURE.md - Technical structure
- docs/AGENT_GUIDE.md - How to work on this codebase
Development
# Clone and install in dev mode
git clone https://github.com/Gilbetrar/anki-package.git
cd anki-package
pip install -e ".[dev]"
# Run tests
pytest -v
# Run with coverage
pytest --cov=anki_utils
Repository Structure
anki-package/
├── anki_utils/ # Published PyPI package
│ ├── exporter.py # Core .apkg generation
│ ├── markdown.py # Markdown to HTML conversion
│ ├── themes.py # CSS theme definitions
│ ├── occlusion.py # Image occlusion detection
│ ├── cli.py # Command-line interface
│ ├── ROADMAP.md # Development roadmap
│ └── CHANGELOG.md # Version history
├── tests/ # Test suite (pytest)
├── docs/ # Agent-focused documentation
├── archive/ # Legacy files (reference only)
└── .github/workflows/ # CI/CD (runs tests on push/PR)
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 anki_utils-0.2.3.tar.gz.
File metadata
- Download URL: anki_utils-0.2.3.tar.gz
- Upload date:
- Size: 547.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3a8e1d9d0ee14c3d8e253a60772830aa1bc8c03ccb981f349cf4ba5a998f108
|
|
| MD5 |
0439ad1839e1757e0b7709cb92bf9d34
|
|
| BLAKE2b-256 |
a57765f27206c01acfc2aa03915c0ebe50d5881d0754a8c68f3ece02df1096fe
|
Provenance
The following attestation bundles were made for anki_utils-0.2.3.tar.gz:
Publisher:
publish.yml on Gilbetrar/anki-package
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anki_utils-0.2.3.tar.gz -
Subject digest:
a3a8e1d9d0ee14c3d8e253a60772830aa1bc8c03ccb981f349cf4ba5a998f108 - Sigstore transparency entry: 787474548
- Sigstore integration time:
-
Permalink:
Gilbetrar/anki-package@2ccee611bace282870ecb23474febef6eb04833c -
Branch / Tag:
refs/tags/v0.2.3 - Owner: https://github.com/Gilbetrar
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2ccee611bace282870ecb23474febef6eb04833c -
Trigger Event:
release
-
Statement type:
File details
Details for the file anki_utils-0.2.3-py3-none-any.whl.
File metadata
- Download URL: anki_utils-0.2.3-py3-none-any.whl
- Upload date:
- Size: 63.0 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 |
c2c5aad4160345bef5b6b6c68c62df0adabd166f93de9da31d6640ddaf78cc53
|
|
| MD5 |
adc561c9c55be7c4e9edf3e94689f64e
|
|
| BLAKE2b-256 |
7c82a00fd35edb9f060577c89638925cb4fadec023f777935a90737bfb942664
|
Provenance
The following attestation bundles were made for anki_utils-0.2.3-py3-none-any.whl:
Publisher:
publish.yml on Gilbetrar/anki-package
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anki_utils-0.2.3-py3-none-any.whl -
Subject digest:
c2c5aad4160345bef5b6b6c68c62df0adabd166f93de9da31d6640ddaf78cc53 - Sigstore transparency entry: 787474555
- Sigstore integration time:
-
Permalink:
Gilbetrar/anki-package@2ccee611bace282870ecb23474febef6eb04833c -
Branch / Tag:
refs/tags/v0.2.3 - Owner: https://github.com/Gilbetrar
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2ccee611bace282870ecb23474febef6eb04833c -
Trigger Event:
release
-
Statement type: