-
Notifications
You must be signed in to change notification settings - Fork 1
/
Cargo.toml
108 lines (98 loc) · 2.71 KB
/
Cargo.toml
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
[package]
authors = ["Kirill Bobyrev <[email protected]>"]
categories = ["command-line-interface"]
description = "Chess engine"
documentation = "https://docs.rs/pabi"
edition = "2021"
homepage = "https://github.com/kirillbobyrev/pabi"
keywords = ["chess", "engine", "machine-learning"]
license = "Apache-2.0"
name = "pabi"
readme = "README.md"
repository = "https://github.com/kirillbobyrev/pabi"
rust-version = "1.80"
version = "2024.7.1"
include = [
"/src/",
"/generated/",
"/Cargo.toml",
"/Cargo.lock",
"build.rs",
"LICENSE",
"README.md",
] # Reduce the package size by only including things necessary for building it.
[features]
mkl = ["candle-core/mkl", "candle-nn/mkl"]
[dependencies]
anyhow = "1.0.83"
arrayvec = "0.7.2"
bitflags = "2.2.1"
candle-core = "0.6.0"
candle-nn = "0.6.0"
clap = { version = "4.5.15", features = ["derive", "wrap_help"] }
indicatif = "0.17.8"
itertools = "0.13.0"
# Use SmallRng for performance.
rand = { version = "0.8.5", features = ["small_rng"] }
rand_distr = "0.4.3"
rayon = "1.10.0"
shadow-rs = "0.31.1"
# Used for probing tablebases.
shakmaty = "0.27.1"
shakmaty-syzygy = "0.25.0"
[build-dependencies]
rand = "0.8.5"
shadow-rs = "0.31.1"
[dev-dependencies]
assert_cmd = "2.0.16"
criterion = "0.5.1"
predicates = "3.1.2"
pretty_assertions = "1.1.0"
proptest = "1.5.0"
shadow-rs = "0.31.1"
# Used for testing and comparing against a reasonable baseline for correctness.
shakmaty = "0.27.1"
[[bench]]
harness = false
name = "chess"
# TODO: Test this out once the benchmarks are available and tweak specific
# values. So far, this gives around -8% on parsing FEN/EPD positions.
[profile.release]
codegen-units = 1
lto = "fat"
panic = "abort"
strip = true
# TODO: Tweak inline-threshold.
# TODO: Set profile-generate and profile-use (https://github.com/kirillbobyrev/pabi/issues/9).
[lints.rust]
# absolute_paths_not_starting_with_crate = "warn"
# let_underscore_drop = "warn"
# macro_use_extern_crate = "warn"
# missing_docs = "warn"
# unused_extern_crates = "warn"
# unused_import_braces = "warn"
# unused_lifetimes = "warn"
# unused_qualifications = "warn"
keyword_idents_2018 = "deny"
keyword_idents_2024 = "deny"
trivial_casts = "deny"
# trivial_numeric_casts = "deny"
# unreachable_pub = "deny"
# unused_results = "deny"
[lints.clippy]
missing_transmute_annotations = "allow"
# cargo = "warn"
# complexity = "warn"
# correctness = "warn"
# nursery = "warn"
# pedantic = "warn"
# style = "warn"
suspicious = { level = "deny", priority = -1 }
redundant_pattern_matching = "deny"
perf = { level = "deny", priority = -1 }
allow_attributes_without_reason = "deny"
derivable_impls = "deny"
[lints.rustdoc]
broken_intra_doc_links = "deny"
invalid_rust_codeblocks = "deny"
unescaped_backticks = "deny"