Skip to main content

Making Anki notes of type Chess 2.0 for one color's positions in a PGN.

Project description

Ruff Built with Spacemacs

Instructions

Install the note type Chess 2.0 thus, and change its card's front and back templates to have var flip = false; thus. Run pip install pgnanki, and in Python run something like the following.

import io

import chess.pgn
import pgnanki

pgn = """[FEN "r1bq1bkr/ppp3pp/2n5/3np3/2B5/5Q2/PPPP1PPP/RNB1K2R w KQ - 2 8"]

8. Bxd5+ (8. Qxd5+ Qxd5 (8... Be6 9. Qxe6#) 9. Bxd5+ Be6 10. Bxe6#) 8... Qxd5
(8... Be6 9. Bxe6#) 9. Qxd5+ Be6 10. Qxe6# *"""

with io.StringIO(pgn) as stream:
    game = chess.pgn.read_game(stream)
with open("Fried-Liver-Attack.tsv", "x") as file:
    for line in pgnanki.yield_lines(game, opposite=False):
        print(line, file=file)

This example would write to a file named Fried-Liver-Attack.tsv the following.

#html:false
#notetype:Chess 2.0
#separator:tab
[FEN "r4bkr/ppp3pp/2n1b3/3Qp3/8/8/PPPP1PPP/RNB1K2R w KQ - 1 10"] 10. Qxe6# *
[FEN "r1b2bkr/ppp3pp/2n5/3qp3/8/5Q2/PPPP1PPP/RNB1K2R w KQ - 0 9"] 9. Qxd5+ Be6 10. Qxe6# *
[FEN "r2q1bkr/ppp3pp/2n1b3/3Bp3/8/5Q2/PPPP1PPP/RNB1K2R w KQ - 1 9"] 9. Bxe6# *
[FEN "r1bq1bkr/ppp3pp/2n5/3np3/2B5/5Q2/PPPP1PPP/RNB1K2R w KQ - 2 8"] 8. Bxd5+ ( 8. Qxd5+ Qxd5 ( 8... Be6 9. Qxe6# ) 9. Bxd5+ Be6 10. Bxe6# ) 8... Qxd5 ( 8... Be6 9. Bxe6# ) 9. Qxd5+ Be6 10. Qxe6# *

In Anki

  1. Click 'File' and 'Import...'.
  2. Choose the file like Fried-Liver-Attack.tsv.
  3. In the dialogue box 'Import File''s section 'Import options' choose the deck.
  4. Click Import.

Documentation

pgnanki's documentation is in its docstrings.

Copyright Notice

Copyright (C) 2024 John Dawson

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

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

pgnanki-1.0.2.tar.gz (40.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pgnanki-1.0.2-py3-none-any.whl (27.8 kB view details)

Uploaded Python 3

File details

Details for the file pgnanki-1.0.2.tar.gz.

File metadata

  • Download URL: pgnanki-1.0.2.tar.gz
  • Upload date:
  • Size: 40.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for pgnanki-1.0.2.tar.gz
Algorithm Hash digest
SHA256 1c8c48d50b77cb87d2fbe9f59801a87efec31afa3ff0c749d4b6101438eed2ff
MD5 2e7a4afc51b69bc599bfd2c82cb77afb
BLAKE2b-256 83428da2a8b99d3b8f5a6414b5b2de04492facb637254449b7fabc9a3015c6e6

See more details on using hashes here.

File details

Details for the file pgnanki-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: pgnanki-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 27.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for pgnanki-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7bb62bf34ceb1648efac2f5aafb9c8b1760b494fe198d1d5a16dc277150bc855
MD5 3c37e7a2986b7f1a464333151f7bbb1b
BLAKE2b-256 c6ef9a2c12b523512fdd3b83754e8f1c144b1491018b478e20ea0910d65691b5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page