Python-chess

Latest version: v1.999

Safety actively analyzes 623315 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

1.2.1

-------------

The primary location for the published package is now
https://pypi.org/project/chess/. Thanks to
`Kristian Glass <https://github.com/doismellburning>`_ for transferring the
namespace.

The old https://pypi.org/project/python-chess/ will remain an alias that
installs the package from the new location as a dependency (as recommended by
`PEP423 <https://www.python.org/dev/peps/pep-0423/how-to-rename-a-project>`_).

1.2.0

-------------

New features:

* Added ``chess.Board.ply()``.
* Added ``chess.pgn.GameNode.ply()`` and ``chess.pgn.GameNode.turn()``.
* Added ``chess.engine.PovWdl``, ``chess.engine.Wdl``, and conversions from
scores: ``chess.engine.PovScore.wdl()``, ``chess.engine.Score.wdl()``.
* Added ``chess.engine.Score.score(*, mate_score: int) -> int`` overload.

Changes:

* The ``PovScore`` returned by ``chess.pgn.GameNode.eval()`` is now always
relative to the side to move. The ambiguity around ``[%eval 0]`` has been
resolved to ``Mate(-0)``. This makes sense, given that the authors of the
specification probably had standard chess in mind (where a game-ending move
is always a loss for the opponent). Previously, this would be parsed as
``None``.
* Typed ``chess.engine.InfoDict["wdl"]`` as the new ``chess.engine.PovWdl``,
rather than ``Tuple[int, int, int]``. The new type is backwards compatible,
but it is recommended to use its documented fields and methods instead.
* Removed ``chess.engine.PovScore.__str__()``. String representation falls back
to ``__repr__``.
* The ``en_passant`` parameter of ``chess.Board.fen()`` and
``chess.Board.epd()`` is now typed as ``Literal["legal", "fen", "xfen"]``
rather than ``str``.

1.1.0

-------------

New features:

* Added ``chess.svg.board(..., orientation)``. This is a more idiomatic way to
set the board orientation than ``flipped``.
* Added ``chess.svg.Arrow.pgn()`` and ``chess.svg.Arrow.from_pgn()``.

Changes:

* Further relaxed ``chess.Board.parse_san()``. Now accepts fully specified moves
like ``e2e4``, even if that is not a pawn move, castling notation with zeros,
null moves in UCI notation, and null moves in XBoard notation.

1.0.1

-------------

Bugfixes:

* ``chess.svg``: Restored SVG Tiny compatibility by splitting colors like
``rrggbbaa`` into a solid color and opacity.

1.0.0

-------------

See ``CHANGELOG-OLD.rst`` for changes up to v1.0.0.

Links

Releases

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.