このプロジェクトは、Ankiカード管理システムをプログラムから操作するための様々なユースケースを提供します。AnkiConnectプラグインを使用して、Pythonスクリプトからデッキの作成、カードの追加、学習データの分析などを自動化する方法を示しています。
- Python 3.12以上
- Anki(デスクトップ版)
- AnkiConnectプラグイン
-
このリポジトリをクローンします
git clone https://github.com/yourusername/handson-anki.git cd handson-anki
-
Pipenvを使用して依存関係をインストールします
pipenv install
-
追加の依存関係をインストールします(一部のユースケースに必要)
pipenv install matplotlib
-
Ankiを起動し、AnkiConnectプラグインがインストールされていることを確認します
各ユースケースはshowroom
ディレクトリ内にあります。実行するには:
cd showroom/usecase-xxx
python main.py
※実行時はAnkiが起動している必要があります。
- usecase-000: 基本接続テスト - AnkiConnectへの接続とデッキ一覧の取得
- usecase-001: 基本的なカード追加 - プログラミング用語デッキの作成と基本カードの追加
- usecase-002: CSVファイルからのカードインポート - CSVファイルからデータを読み込みカードを作成
- usecase-003: 学習統計の取得と分析 - 復習データの取得とグラフ化(matplotlibが必要)
- usecase-004: 学習ダッシュボード - 学習予定や統計情報を表示するコンソールダッシュボード
- Python 3.12
- requests: APIリクエスト用
- matplotlib: グラフ作成用(usecase-003のみ)
- usecase-005: 複数デッキの一括管理と操作
- usecase-006: 例文とオーディオ付き語学カード生成
- usecase-007: ターゲット言語の頻出単語リストからのデッキ作成
- usecase-008: 翻訳APIを使った自動カード生成
- usecase-009: テキスト文書からの単語抽出とカード作成
- usecase-010: 発音記号と音声付き発音練習カード
- usecase-011: 学習曲線と記憶定着率の分析
- usecase-012: 複数デッキの学習効率比較
- usecase-013: タグベースの学習進捗追跡
- usecase-014: 最適な学習スケジュールの提案
- usecase-015: インタラクティブなダッシュボードの作成
- usecase-016: スペース反復アルゴリズムのカスタマイズ
- usecase-017: 画像認識APIを使った視覚学習カード
- usecase-018: スマートフォン通知との連携
- usecase-019: 学習データの外部バックアップと同期
- usecase-020: AIによる学習パターン分析と最適化
AnkiConnectは、外部プログラムからAnkiを操作するためのプラグインです。このプロジェクトでは、AnkiConnectのJSON APIを使用してAnkiとの通信を行っています。
デフォルトでは、AnkiConnectはローカルホスト(127.0.0.1)のポート8765でリッスンします。
- 接続エラー: Ankiが起動していることと、AnkiConnectプラグインがインストールされていることを確認してください
- 日本語フォントエラー: usecase-003でグラフの日本語表示に問題がある場合は、コード内のフォント設定を環境に合わせて調整してください
MIT License
Copyright (c) 2025
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.