File size: 1,777 Bytes
d7ecc62
 
 
 
 
 
 
 
 
 
230508d
d7ecc62
 
f828a0b
 
 
 
 
 
 
 
 
 
 
54307a4
 
 
f828a0b
 
 
d7ecc62
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36caadb
 
 
 
 
 
 
 
d7ecc62
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
[project]
name = "pawn"
version = "0.1.0"
description = "PAWN: Playstyle-Agnostic World-model Network for Chess"
requires-python = ">=3.10,<3.13"
license = "Apache-2.0"
dependencies = [
    "chess-engine",
    "numpy~=2.2.0",
    "psutil>=5.9.0",
    "safetensors>=0.4.0",
    "tqdm~=4.67.0",
    "wandb~=0.25.0",
    "huggingface-hub>=0.20.0",
    # Eval + probes
    "seaborn>=0.13.2",
    "matplotlib>=3.10.8",
    "polars>=1.39.0",
    "pyarrow>=23.0.1",
    # Dashboard
    "solara>=1.0.0",
    "plotly>=5.18.0",
    "pandas>=2.0.0",
    "anywidget>=0.9.21",
    # Sweeps
    "optuna>=4.0.0",
    "optuna-dashboard>=0.17.0",
    # Dev
    "pytest~=9.0.0",
    "ipykernel>=7.2.0",
]

[project.optional-dependencies]
rocm = ["torch~=2.10.0", "triton-rocm>=3.6.0"]
cu128 = ["torch~=2.10.0"]

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = ["pawn"]

[tool.uv.workspace]
members = ["engine"]

[tool.uv]
conflicts = [
    [
        { extra = "rocm" },
        { extra = "cu128" },
    ],
]
environments = ["sys_platform == 'linux'"]

[tool.uv.sources]
chess-engine = { workspace = true }
torch = [
    { index = "pytorch-rocm", extra = "rocm" },
    { index = "pytorch-cu128", extra = "cu128" },
]
triton-rocm = [
    { index = "pytorch-rocm", extra = "rocm" },
]

[[tool.uv.index]]
name = "pytorch-rocm"
url = "https://download.pytorch.org/whl/rocm7.1"
explicit = true

[[tool.uv.index]]
name = "pytorch-cu128"
url = "https://download.pytorch.org/whl/cu128"
explicit = true

[tool.pyright]
pythonVersion = "3.10"
typeCheckingMode = "basic"
reportMissingTypeStubs = false
reportPrivateImportUsage = false
reportMissingImports = "warning"
include = ["pawn"]

[tool.pytest.ini_options]
testpaths = ["tests"]