Metadata-Version: 2.4
Name: algorhino-coral
Version: 0.2.0
Summary: Shared types and utilities for evalaution
Author-email: Victor Gabillon <victorgabillon@gmail.com>
License-Expression: GPL-3.0-only
Requires-Python: >=3.14
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: torch>=2.14.1
Requires-Dist: valanga==0.3.0
Requires-Dist: PyYAML
Requires-Dist: dacite
Requires-Dist: rich
Requires-Dist: chess
Provides-Extra: test
Requires-Dist: pytest==9.1.1; extra == "test"
Requires-Dist: coverage==7.17.0; extra == "test"
Requires-Dist: pytest-cov==7.1.0; extra == "test"
Provides-Extra: lint
Requires-Dist: ruff==0.17.3; extra == "lint"
Requires-Dist: pylint==4.1.3; extra == "lint"
Provides-Extra: typecheck
Requires-Dist: mypy==2.4.0; extra == "typecheck"
Requires-Dist: pyright[nodejs]==1.1.414; extra == "typecheck"
Requires-Dist: types-PyYAML==6.0.12.20260906; extra == "typecheck"
Provides-Extra: dev
Requires-Dist: tox==4.67.2; extra == "dev"
Requires-Dist: types-PyYAML==6.0.12.20260906; extra == "dev"
Requires-Dist: ruff==0.17.3; extra == "dev"
Requires-Dist: pylint==4.1.3; extra == "dev"
Requires-Dist: black==26.10.1; extra == "dev"
Requires-Dist: mypy==2.4.0; extra == "dev"
Requires-Dist: pyright==1.1.414; extra == "dev"
Requires-Dist: build==1.6.1; extra == "dev"
Requires-Dist: twine==7.0.0; extra == "dev"
Requires-Dist: sphinx==9.2.0; extra == "dev"
Requires-Dist: sphinx-rtd-theme==3.1.0; extra == "dev"
Requires-Dist: sphinx-autodoc-typehints==3.17.3; extra == "dev"
Requires-Dist: pre-commit==4.7.0; extra == "dev"
Dynamic: license-file

# Coral

A PyTorch-based neural network library for board game evaluation.

## Overview

Coral provides a flexible framework for building and deploying neural networks to evaluate board game positions. It includes modular components for input conversion, neural network architectures, and output interpretation.

## Features

- **Multiple NN Architectures**: Multi-layer perceptrons, transformers, and custom models
- **Flexible Input/Output Conversion**: Modular converters for different board representations and evaluation formats
- **Point-of-View Evaluation**: Support for evaluating positions from different player perspectives
- **PyTorch Integration**: Built on PyTorch with JIT compilation support for optimized inference

## Installation

```bash
pip install algorhino-coral==0.2.0
```

Release 0.2.0 uses the published `valanga==0.3.0`. Run
`tox --workdir /path/to/private/coral-tox` for complete validation.
`requirements/validation-py314.txt` pins the verified public Valanga wheel and
stable CPU PyTorch artifact by URL and SHA-256 for both local tox and CI.

### Requirements

- Python >= 3.14; validated with standard CPython 3.14.10, GIL enabled, `PYTHON_JIT=0`
- PyTorch >= 2.14.1 (2.14.1+cpu is validated; no release candidate)
- Valanga 0.3.0

## Project Structure

```
src/coral/
├── board_evaluation.py          # Point-of-view and evaluation types
├── chi_nn.py                     # Base neural network class
└── neural_networks/
    ├── factory.py                # NN factory pattern
    ├── nn_state_evaluator.py   # Board evaluation with NNs
    ├── models/                   # NN architectures (MLP, Transformer)
    ├── input_converters/         # Board to tensor conversion
    └── output_converters/        # NN output to evaluation conversion
```

## License

GPL-3.0-only


