=====================================================
Calculate player performances from chess game results
=====================================================

.. contents::


Description
===========

This package provides methods to calculate player performances.

Calculate player performances from results of games imported from `PGN`_ format files.

Provide facilities to resolve player identities where inconsistencies exist in the PGN Tag Values for games involving the same player.

Provide facilties to resolve inconsistent identities, time controls or playing modes for example, derived from other PGN Tag Values.


Installation Instructions
=========================

This package is not available on PyPI, or any other package index, but can be installed by typing

   python -m pip install --user --trusted-host solentware.co.uk --find-links http://solentware.co.uk/wheels.html chesscalc

at the command prompt.

See `Python`_ and `pip`_ documentation for alternatives and platform-specific points.

Then run 'python -m pip check' to identify other packages which need to be installed.


Run
===

The command to run this package is:

   python -m chesscalc.calculate

You may need to give the path and version of Python depending on your system's configuration:

   <path to python>/python<version> -m chesscalc.calculate

   For example

      C:\\Python33\\python -m chesscalc.calculate

         on Microsoft Windows or

      python3.3 -m chesscalc.calculate

         on Unix-like systems.

Or use the facilities of your desktop (Microsoft Windows, GNOME, KDE, ...) to set up a convenient way of starting calculate.


Notes
=====

ChessCalc makes no attempt to ease the problems arising from not using PGN Tags in the way envisaged in the PGN specification.  For example:

    Not using the WhiteType and BlackType tags to indicate human or algorithmic players.

    Not using the TimeControl tag to indicate the time controls.  This determines if the game is standard, rapid, or blitz (using English Chess Federation terms); or some other distinctions.

    Not using the Mode tag to indicate Online or Over The Board play.

ChessCalc does use the WhiteTeam and BlackTeam tags which appear in PGN files published by `TWIC`_.  At time of writing I have not seen these PGN tags elsewhere.

The legacy sub-package contains some of the implementation prior to version 2.0.0 but this will be removed in the future.


.. _Python: https://python.org
.. _pip: https://packaging.python.org/installing
.. _PGN: https://www.chessclub.com/help/PGN-spec
.. _TWIC: https://theweekinchess.com
