Catalog PyPI
PACKAGE EXPLORERView in registry

56kyle-pychess

PyPI

A python chess engine

chessenginepython
Versions collected1
Direct dependencies0From release 0.4.0
Last observed20 Oct, 16:03 UTC

README

Version 0.4.0 documentation

Pychess

Status Tests Codecov Python Version License

A chess library written in Python.

Pychess - Description - Installation - Usage - Game - Board - Move - Piece - Player - Square - Contributing - License

Installation

```bash
# Install from PyPI
pip install 56kyle-pychess

# Install from poetry
poetry add 56kyle-pychess
```

Description

The main purpose of this library is to try and practice constantly improving the quality of a codebase instead of allowing complexity to grow with time.

I was mainly inspired by the books "Clean Code" and "Clean Coder" both written by Robert C. Martin. Most of the code in this library is written with the principles of clean code in mind.

General Design Decisions

  • The Board class is immutable. This means that every time a move is made, a new board is created. This is to prevent the board from being in an invalid state.
  • Moves and most geometry related classes are described in terms of Points and Lines
  • Almost all iterables are sets to allow for hash comparisons of various frozen dataclass based objects

Simplifications

  • The board may not be infinite
  • The board must be a rectangle

Features

  • API
    • Game
    • Board
    • Move
    • Piece
    • Player
    • Square
  • Engine
  • UCI
  • GUI
  • Documentation

Usage

Game

TODO

Board

TODO

Move

TODO

Piece

TODO

Player

TODO

Square

TODO



Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.4.021 Nov 20220

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
56kyle/pychess

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 16:03 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:ce04009287fd5e085879675465e4a84539de2b788592362b50f44d1d30495bfb