[package]
edition = "2024"
rust-version = "1.89"
name = "timecat"
version = "1.52.0"
authors = ["Gourab Ghosh"]
build = "build.rs"
include = [
"src/",
"tests/",
"!src/**/*.bak",
"build.rs",
"Cargo.toml",
"README.md",
"documentation/**/*.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
default-run = "timecat"
description = "A NNUE-based chess engine that implements the Negamax algorithm and can be integrated into any project as a library. It features move generation, advanced position evaluation through NNUE, and move searching capabilities."
homepage = "https://github.com/Gourab-Ghosh/timecat-rs/"
documentation = "https://docs.rs/timecat"
readme = "README.md"
keywords = [
"chess-engine",
"chess",
"uci",
"nnue",
"ai",
]
categories = [
"wasm",
"algorithms",
"games",
"game-development",
]
license = "GPL-3.0-or-later"
repository = "https://github.com/Gourab-Ghosh/timecat-rs/"
[package.metadata.docs.rs]
all-features = true
[features]
binread = ["dep:binread"]
colored = ["dep:colored"]
debug = [
"experimental",
"colored",
"extras",
"inbuilt_nnue",
"dep:dirs",
"extern_alloc",
]
default = [
"inbuilt_nnue",
"colored",
]
experimental = []
extern_alloc = ["dep:mimalloc"]
extras = []
inbuilt_nnue = [
"dep:minreq",
"dep:sha256",
"dep:dirs",
"nnue_reader",
]
nnue_reader = ["binread"]
pyo3 = ["dep:pyo3"]
serde = [
"dep:serde",
"web-time?/serde",
"pyo3?/serde",
"arrayvec/serde",
]
wasm = [
"dep:web-time",
"dep:gloo",
]
[lib]
name = "timecat"
path = "src/lib.rs"
[[bin]]
name = "timecat"
path = "src/bin/timecat.rs"
[[test]]
name = "bitboard"
path = "tests/bitboard.rs"
[[test]]
name = "board"
path = "tests/board.rs"
[[test]]
name = "compression"
path = "tests/compression.rs"
[[test]]
name = "engine"
path = "tests/engine.rs"
[[test]]
name = "evaluate_nnue"
path = "tests/evaluate_nnue.rs"
[[test]]
name = "move_generator"
path = "tests/move_generator.rs"
[[test]]
name = "parse"
path = "tests/parse.rs"
[[test]]
name = "position"
path = "tests/position.rs"
[[test]]
name = "psqt"
path = "tests/psqt.rs"
[[test]]
name = "random_tests"
path = "tests/random_tests.rs"
[[test]]
name = "serde"
path = "tests/serde.rs"
[dependencies.arrayvec]
version = ">=0.6"
[dependencies.binread]
version = "2"
features = ["const_generics"]
optional = true
[dependencies.colored]
version = "3"
optional = true
[dependencies.gloo]
version = "0"
optional = true
[dependencies.itertools]
version = "0"
[dependencies.mimalloc]
version = "0"
optional = true
[dependencies.paste]
version = "1"
[dependencies.pyo3]
version = "0.26.0"
optional = true
[dependencies.serde]
version = "1"
features = [
"derive",
"rc",
]
optional = true
[dependencies.web-time]
version = "1"
optional = true
[dev-dependencies.serde_json]
version = "1"
[build-dependencies.dirs]
version = "6"
optional = true
[build-dependencies.itertools]
version = "0"
[build-dependencies.minreq]
version = "2"
features = ["https"]
optional = true
[build-dependencies.sha256]
version = "1"
optional = true
[profile.bench]
inherits = "release"
[profile.dev]
opt-level = 3
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
debug = 0
debug-assertions = false
rpath = false
panic = "abort"
overflow-checks = false
[profile.release.package."*"]
inherits = "release"
[profile.test]
inherits = "dev"