{"adoption": {"forks": 199, "observed_at": "2026-08-28T04:06:08.172197+00:00", "stars": 2037}, "canonical_url": "https://ross.abutalabs.com/products/obsidian_to_anki", "card": {"archived": false, "artifact_type": "plugin", "description": "Script to add flashcards from text/markdown files to Anki", "domain": ["education", "developer-tools", "text-editors"], "enriched": true, "function": ["cli", "parser", "markdown", "developer-tools"], "health_score": 25, "homepage": null, "language": "Python", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["ObsidianToAnki/Obsidian_to_Anki"], "name": "ObsidianToAnki/Obsidian_to_Anki", "platform": ["cross-platform", "python", "cli"], "pushed_at": "2024-06-16T18:01:15+00:00", "repo": "ObsidianToAnki/Obsidian_to_Anki", "stars": 2037, "tags": ["anki", "obsidian", "flashcards", "spaced-repetition", "obsidian-plugin", "ankiconnect", "automation", "desktop"], "topics": ["anki", "anki-script", "python", "obsidian", "obsidian-md", "obsidian-plugin", "flashcards", "add-flashcards", "typescript"], "urls": [], "use_cases": ["create anki flashcards from markdown notes", "sync obsidian notes to anki deck", "extract flashcards from text files into anki", "run script to add flashcards to anki from command line", "use custom syntax for flashcards in obsidian", "batch import flashcards into anki"], "what_it_is": "A tool that adds flashcards from text/markdown files to Anki, usable both as an Obsidian community plugin and as a standalone Python command-line script. It supports Obsidian markdown syntax and user-defined custom flashcard syntax.", "when_to_avoid": ["you don't use Anki or Obsidian", "you need a GUI flashcard editor", "you can't run Anki with AnkiConnect installed"], "when_to_choose": ["you take notes in Obsidian and want spaced-repetition flashcards in Anki", "you want to define your own flashcard syntax in markdown", "you prefer a CLI script to batch-process note files"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/obsidian_to_anki", "repo": "ObsidianToAnki/Obsidian_to_Anki", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.172197+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:59:15.701978+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a35aece7d33a28b92de0a36f6dc323cd97a5f7c1ee375d5a7e8e6bcd145ed6a9", "fetched_at": "2026-08-28T04:06:08.172197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ObsidianToAnki/Obsidian_to_Anki"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.172197+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:59:15.701978+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a35aece7d33a28b92de0a36f6dc323cd97a5f7c1ee375d5a7e8e6bcd145ed6a9", "fetched_at": "2026-08-28T04:06:08.172197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ObsidianToAnki/Obsidian_to_Anki"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:59:15.701978+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a35aece7d33a28b92de0a36f6dc323cd97a5f7c1ee375d5a7e8e6bcd145ed6a9", "fetched_at": "2026-08-28T04:06:08.172197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ObsidianToAnki/Obsidian_to_Anki"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.172197+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.172197+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.172197+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:59:15.701978+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a35aece7d33a28b92de0a36f6dc323cd97a5f7c1ee375d5a7e8e6bcd145ed6a9", "fetched_at": "2026-08-28T04:06:08.172197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ObsidianToAnki/Obsidian_to_Anki"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.172197+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.172197+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:59:15.701978+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a35aece7d33a28b92de0a36f6dc323cd97a5f7c1ee375d5a7e8e6bcd145ed6a9", "fetched_at": "2026-08-28T04:06:08.172197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ObsidianToAnki/Obsidian_to_Anki"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.172197+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.172197+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.172197+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:59:15.701978+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a35aece7d33a28b92de0a36f6dc323cd97a5f7c1ee375d5a7e8e6bcd145ed6a9", "fetched_at": "2026-08-28T04:06:08.172197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ObsidianToAnki/Obsidian_to_Anki"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.172197+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:08.172197+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:59:15.701978+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a35aece7d33a28b92de0a36f6dc323cd97a5f7c1ee375d5a7e8e6bcd145ed6a9", "fetched_at": "2026-08-28T04:06:08.172197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ObsidianToAnki/Obsidian_to_Anki"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:59:15.701978+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a35aece7d33a28b92de0a36f6dc323cd97a5f7c1ee375d5a7e8e6bcd145ed6a9", "fetched_at": "2026-08-28T04:06:08.172197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ObsidianToAnki/Obsidian_to_Anki"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:59:15.701978+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a35aece7d33a28b92de0a36f6dc323cd97a5f7c1ee375d5a7e8e6bcd145ed6a9", "fetched_at": "2026-08-28T04:06:08.172197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ObsidianToAnki/Obsidian_to_Anki"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:59:15.701978+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a35aece7d33a28b92de0a36f6dc323cd97a5f7c1ee375d5a7e8e6bcd145ed6a9", "fetched_at": "2026-08-28T04:06:08.172197+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ObsidianToAnki/Obsidian_to_Anki"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2194, "days_push": 808, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}