# 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.94.1"
name = "pkcore"
version = "0.2.0"
authors = ["electronicpanopticon <gaoler@electronicpanopticon.com>"]
build = false
exclude = [
    ".github/workflows/*",
    "data/*",
    "docs/*",
    "benches/*",
    "examples/*",
    "generated/hups.db",
    "generated/old/*",
    "generated/kuhn-repl-history",
    "proto/*",
    "scripts/*",
    ".gitignore",
    "Cargo.lock",
    ".claude",
    "CLAUDE.md",
    "DIARY.md",
    "marathon_failure.yaml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Prototype core poker library."
homepage = "https://github.com/ImperialBower/pkcore"
readme = "README.md"
keywords = [
    "poker",
    "holdem",
    "omaha",
    "equity",
    "cards",
]
categories = [
    "games",
    "algorithms",
    "simulation",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/ImperialBower/pkcore.git"

[package.metadata.docs.rs]
all-features = true

[features]
bot-profiles = ["dep:serde_yaml_bw"]
bot-training = [
    "player-stats",
    "bot-profiles",
    "dep:serde_yaml_bw",
]
debug-json = []
default = [
    "bot-profiles",
    "hand-histories",
    "player-stats",
    "player-stats-persistence",
    "equity",
    "store",
    "terminal",
]
equity = []
generators = []
hand-histories = ["dep:serde_yaml_bw"]
player-stats = []
player-stats-persistence = [
    "player-stats",
    "dep:serde_yaml_bw",
]
pokerbench = []
store = [
    "dep:rusqlite",
    "dep:zstd",
]
terminal = ["dep:termion"]

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

[[test]]
name = "bot_marathon"
path = "tests/bot_marathon.rs"
required-features = [
    "hand-histories",
    "bot-profiles",
]

[[test]]
name = "exploitative_play_smoke"
path = "tests/exploitative_play_smoke.rs"
required-features = [
    "bot-profiles",
    "player-stats",
]

[[test]]
name = "hand_history_legacy_yaml"
path = "tests/hand_history_legacy_yaml.rs"
required-features = ["hand-histories"]

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

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

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

[[test]]
name = "pkarena0_session"
path = "tests/pkarena0_session.rs"
required-features = [
    "hand-histories",
    "bot-profiles",
]

[[test]]
name = "player_stats_consistency"
path = "tests/player_stats_consistency.rs"
required-features = [
    "bot-profiles",
    "hand-histories",
    "player-stats",
]

[[test]]
name = "player_stats_persistence"
path = "tests/player_stats_persistence.rs"
required-features = [
    "bot-profiles",
    "hand-histories",
    "player-stats-persistence",
]

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

[[test]]
name = "replay_consistency"
path = "tests/replay_consistency.rs"
required-features = [
    "hand-histories",
    "bot-profiles",
]

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

[[test]]
name = "training_integration"
path = "tests/training_integration.rs"
required-features = ["bot-training"]

[dependencies.bint]
version = "0.1.15"

[dependencies.bitvec]
version = "1.1"
features = [
    "alloc",
    "atomic",
    "std",
    "serde",
    "testing",
]

[dependencies.cardpack]
version = "0.6.9"

[dependencies.csv]
version = "1.4"

[dependencies.indexmap]
version = "2.12"
features = ["rayon"]

[dependencies.itertools]
version = "0.14"

[dependencies.log]
version = "0.4"

[dependencies.percent-encoding]
version = "2.3"

[dependencies.pkstate]
version = "0.1.2"

[dependencies.postcard]
version = "1"
features = [
    "alloc",
    "use-std",
]

[dependencies.rand]
version = "0.9"

[dependencies.random_name_generator]
version = "0.3.6"

[dependencies.rayon]
version = "1.11.0"

[dependencies.regex]
version = "1.12"
features = []

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

[dependencies.serde_json]
version = "1.0"

[dependencies.serde_yaml_bw]
version = "2.5"
optional = true

[dependencies.strum]
version = "0.28"
features = ["derive"]

[dependencies.strum_macros]
version = "0.28"

[dependencies.thousands]
version = "0.2.0"

[dependencies.uuid]
version = "1.22"
features = [
    "serde",
    "v4",
]

[dependencies.wincounter]
version = "0.1.5"

[dev-dependencies.clap]
version = "4.6"
features = [
    "derive",
    "unicode",
]

[dev-dependencies.clap-repl]
version = "0.3.2"

[dev-dependencies.criterion]
version = "0.5"

[dev-dependencies.elr_primes]
version = "0.1.2"

[dev-dependencies.env_logger]
version = "0.11.9"

[dev-dependencies.reedline]
version = "0.38"

[dev-dependencies.rstest]
version = "0.26.1"

[dev-dependencies.serde_test]
version = "1.0.177"

[dev-dependencies.serde_yaml_bw]
version = "2.5"

[dev-dependencies.test-log]
version = "0.2.19"

[dev-dependencies.testing_logger]
version = "0.1.1"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rusqlite]
version = "0.34"
features = ["bundled"]
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.zstd]
version = "0.13"
optional = true

[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom_v2]
version = "0.2"
features = ["js"]
package = "getrandom"

[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom_v3]
version = "0.3"
features = ["wasm_js"]
package = "getrandom"

[target.'cfg(target_arch = "wasm32")'.dependencies.uuid]
version = "1.22"
features = [
    "serde",
    "v4",
    "js",
]

[target."cfg(unix)".dependencies.termion]
version = "4.0"
optional = true
