Skip to main content

An algorithmic chess engine, written in Python.

Project description

build status pre-commit.ci status

Osmanthus

Osmanthus is a sophisticated chess engine that employs advanced algorithms to provide a challenging and enjoyable playing experience. It offers a range of features, including self play, puzzle solving, and an intuitive command-line interface.

Getting Started

To begin, clone the Git repository by entering the following command in your terminal/command prompt:

git clone https://github.com/i13e/osmanthus.git

Once you have cloned the repository, navigate to its directory and create a new Python virtual environment by running:

cd osmanthus
python -m venv env

Activate the environment by running either of the following commands based on your operating system:

source env/bin/activate # Mac or Linux
env\Scripts\activate # Windows

Next, install the packages listed in the requirements.txt file using the following command:

pip install -r requirements.txt

You're now ready to play or contribute! Once you've finished, you can exit the environment by running the following command (or simply close the terminal):

deactivate

Play via CLI

To start the CLI interface, enter the following command:

python -m osmanthus.cli

Moves can be input in Standard Algebraic Notation (SAN) or Universal Chess Interface notation. We recommend using SAN. If you are new to this notation, we have provided a short guide on our wiki page.

If you are new to playing chess, we suggest checking out this video to learn the fundamentals.

Tests

There are unit tests for the engine, CLI, and evaluation modules. We are in the process of adding as many forced checkmate scenarios as possible. To run the unit tests, ensure that your virtual environment is active and enter the following command:

pytest

Contributing

Contributions to Osmanthus are highly appreciated! For suggestions, we recommend looking at any open issues, particularly those tagged as "Good First Issue" if you are a first-time contributor. We are also opening new issues related to planned features and bugs that need to be fixed.

When contributing, we ask that you follow the coding style laid out in Google's Python Style Guide.

Thank you for your interest in Osmanthus, and we look forward to your contributions!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

osmanthus-0.1.1.tar.gz (1.1 MB view hashes)

Uploaded Source

Built Distribution

osmanthus-0.1.1-py3-none-any.whl (1.1 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page