SVG rendering (experimental)

This module renders SVGs (mostly for IPython integration). Pieces images are copyright Colin M.L. Burnett and licensed under GFDL & BSD & GPL.


Renders the given chess.Piece as an SVG.

>>> chess.svg.piece(chess.Piece.from_symbol("R"))
chess.svg.board(board=None, squares=None, flipped=False, coordinates=True, lastmove=None, check=None, size=400, style=None, pre='', post='')

Renders a board with pieces and/or selected squares as an SVG.

  • board – A chess.BaseBoard with pieces or None.
  • squares – A chess.SquareSet with selected squares.
  • flipped – Pass True to flip the board.
  • coordinates – Pass False to disable coordinates in the margin.
  • lastmove – A chess.Move to be highlighted.
  • check – A square to be marked as check.
  • size – The width and height of the image.
  • style – CSS to use instead of the default stylesheet.

Custom verbatim XML can be added before (pre) and after (post) all elements.

>>> board = chess.Board("8/8/8/8/4N3/8/8/8 w - - 0 1")
>>> squares = board.attacks(chess.E4)
>>> chess.svg.board(board=board, squares=squares)