rsshogi 1.0.2

Reusable Rust shogi primitives for board state, move generation, legality, and record parsing.
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.95"
name = "rsshogi"
version = "1.0.2"
build = "build.rs"
exclude = ["src/bin/**"]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Reusable Rust shogi primitives for board state, move generation, legality, and record parsing."
readme = "README.md"
keywords = ["shogi"]
categories = ["games"]
license = "MIT"
repository = "https://github.com/nyoki-mtl/rsshogi"
resolver = "2"

[features]
book = [
    "initial-positions",
    "position-serialization",
]
default = []
hash-128 = []
initial-positions = []
policy-labels = []
position-serialization = []
python-data = [
    "book",
    "records",
    "position-serialization",
    "svg",
    "validation",
]
records = [
    "position-serialization",
    "initial-positions",
    "policy-labels",
    "dep:encoding_rs",
    "dep:serde",
    "dep:serde_json",
    "dep:ordered-float",
]
svg = []
validation = []

[lib]
name = "rsshogi"
path = "src/lib.rs"

[[example]]
name = "sazpack_measure"
path = "examples/sazpack_measure.rs"
required-features = ["records"]

[[example]]
name = "sbinpack_size_breakdown"
path = "examples/sbinpack_size_breakdown.rs"
required-features = ["records"]

[[test]]
name = "hash_primitives"
path = "tests/hash_primitives.rs"

[[test]]
name = "movegen_integration"
path = "tests/movegen_integration.rs"

[[test]]
name = "movegen_pinned_pieces"
path = "tests/movegen_pinned_pieces.rs"

[[test]]
name = "perft"
path = "tests/perft.rs"

[[test]]
name = "property_apply_move"
path = "tests/property_apply_move.rs"

[[test]]
name = "yaneu_compatibility"
path = "tests/yaneu_compatibility.rs"

[[bench]]
name = "apply_undo"
path = "benches/apply_undo.rs"
harness = false

[[bench]]
name = "movegen"
path = "benches/movegen.rs"
harness = false

[dependencies.encoding_rs]
version = "0.8"
optional = true

[dependencies.log]
version = "0.4"

[dependencies.ordered-float]
version = "4.6"
optional = true

[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true

[dependencies.serde_json]
version = "1.0"
optional = true

[dependencies.thiserror]
version = "2"

[dev-dependencies.criterion]
version = "0.5"
features = ["cargo_bench_support"]
default-features = false

[dev-dependencies.proptest]
version = "1.4"
features = ["std"]
default-features = false

[dev-dependencies.serde]
version = "1.0"
features = ["derive"]

[dev-dependencies.serde_json]
version = "1.0"

[dev-dependencies.shogi_core]
version = "0.1.5"