Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
35401e3
Ignore `.idea/`
jacksonthall22 Oct 27, 2025
47253a4
Ignore `.venv/`
jacksonthall22 Oct 27, 2025
584812c
Start using `uv`
jacksonthall22 Oct 27, 2025
b4ba078
Fix doctest
jacksonthall22 Oct 27, 2025
71f06de
Fix mypy warning
jacksonthall22 Oct 27, 2025
9cfbac4
Suppress warning
jacksonthall22 Oct 27, 2025
4912409
Refactor var name
jacksonthall22 Oct 27, 2025
edc1ff6
Add `mypy`, `ruff` dev deps
jacksonthall22 Oct 27, 2025
286c1b0
Suppress mypy warning
jacksonthall22 Oct 27, 2025
0ac8ea9
Fix typo
jacksonthall22 Oct 27, 2025
910fa9b
Ruff formatting
jacksonthall22 Oct 27, 2025
572b2cb
Phrasing/formatting
jacksonthall22 Oct 27, 2025
b0d8e77
Restructure as package
jacksonthall22 Oct 29, 2025
01cd7a1
Duplicate `gen_san_strings.py`
jacksonthall22 Oct 29, 2025
5176bda
Formatting
jacksonthall22 Oct 29, 2025
88b80d9
Cache function calls
jacksonthall22 Oct 29, 2025
50fca82
Dissolve method
jacksonthall22 Oct 29, 2025
f6449b4
`Set` -> `set` types
jacksonthall22 Oct 29, 2025
d5b5e33
Add missing import
jacksonthall22 Oct 29, 2025
0f6974f
Extend ruff config for import sorting
jacksonthall22 Oct 29, 2025
a405c5f
Sort imports
jacksonthall22 Oct 29, 2025
712d9a3
Refactor name
jacksonthall22 Oct 29, 2025
9b97dc0
Specify mypy config
jacksonthall22 Oct 29, 2025
01ab16e
Add `chess_action_space` submodule
jacksonthall22 Oct 29, 2025
cb960cd
Move `gen_san_strings_new.py` -> `__init__.py`
jacksonthall22 Oct 29, 2025
e6e5b58
Delete old `gen_san_strings.py`
jacksonthall22 Oct 29, 2025
5e65e56
Make own module buildable
jacksonthall22 Oct 29, 2025
eec31e4
Extract some funcs to `utils.py`
jacksonthall22 Oct 29, 2025
824e47a
Formatting
jacksonthall22 Oct 29, 2025
b0ef42b
Remove caching for now, may actually be slower than bitwise ops
jacksonthall22 Oct 30, 2025
ec10eec
Add util funcs
jacksonthall22 Oct 30, 2025
2c270c1
Make utils consistent
jacksonthall22 Oct 30, 2025
8a4ce09
Detect castling moves
jacksonthall22 Oct 30, 2025
4c86afc
Update deps / settings
jacksonthall22 Nov 2, 2025
3272e5f
Overhaul (WIP)
jacksonthall22 Nov 2, 2025
430c799
Fix funny bug
jacksonthall22 Nov 2, 2025
8754900
Tweak main func
jacksonthall22 Nov 2, 2025
37a529c
Tweak output sorting
jacksonthall22 Nov 2, 2025
1b3e590
Delete old files
jacksonthall22 Nov 2, 2025
4c74064
Revert new sorting for better diff
jacksonthall22 Nov 2, 2025
be428e9
Remove `place_kings` funcs for now, other fixes
jacksonthall22 Nov 3, 2025
8506ee5
Docs, type hints
jacksonthall22 Nov 3, 2025
6c89253
Filter out SANs where mate is possible but check is not
jacksonthall22 Nov 3, 2025
e0f89e6
Optimize + interface tweaks
jacksonthall22 Nov 3, 2025
8df4dd7
Tiny refactors
jacksonthall22 Nov 3, 2025
74b1194
Update `spoken_san_strings.txt`
jacksonthall22 Nov 3, 2025
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: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
__pycache__/
.ipynb_checkpoints/
.idea/
.venv/
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "src/chess_action_space"]
path = src/chess_action_space
url = https://github.com/hyprchs/chess_action_space.git
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# SAN Strings

This simple script generates all **29,274** possible [Standard Algebraic Notation (SAN)](https://en.wikipedia.org/wiki/Algebraic_notation_(chess)#:~:text=Algebraic%20notation%20(or%20AN)%20is,books%2C%20magazines%2C%20and%20newspapers.)
Small lib for generating all possible Standard Algebraic Notation (SAN) chess move strings.

This code generates all **29,064** possible [Standard Algebraic Notation (SAN)](https://en.wikipedia.org/wiki/Algebraic_notation_(chess)#:~:text=Algebraic%20notation%20(or%20AN)%20is,books%2C%20magazines%2C%20and%20newspapers.)
strings for chess moves, with logic to avoid listing SAN strings that can never actually occur for geometric reasons.

If someone notices missing strings, or strings which are generated but can never occur, please open an issue!*
Expand Down
311 changes: 0 additions & 311 deletions gen_san_strings.py

This file was deleted.

Loading