Skip to content
This repository was archived by the owner on Sep 10, 2025. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
c85c04e
Delete requirements.txt
HippoProgrammer Jun 18, 2024
45f2782
Update pyproject.toml
HippoProgrammer Jun 18, 2024
a3a769f
Merge pull request #56 from Hacking3DPrinters/development
HippoProgrammer Jun 18, 2024
df88760
Merge pull request #58 from Hacking3DPrinters/testing
HippoProgrammer Jun 18, 2024
09d6166
Update __init__.py
HippoProgrammer Jun 18, 2024
98c4283
Update __init__.py
HippoProgrammer Jun 19, 2024
6d90341
Update __init__.py
HippoProgrammer Jun 19, 2024
32030a8
Change to 1.0a
HippoProgrammer Jun 20, 2024
cc27dfd
Add human input
HippoProgrammer Jun 20, 2024
628673c
Update __init__.py
HippoProgrammer Jun 20, 2024
3f83924
Update __init__.py
HippoProgrammer Jun 20, 2024
f894a18
Update gcode.py
HippoProgrammer Jun 21, 2024
0f3d5dd
Create engine moves
HippoProgrammer Jun 21, 2024
4868330
Rework modes and moves
HippoProgrammer Jun 21, 2024
ee7ee0b
Add mode selector
HippoProgrammer Jun 24, 2024
e45a5a3
Add rating selectors
HippoProgrammer Jun 24, 2024
b92c421
Add status indicators
HippoProgrammer Jun 24, 2024
2655d07
Add status indicators
HippoProgrammer Jun 24, 2024
206c0d3
Update gcode.py
HippoProgrammer Jun 24, 2024
ff69906
Update octoprint.py
HippoProgrammer Jun 24, 2024
7860238
Merge pull request #62 from Hacking3DPrinters/development
HippoProgrammer Jun 24, 2024
51bb478
Change to 1.0b
HippoProgrammer Jun 24, 2024
ec7a04a
Fix TabErrors etc.
HippoProgrammer Jun 25, 2024
c5aeb8e
Merge pull request #64 from Hacking3DPrinters/development
HippoProgrammer Jun 25, 2024
d22bcde
Change to 1.0a1
HippoProgrammer Jun 25, 2024
eef97bc
Fix various errors
HippoProgrammer Jun 25, 2024
00b1920
Testing
HippoProgrammer Jun 25, 2024
eba3590
Completed
HippoProgrammer Jun 25, 2024
6dad2cc
Update README.md
HippoProgrammer Jun 26, 2024
6032503
Update README.md
HippoProgrammer Jun 26, 2024
5b2e260
Add auto stockfish install
HippoProgrammer Jun 26, 2024
651b2e1
Allow for auto stockfish install
HippoProgrammer Jun 26, 2024
a45bd4c
Add CPU allocation
HippoProgrammer Jun 26, 2024
e443f05
Update README.md
HippoProgrammer Jun 26, 2024
42926ba
Update SECURITY.md
HippoProgrammer Jun 26, 2024
d9618bd
Update README.md
HippoProgrammer Jun 26, 2024
5907752
Update setup.py
HippoProgrammer Jun 26, 2024
6f99331
Merge branch 'testing' into development
HippoProgrammer Jun 26, 2024
98b0aba
Merge pull request #66 from Hacking3DPrinters/development
HippoProgrammer Jun 26, 2024
ba30130
Change to 1.0b0
HippoProgrammer Jun 26, 2024
e2d2a5f
Merge pull request #69 from Hacking3DPrinters/HippoProgrammer-patch-1
HippoProgrammer Jun 26, 2024
4b66510
Merge pull request #70 from Hacking3DPrinters/HippoProgrammer-patch-1
HippoProgrammer Jun 26, 2024
11c39e7
Update pyproject.toml
HippoProgrammer Jun 27, 2024
5b62b1f
Update pyproject.toml
HippoProgrammer Jun 27, 2024
c7b081e
Import python-chess
HippoProgrammer Jun 27, 2024
8d4cb57
Update __init__.py
HippoProgrammer Jun 27, 2024
534bc62
Update chess.py
HippoProgrammer Jun 27, 2024
b7e19e9
Update __init__.py
HippoProgrammer Jun 27, 2024
3449bf9
Update chess.py
HippoProgrammer Jun 27, 2024
7c8b60e
Temporary changes
HippoProgrammer Jun 27, 2024
79ccfbc
Update __init__.py
HippoProgrammer Jun 27, 2024
4fe7baa
Adding docs
HippoProgrammer Jun 27, 2024
4198a14
Co
HippoProgrammer Jun 27, 2024
2fb4a9c
Add win condition
HippoProgrammer Jun 28, 2024
0f286b0
Update setup.py
HippoProgrammer Jun 28, 2024
cbaa987
Update chess.py
HippoProgrammer Jun 28, 2024
e62290c
Update chess.py
HippoProgrammer Jun 28, 2024
f4ad9f9
Update setup.py
HippoProgrammer Jun 28, 2024
a7b2d4d
Update README.md
HippoProgrammer Jun 30, 2024
adc9943
Remove testing directories
HippoProgrammer Jun 30, 2024
3bf70aa
Create dists and fix errors
HippoProgrammer Jun 30, 2024
eb9d48e
Renamed files to work better
HippoProgrammer Jun 30, 2024
f8b2d5c
Merge pull request #75 from Hacking3DPrinters/development
HippoProgrammer Jun 30, 2024
9e83040
Update __main__.py
HippoProgrammer Jun 30, 2024
8fe074d
Merge pull request #76 from Hacking3DPrinters/development
HippoProgrammer Jun 30, 2024
2199ab6
Update __main__.py
HippoProgrammer Jun 30, 2024
85101c4
Merge pull request #77 from Hacking3DPrinters/development
HippoProgrammer Jun 30, 2024
eaf6a12
Update python-package.yml
HippoProgrammer Jun 30, 2024
72fac4d
Create tests.py
HippoProgrammer Jun 30, 2024
2a0f968
Merge pull request #80 from Hacking3DPrinters/packaging-test
HippoProgrammer Jun 30, 2024
da19540
Merge pull request #79 from Hacking3DPrinters/packaging-test
HippoProgrammer Jun 30, 2024
c636a7f
Create requirements.txt
HippoProgrammer Jun 30, 2024
df1bbdc
Create requirements.txt
HippoProgrammer Jun 30, 2024
6b32b4c
Update pyproject.toml
HippoProgrammer Jun 30, 2024
bfeed14
Update requirements.txt
HippoProgrammer Jun 30, 2024
a2cfb8c
Update python-package.yml
HippoProgrammer Jun 30, 2024
cad143d
Update python-package.yml
HippoProgrammer Jun 30, 2024
3eb50dd
Update python-package.yml
HippoProgrammer Jun 30, 2024
3635313
Update README.md
HippoProgrammer Jul 1, 2024
afb3c3a
Delete example.gcode
HippoProgrammer Jul 1, 2024
22be8cc
Delete robotic_chess.html
HippoProgrammer Jul 1, 2024
0b58e98
Recompile
HippoProgrammer Jul 1, 2024
492b3df
Add stockfish windows POPCNT binary
HippoProgrammer Jul 1, 2024
58d4e31
Update setup.py
HippoProgrammer Jul 1, 2024
41bb6a1
Create octoprint-cli.ini
HippoProgrammer Jul 1, 2024
31e15b3
Rename octoprint-cli.ini to config.ini
HippoProgrammer Jul 1, 2024
e86992e
Update setup.py
HippoProgrammer Jul 1, 2024
2d9e155
Update README.md
HippoProgrammer Jul 1, 2024
9afdc10
Update pyproject.toml
HippoProgrammer Jul 1, 2024
16d4295
Merge branch 'testing' into development
HippoProgrammer Jul 1, 2024
97a3cca
Merge pull request #85 from Hacking3DPrinters/development
HippoProgrammer Jul 1, 2024
14ee046
Update pyproject.toml
HippoProgrammer Jul 1, 2024
a99ab43
Update requirements.txt
HippoProgrammer Jul 1, 2024
839f892
Merge pull request #87 from Hacking3DPrinters/HippoProgrammer-patch-1
HippoProgrammer Jul 1, 2024
ee71244
Merge pull request #86 from Hacking3DPrinters/HippoProgrammer-patch-1
HippoProgrammer Jul 1, 2024
b01a35c
Merge branch 'main' into testing
HippoProgrammer Jul 1, 2024
0ba86f2
Fix all the bugs in rc1
HippoProgrammer Jul 1, 2024
fd58e4c
Merge pull request #88 from Hacking3DPrinters/testing
HippoProgrammer Jul 1, 2024
23b21c6
Update to v1.0
HippoProgrammer Jul 1, 2024
3b0e317
Create dists for 1.0.0
HippoProgrammer Jul 1, 2024
cf780a2
Merge pull request #89 from Hacking3DPrinters/dists
HippoProgrammer Jul 1, 2024
b79c6cf
Update SECURITY.md
HippoProgrammer Jul 1, 2024
28db99a
Merge pull request #92 from Hacking3DPrinters/security
HippoProgrammer Jul 1, 2024
70502c2
Merge pull request #91 from Hacking3DPrinters/security
HippoProgrammer Jul 1, 2024
ed3c165
Merge pull request #90 from Hacking3DPrinters/security
HippoProgrammer Jul 1, 2024
2e60353
Update pyproject.toml
HippoProgrammer Jul 2, 2024
f505a02
Update setup.py
HippoProgrammer Jul 2, 2024
7bcd528
Update engine.py
HippoProgrammer Jul 2, 2024
4a5a1ce
Update setup.py
HippoProgrammer Jul 2, 2024
407cbe6
Update README.md
HippoProgrammer Jul 2, 2024
a4ba3f3
Merge pull request #93 from Hacking3DPrinters/HippoProgrammer-patch-1
HippoProgrammer Jul 2, 2024
91ec453
Merge pull request #94 from Hacking3DPrinters/main
HippoProgrammer Jul 2, 2024
1e0fed0
Merge pull request #95 from Hacking3DPrinters/testing
HippoProgrammer Jul 2, 2024
43d732b
Update pyproject.toml
HippoProgrammer Jul 8, 2024
6c37015
Create config.ini
HippoProgrammer Jul 8, 2024
cfcb751
Update setup.py
HippoProgrammer Jul 8, 2024
086b3b9
Update README.md
HippoProgrammer Jul 8, 2024
e672439
Fix install instructions
HippoProgrammer Jul 8, 2024
2d6843f
Update pyproject.toml
HippoProgrammer Jul 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,6 @@ jobs:
python -m pip install --upgrade pip
python -m pip install --upgrade pytest
python -m pip install -r requirements.txt
- name: Test with pytest
- name: Test with custom test suite
run: |
python tests.py
67 changes: 54 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,29 +5,70 @@

