#chess #uci #parser #position

no-std shakmaty-uci

Universal Chess Interface (UCI) message parser

2 releases

0.1.1 Oct 31, 2024
0.1.0 Apr 20, 2024

#1167 in Game dev

Download history 6/week @ 2024-12-11 8/week @ 2025-02-05 38/week @ 2025-02-12 5/week @ 2025-02-26 76/week @ 2025-03-05 67/week @ 2025-03-12 20/week @ 2025-03-26

165 downloads per month
Used in 2 crates

GPL-3.0+

94KB
2.5K SLoC

A library to parse and write Universal Chess Interface (UCI) message.

Examples

Ask the engine to evaluate a position:

use shakmaty_uci::UciMessage;

println!("{}", UciMessage::Uci); // uci
assert_eq!("uciok".parse(), Ok(UciMessage::UciOk));
println!(
    "{}",
    UciMessage::Position{
        startpos: true,
        fen: None,
        moves: vec![
            "e2e4".parse().unwrap(),
            "e7e5".parse().unwrap(),
            "g8f3".parse().unwrap(),
        ],
    }
);
println!("{}", UciMessage::go_infinite())

shakmaty-uci

A Rust library to parse and write Universal Chess Interface (UCI) messages.

Contributing

This library is Free Software and every contributions are welcome.

Please note that contributing to this project is subject to a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Dependencies

~2MB
~35K SLoC