Skip to main content

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

Metadata

Release files for 56kyle-pychess 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for 56kyle-pychess 0.4.0
File Size Uploaded
56kyle-pychess-0.4.0.tar.gz 10.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for 56kyle-pychess 0.4.0
File Interpreter ABI Platform
56kyle_pychess-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 26.9 kB

Release files / 56kyle-pychess-0.4.0.tar.gz

Download URL 56kyle-pychess-0.4.0.tar.gz
Size 10.6 kB
Tags Source
SHA-256 checksum
How to use checksums
b0d95d999ca2bdf3130d032831d4dad74a3aa6b56dc195fafcff0829c586b49e
BLAKE2b-256 checksum
How to use checksums
5f55380c927ba616ada14d7cf923bc2d1733356874c2ba087f368e9ce09b5ff1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.15 CPython/3.10.5 Windows/10

Release files / 56kyle_pychess-0.4.0-py3-none-any.whl

Download URL 56kyle_pychess-0.4.0-py3-none-any.whl
Size 16.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0407d999ab953cd2110fbf777528922c1f4f9719663817ba5f29fc567a26fc8f
BLAKE2b-256 checksum
How to use checksums
19fdb13cc87098608c35d9e22b1a79ce6e4d2fce903b8d7d8ad0126615b00336
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.15 CPython/3.10.5 Windows/10

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page