Metadata-Version: 2.4
Name: chess-variant
Version: 1.0.7
Summary: A Python API wrapper for Fairyground Variant Challenge.
Home-page: https://fairyground-variant-challenge-da13e5b81e44.herokuapp.com/
Author: Aarush Chugh
Author-email: aachugh@uchicago.edu
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: requests
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Chess Variant Python SDK

The absolute easiest way to create, view, and list chess variants via Python.

Powered by [Fairyground Variant Challenge](https://fairyground-variant-challenge-da13e5b81e44.herokuapp.com/api/docs).

## Installation

```bash
pip install chess-variant
```

## Basic Usage

```python
import chess_variant

# 1. Start a game instantly
game = chess_variant.play("3check")

# Get any link or ID easily!
print(f"Room ID:   {game.id}")
print(f"White URL: {game.white}")
print(f"Black URL: {game.black}")
print(f"Game URL:  {game.url}")

# 2. View board state/FEN
state = chess_variant.view(game.id)
print(f"Current FEN: {state['fen']}")

# 2b. Get full room snapshot (same payload as /api/game/:roomId)
snapshot = chess_variant.room(game.id)
print(snapshot)

# 2c. Or fetch via Room instance
print(game.state())

# 3. List all active game rooms
all_rooms = chess_variant.rooms()
print(f"Currently {len(all_rooms)} active games!")

# 4. Get the move list for a game
move_list = chess_variant.moves(game.id)
print(f"Moves played: {move_list}")

# 5. Get the PGN for a game
print(chess_variant.pgn(game.id))
```
