Shape Habits Analysis and Personalized Evaluation
Project description
SHAPE: Shape Habits Analysis and Personalized Evaluation
SHAPE is an app to play Go with AI feedback, specifically designed to point out typical bad habits for your current skill level.
This is an experimental project, and is unlikely to ever become very polished.
Quick Start
Run the application directly using uvx:
uvx goshape
The first time you run this, uv will automatically download the package, create a virtual environment, and install all dependencies.
When the application starts for the first time, it will check for the required KataGo models in ~/.katrain/. If they are not found, a dialog will appear to guide you through downloading them.
Manual
The most important settings are:
- Current Rank: Your current Go skill level, which determines which mistakes are considered "typical" for your level.
- Target Rank: The skill level you want to aim for. Even if a move is a huge mistake, if it was a mistake still common at that level, it won't be considered relevant.
- Opponent: The type and level of the AI opponent.
- This supports modern, pre-alphago style, and historical professional style.
- Like the feedback, it is likely to be somewhat weaker than actual professionals or high-dan players.
The game will automatically halt when a typical mistake is made by you, allowing you to analyze, undo, or just continue.
Keep in mind that the techniques used are more likely to be helpful up to low-dan levels, and may not be helpful at all at high levels.
Heatmap
The policy heatmap shows the probability of the top moves being made for your current rank, target rank, and AI. Note that a move being probable does not mean it is a good move. You can select multiple heatmaps to get a blended view, where size/number is the average probability, and the color is the average rank (current, target, AI).
TODO list from Gemini
Based on a code review, here are some suggested areas for improvement:
High Impact
- User-Friendly Errors (
main.py): Show GUI dialogs for errors instead of crashing the application.
Medium Impact
- Refactor
GameNode(game_logic.py): Extract board state and rule logic into a separateBoardclass to simplifyGameNodeand improve modularity.
Low Impact
- Code Clarity (
game_logic.py): Improve code readability.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file goshape-0.1.0.tar.gz.
File metadata
- Download URL: goshape-0.1.0.tar.gz
- Upload date:
- Size: 52.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9df9c76038926d6f3bc45a1b34b0ef5a2d953c700648a5068190bf92b06f83c
|
|
| MD5 |
9812154f012e57f64ee533f43b883140
|
|
| BLAKE2b-256 |
915758c154af9e6d4ec0e3d993cb31a50ad9471301ad5ae735d35df7bb419687
|
Provenance
The following attestation bundles were made for goshape-0.1.0.tar.gz:
Publisher:
test_and_build.yml on sanderland/shape
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
goshape-0.1.0.tar.gz -
Subject digest:
b9df9c76038926d6f3bc45a1b34b0ef5a2d953c700648a5068190bf92b06f83c - Sigstore transparency entry: 254646401
- Sigstore integration time:
-
Permalink:
sanderland/shape@c7cbcfe260635f10075ed362459922a88cffce3a -
Branch / Tag:
refs/heads/main - Owner: https://github.com/sanderland
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
test_and_build.yml@c7cbcfe260635f10075ed362459922a88cffce3a -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file goshape-0.1.0-py3-none-any.whl.
File metadata
- Download URL: goshape-0.1.0-py3-none-any.whl
- Upload date:
- Size: 33.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
328202cff2dad2ac1118e2080b3d1c2f16fbc13b6da3b8364351036a20a8942c
|
|
| MD5 |
37f4d84eb75664883e3f87a577296434
|
|
| BLAKE2b-256 |
c86a7325bfaff8b58f5241e5970653eb8a6b19becb6e54848ead40d45d693c0b
|
Provenance
The following attestation bundles were made for goshape-0.1.0-py3-none-any.whl:
Publisher:
test_and_build.yml on sanderland/shape
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
goshape-0.1.0-py3-none-any.whl -
Subject digest:
328202cff2dad2ac1118e2080b3d1c2f16fbc13b6da3b8364351036a20a8942c - Sigstore transparency entry: 254646406
- Sigstore integration time:
-
Permalink:
sanderland/shape@c7cbcfe260635f10075ed362459922a88cffce3a -
Branch / Tag:
refs/heads/main - Owner: https://github.com/sanderland
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
test_and_build.yml@c7cbcfe260635f10075ed362459922a88cffce3a -
Trigger Event:
workflow_dispatch
-
Statement type: