Metadata-Version: 2.4
Name: fish-rules
Version: 0.1.0
Summary: The rules engine for the card game Fish: deterministic, standard library only.
Keywords: fish,card game,hidden information,multi-agent,benchmark
License-Expression: Apache-2.0
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Games/Entertainment
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Typing :: Typed
Requires-Python: >=3.14
Project-URL: Homepage, https://github.com/thetruthisntsweet/fish
Project-URL: Documentation, https://github.com/thetruthisntsweet/fish/tree/main/docs
Project-URL: Changelog, https://github.com/thetruthisntsweet/fish/blob/main/CHANGELOG.md
Project-URL: Issues, https://github.com/thetruthisntsweet/fish/issues
Description-Content-Type: text/markdown

# fish-rules

The rules engine for **Fish**, a six-player team card game of asking, deduction and calls,
as specified by the Canonical Ruleset v1.1. It is the foundation of the
[Fish benchmark](https://github.com/thetruthisntsweet/fish).

- **Deterministic.** A game is its seed and its actions: replaying them gives the same states
  and records on any machine, with a frozen, documented random-number scheme.
- **Immutable.** `apply(state, action)` returns a new state and the records the action produced.
- **One projection.** `fish_rules.view.project` decides what each seat may see, and is the
  only way information reaches a player.
- **Standard library only**, typed, and tested to 100% branch coverage.

```python
from fish_rules.engine import apply, legal_actions
from fish_rules.state import new_game

state = new_game(42)
action = legal_actions(state, state.current)[0]
state, records = apply(state, action)
```

Install with `pip install fish-rules` (Python 3.14 or later). For a multi-agent environment
built on it, see [fish-env](https://pypi.org/project/fish-env/); for baseline agents,
[fish-agents](https://pypi.org/project/fish-agents/). Documentation, including the
frozen encodings, is in the [repository](https://github.com/thetruthisntsweet/fish/tree/main/docs).

Licensed under Apache-2.0.
