Spaces:
Sleeping
Sleeping
| title: Chess Engine with Stockfish Integration | |
| emoji: ♟️ | |
| colorFrom: green | |
| colorTo: indigo | |
| sdk: docker | |
| sdk_version: "latest" | |
| app_file: app.py | |
| app_port: 8000 | |
| pinned: false | |
| A Python chess engine with Stockfish integration, providing both a command-line interface and a REST API for playing chess against an AI opponent. | |
| ## Features | |
| - **AI Integration**: Play against Stockfish, one of the strongest chess engines available | |
| - **Multiple Interfaces**: | |
| - Command-line interface for quick games | |
| - REST API for integration with web or desktop applications | |
| - Streamlit web interface for graphical gameplay | |
| - **Adjustable Difficulty**: Six difficulty levels from beginner to master | |
| - **Position Analysis**: Get detailed evaluation of board positions | |
| - **Move Hints**: Receive suggestions and explanations for optimal moves | |
| - **Notation Support**: Works with both UCI (e2e4) and SAN (e4) chess notations | |
| - **Game Management**: Start, play, analyze, and save games | |
| - **Comprehensive Evaluation**: Material balance, piece positioning, king safety, mobility, and pawn structure | |
| ## Requirements | |
| - Python 3.8+ | |
| - Stockfish chess engine (optional, but recommended for AI play) | |
| - Dependencies listed in requirements.txt | |
| ## API Documentation | |
| For information please refer Dockerfile | |
| ### Example API Usage | |
| Start a new game: | |
| ```bash | |
| curl -X POST "http://localhost:8000/game/new" \ | |
| -H "Content-Type: application/json" \ | |
| -d '{"player_color": "white", "difficulty": "medium"}' | |
| ``` | |
| Make a move: | |
| ```bash | |
| curl -X POST "http://localhost:8000/game/move" \ | |
| -H "Content-Type: application/json" \ | |
| -d '{"move": "e2e4"}' | |
| ``` | |
| Get current game state: | |
| ```bash | |
| curl -X GET "http://localhost:8000/game/state" | |
| ``` | |
| ## Testing | |
| Run the test suite: | |
| ```bash | |
| python test/run_tests.py | |
| ``` | |
| For more detailed output: | |
| ```bash | |
| python test/run_tests.py -v | |
| ``` | |
| The test suite includes: | |
| - Board representation and move validation tests | |
| - Position evaluation tests | |
| - Game controller tests | |
| - REST API endpoint tests | |
| ## License | |
| ### Code | |
| The code in this repository is licensed under the MIT License. See the [LICENSE](LICENSE) file for details. | |
| ### Assets | |
| The chess piece images and board square assets are licensed under the Creative Commons Attribution-ShareAlike (CC-BY-SA) license. See the [LICENSE-ASSETS.md](LICENSE-ASSETS.md) file for details on attribution and compliance requirements. | |
| **Note:** If you redistribute this project or create derivative works, you must comply with both licenses - MIT for the code and CC-BY-SA for the assets. | |