timecat 1.52.0

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.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[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"