Metadata-Version: 2.4
Name: algorhino-coral
Version: 0.1.10
Summary: Shared types and utilities for evalaution
Author-email: Victor Gabillon <victorgabillon@gmail.com>
License-Expression: GPL-3.0-only
Requires-Python: >=3.13
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: torch
Requires-Dist: valanga>=0.1.14
Requires-Dist: PyYAML
Requires-Dist: dacite
Requires-Dist: rich
Requires-Dist: chess
Provides-Extra: test
Requires-Dist: pytest>=8.4.1; extra == "test"
Requires-Dist: coverage; extra == "test"
Requires-Dist: pytest-cov>=6.0.0; extra == "test"
Provides-Extra: lint
Requires-Dist: ruff>=0.15.0; extra == "lint"
Requires-Dist: pylint>=4.0.4; extra == "lint"
Provides-Extra: typecheck
Requires-Dist: mypy>=1.18.2; extra == "typecheck"
Requires-Dist: pyright[nodejs]>=1.1.408; extra == "typecheck"
Requires-Dist: types-PyYAML>=6.0.12.12; extra == "typecheck"
Provides-Extra: dev
Requires-Dist: tox>=4.30.2; extra == "dev"
Requires-Dist: types-PyYAML>=6.0.12.12; extra == "dev"
Requires-Dist: ruff>=0.15.0; extra == "dev"
Requires-Dist: pylint>=4.0.4; extra == "dev"
Requires-Dist: black>=25.1.0; extra == "dev"
Requires-Dist: mypy>=1.18.2; extra == "dev"
Requires-Dist: pyright>=1.1.406; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Requires-Dist: sphinx; extra == "dev"
Requires-Dist: sphinx-rtd-theme; extra == "dev"
Requires-Dist: sphinx-autodoc-typehints; extra == "dev"
Requires-Dist: pre-commit; 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 git+https://github.com/victorgabillon/coral.git@main
```

### Requirements

- Python >= 3.13
- PyTorch
- valanga (board game library)

## 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_content_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


