Metadata-Version: 2.4
Name: cube-model
Version: 1.0.4
Summary: Orientation-independent cube model in strictly typed Python
Author: Yitzchak Gale
Author-email: gale@sefer.org
Requires-Python: >=3.13,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Project-URL: Homepage, https://github.com/ygale/cube-model
Project-URL: Repository, https://github.com/ygale/cube-model
Description-Content-Type: text/markdown

# cube-model

An orientation-independent cube model in strictly typed Python.

## Highlights

- Strict typing (`mypy --strict`)
- Orientation-independent cube state
- `Color` and `Side` are enums
- `CornerSticker` objects form circular linked lists of size 3
- `EdgeSticker` objects form circular linked lists of size 2
- `Cube.next_edge` and `Cube.next_corner` encode clockwise sticker order on faces

## Install

```bash
pip install cube-model
```

## Example

```python
from cube_model import Color, Move, Multiplicity, Side, solved, move

cube = solved()
assert cube.front_color is Color.GREEN

move(Move(Side.FRONT, Multiplicity.CW), cube)
```