# Robotic Chess

An chess playing robot, powered by Stockfish.
An chess playing robot, powered by Stockfish and Octoprint.
For documentation, see [our wiki](https://github.com/Hacking3DPrinters/robotic-chess/wiki).

---

## Requirements

### Essentials
* 3-core CPU and at least 3GB of RAM (theoretically this can run with only 2 cores and 2GB of RAM, but at the risk of crashing / hanging your computer)
* A Linux-based operating system with sudo OR a Windows 10/11 operating system (more difficult)
* Python 3.10+ and pip
* Octoprint server connected to a 3D printer
* An electromagnet connected to M106/M107 extruder fan control

### Recommended
* 4-core+ CPU and at least 6GB of RAM
* Python 3.11+ and pip
* Knowledge of simple Linux commands

---

## Installation

### Installation from wheel
### ~~Installation from wheel (beta for Linux)~~ - SUSPENDED UNTIL FURTHER NOTICE

~~First, visit [our releases page](https://github.com/Hacking3DPrinters/robotic-chess/releases) and download the `.whl` file from the desired version (the 'latest' version is recommended).~~

~~Then, run~~
~~```pip install robotic_chess-0.2.1-py3.whl```~~
~~(replace 0.2.1 with the version number of your downloaded wheel).~~

~~You must then edit `~/.config/octoprint-cli.ini` and input the server details of your octoprint server.~~

### Installation from source - Linux (recommended for Linux dev builds)

First, clone our repo using `git clone https://github.com/Hacking3DPrinters/robotic-chess.git`, and enter the new directory.
Then edit `config.ini` with your server details of the octoprint server.

Then run `python3 setup.py install` to begin setup.

First, visit [our releases page](https://github.com/Hacking3DPrinters/robotic-chess/releases) and download the `.whl` and `requirements.txt` files from the desired version.
### Installation from source - Windows (recommended for Windows)

Then, run
```pip install robotic_chess-0.2.1-py3.whl```
(replace 0.2.1 with the version number of your downloaded wheel).
First, download the `Source code (zip)` from our releases page.

Finally, run
```pip install -r requirements.txt```
to install dependencies.
Unzip it, then edit `config.ini` with your server details of the octoprint server.

THIS DOES NOT INSTALL STOCKFISH OR OCTOPRINT (will be included in the future).
Then run `python3 setup.py install` to begin setup.

### Installation from source
---

## Running

Run `python3 -m robotic_chess`.

---

## Contributing

Please feel free to fork our repo then submit a pull request: we'd love it if you would help us develop new features!

You can also submit a 'feature request' issue: give us some example code if you feel like contributing personally!

---

First, clone our repo using `git clone https://github.com/Hacking3DPrinters/robotic-chess.git`, and enter the new directory. Then do `pip install dist/robotic_chess-0.2.1-py3-none-any.whl` (replace 0.2.1 with the desired version number), followed by `pip install -r requirements.txt`.
## Status

THIS DOES NOT INSTALL STOCKFISH OR OCTOPRINT (will be included in the future).
This project is in ACTIVE DEVELOPMENT.
9 changes: 5 additions & 4 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@

| Version | Supported |
| ------- | ------------------ |
| >0.2.1 | ✅ Fully Supported (latest) |
| 0.2.0 | ✳️ Fully Supported |
| 0.1 | :x: Not Supported |
| 0.1a | :x: Not Supported |
| 1.0.0 | ✅ Fully Supported (latest) |
| 1.0a/b/rc | ✳️ Partially Supported |
| 0.2.x | :x: Not Supported |
| 0.1 | :x: Not Supported |
| 0.1a | :x: Not Supported |

## Reporting a Vulnerability

Expand Down
15 changes: 15 additions & 0 deletions config.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[server]
;Set OctoPrint server address and x-api-key
ServerAddress = SERVER_ADDRESS_HERE
ApiKey = API_KEY_HERE

[preferences]
;Set if the program uses colored or formatted text, this setting is turned off on windows due to cmd and powershell limitations
FormattedText = true
;Set if the program should check for updates
UpdateCheck = true

[printer]
;Set maximum temperature that printer can be set to
MaxExtruderTemp = 250
MaxBedTemp = 85
Binary file added dist/robotic_chess-1.0.0-py3-none-any.whl
Binary file not shown.
Binary file added dist/robotic_chess-1.0.0.tar.gz
Binary file not shown.
Binary file added dist/robotic_chess-1.0b0-py3-none-any.whl
Binary file not shown.
Binary file added dist/robotic_chess-1.0b0.tar.gz
Binary file not shown.
Binary file added dist/robotic_chess-1.0rc1-py3-none-any.whl
Binary file not shown.
Binary file added dist/robotic_chess-1.0rc1.tar.gz
Binary file not shown.
8 changes: 0 additions & 8 deletions example.gcode

This file was deleted.

11 changes: 8 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "robotic_chess"
version = "0.2.4"
version = "1.1.0a1"
authors = [
{ name="Benjamin Porter", email="[email protected]" },
]
Expand All @@ -16,7 +16,12 @@ classifiers = [
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
]
dependencies = [
"stockfish@git+https://github.com/hacking3dprinters/stockfish-python.git",
"octoprint-cli==3.3.2",
"chess==1.10.0"
]

[project.urls]
Homepage = "https://github.com/hippoprogrammer/robotic-chess"
Issues = "https://github.com/hippoprogrammer/robotic-chess/issues"
Homepage = "https://github.com/hacking3dprinters/robotic-chess"
Issues = "https://github.com/hacking3dprinters/robotic-chess/issues"
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pip requirements file for robotic-chess
stockfish==3.28.0
git+https://github.com/hacking3dprinters/stockfish-python.git#egg=stockfish
octoprint-cli==3.3.2
chess==1.10.0
21 changes: 21 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
from setuptools import setup
from os import system
import platform
import getpass

if __name__ == "__main__":
if platform.system()=='Linux':
setup()
system('git clone https://github.com/official-stockfish/Stockfish.git')
system('cd Stockfish/src/ && make -j build')
system('sudo mv Stockfish/src/stockfish /usr/local/bin/')
system('sudo chmod a+x /usr/local/bin/stockfish')
system('mv config.ini ~/.config/octoprint-cli.ini')
elif platform.system()=='Windows':
setup()
system('tar -xf stockfish-windows.zip')
system('mkdir C:/Users/'+getpass.getuser()+'/stockfish/')
system('move stockfish/stockfish-windows-x86-64-sse41-popcnt.exe C:/Users/'+getpass.getuser()+'/stockfish/stockfish.exe')
# config.ini does not need to be moved
else:
raise OSError('OS unsupported.')
67 changes: 54 additions & 13 deletions src/robotic_chess.egg-info/PKG-INFO
Original file line number Diff line number Diff line change
@@ -1,42 +1,83 @@
Metadata-Version: 2.1
Name: robotic_chess
Version: 0.2.4
Version: 1.0.0
Summary: A 3D printer-based chess playing robot.
Author-email: Benjamin Porter <[email protected]>
Project-URL: Homepage, https://github.com/hippoprogrammer/robotic-chess
Project-URL: Issues, https://github.com/hippoprogrammer/robotic-chess/issues
Project-URL: Homepage, https://github.com/hacking3dprinters/robotic-chess
Project-URL: Issues, https://github.com/hacking3dprinters/robotic-chess/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: stockfish@ git+https://github.com/hacking3dprinters/stockfish-python.git
Requires-Dist: octoprint-cli==3.3.2
Requires-Dist: chess==1.10.0

<p align="center">
<img src="https://raw.githubusercontent.com/Hacking3DPrinters/robotic-chess/main/3DCHESS.png", width=20%, height=auto />
</p>


# Robotic Chess

An chess playing robot, powered by Stockfish.
An chess playing robot, powered by Stockfish and Octoprint.
For documentation, see [our wiki](https://github.com/Hacking3DPrinters/robotic-chess/wiki).

---

## Requirements

### Essentials
* 3-core CPU and at least 3GB of RAM (theoretically this can run with only 2 cores and 2GB of RAM, but at the risk of crashing / hanging your computer)
* A Linux-based operating system with sudo OR a Windows 10/11 operating system.
* Python 3.10+ and pip
* Octoprint server connected to a 3D printer
* An electromagnet connected to M106/M107 extruder fan control

### Recommended
* 4-core+ CPU and at least 6GB of RAM
* Python 3.11+ and pip
* Knowledge of simple Linux commands

---

## Installation

### Installation from wheel
### Installation from wheel (beta for Linux)

First, visit [our releases page](https://github.com/Hacking3DPrinters/robotic-chess/releases) and download the `.whl` and `requirements.txt` files from the desired version.
First, visit [our releases page](https://github.com/Hacking3DPrinters/robotic-chess/releases) and download the `.whl` file from the desired version (the 'latest' version is recommended).

Then, run
```pip install robotic_chess-0.2.1-py3.whl```
(replace 0.2.1 with the version number of your downloaded wheel).

Finally, run
```pip install -r requirements.txt```
to install dependencies.
You must then edit `~/.config/octoprint-cli.ini` and input the server details of your octoprint server.

### Installation from source (recommended for Windows or Linux dev builds)

THIS DOES NOT INSTALL STOCKFISH OR OCTOPRINT (will be included in the future).
First, clone our repo using `git clone https://github.com/Hacking3DPrinters/robotic-chess.git`, and enter the new directory.
Then edit `config.ini` with your server details of the octoprint server.

### Installation from source
Then run `python3 setup.py` to begin setup.

---

## Running

Run `python3 -m robotic_chess`.

---

## Contributing

Please feel free to fork our repo then submit a pull request: we'd love it if you would help us develop new features!

You can also submit a 'feature request' issue: give us some example code if you feel like contributing personally!

---

First, clone our repo using `git clone https://github.com/Hacking3DPrinters/robotic-chess.git`, and enter the new directory. Then do `pip install dist/robotic_chess-0.2.1-py3-none-any.whl` (replace 0.2.1 with the desired version number), followed by `pip install -r requirements.txt`.
## Status

THIS DOES NOT INSTALL STOCKFISH OR OCTOPRINT (will be included in the future).
This project is in ACTIVE DEVELOPMENT.
6 changes: 4 additions & 2 deletions src/robotic_chess.egg-info/SOURCES.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
LICENSE
README.md
pyproject.toml
src/robotic_chess/__init__.py
src/robotic_chess/chess.py
setup.py
src/robotic_chess/__main__.py
src/robotic_chess/engine.py
src/robotic_chess/gcode.py
src/robotic_chess/octoprint.py
src/robotic_chess.egg-info/PKG-INFO
src/robotic_chess.egg-info/SOURCES.txt
src/robotic_chess.egg-info/dependency_links.txt
src/robotic_chess.egg-info/requires.txt
src/robotic_chess.egg-info/top_level.txt
3 changes: 3 additions & 0 deletions src/robotic_chess.egg-info/requires.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
stockfish@ git+https://github.com/hacking3dprinters/stockfish-python.git
octoprint-cli==3.3.2
chess==1.10.0
4 changes: 0 additions & 4 deletions src/robotic_chess/__init__.py

This file was deleted.

Loading