rustsat-kissat

Crates.iorustsat-kissat
lib.rsrustsat-kissat
version0.7.3
created_at2023-08-23 13:17:50.012368+00
updated_at2025-08-07 13:37:46.535188+00
descriptionInterface to the SAT solver kissat for the RustSAT library.
homepage
repositoryhttps://github.com/chrjabs/rustsat
max_upload_size
id952014
size1,245,290
Christoph Jabs (chrjabs)

documentation

README

crates.io docs.rs License

rustsat-kissat - Interface to the Kissat SAT Solver for RustSAT

Armin Biere's SAT solver Kissat to be used with the RustSAT library.

Note: at the moment this crate is known to not work on Windows since Kissat is non-trivial to get to work on Windows.

Features

  • debug: if this feature is enables, the C library will be built with debug functionality if the Rust project is built in debug mode
  • safe: disable writing through popen for more safe usage of the library in applications
  • quiet: exclude message and profiling code (logging too)

Kissat Versions

Kissat versions can be selected via cargo crate features. The following Kissat versions are available:

Without any features selected, the newest version will be used. If conflicting Kissat versions are requested, the newest requested version will be selected.

If the determined version is not the newest available, and no custom source directory is specified (see customization below), the Kissat source code is downloaded at compile time, which requires network access.

Customization

In order to build a custom version of Kissat, this crate supports the KISSAT_SRC_DIR environment variable. If this is set, Kissat will be built from the path specified there.

Minimum Supported Rust Version (MSRV)

Currently, the MSRV is 1.77.0, the plan is to always support an MSRV that is at least a year old.

Bumps in the MSRV will not be considered breaking changes. If you need a specific MSRV, make sure to pin a precise version of RustSAT.

Note that the specified minimum-supported Rust version only applies if the newest version of Kissat is build. Older versions are pulled down via the git2 crate, which has transitive dependencies that have a higher MSRV.

Commit count: 871

cargo fmt