#FFI #SMT #satisfiability #solver

z3

High-level rust bindings for the Z3 SMT solver from Microsoft Research

10 releases (6 breaking)

Uses old Rust 2015

new 0.7.0 Oct 29, 2020
0.6.0 Jun 29, 2020
0.5.1 May 12, 2020
0.4.0 Aug 29, 2019
0.1.0 Dec 28, 2015

#8 in Science

Download history 854/week @ 2020-07-09 1261/week @ 2020-07-16 872/week @ 2020-07-23 862/week @ 2020-07-30 901/week @ 2020-08-06 724/week @ 2020-08-13 1479/week @ 2020-08-20 757/week @ 2020-08-27 511/week @ 2020-09-03 690/week @ 2020-09-10 496/week @ 2020-09-17 1002/week @ 2020-09-24 1106/week @ 2020-10-01 738/week @ 2020-10-08 534/week @ 2020-10-15 870/week @ 2020-10-22

3,559 downloads per month
Used in 4 crates (3 directly)

MIT license

18MB
389K SLoC

C++ 342K SLoC // 0.1% comments Python 14K SLoC // 0.4% comments C# 10K SLoC // 0.4% comments Java 8K SLoC // 0.5% comments C 5.5K SLoC // 0.2% comments Rust 5K SLoC // 0.0% comments OCaml 3K SLoC // 0.4% comments Shell 727 SLoC // 0.2% comments Visual Studio Project 136 SLoC Visual Studio Solution 124 SLoC Batch 85 SLoC

z3

High-level rust bindings to the Z3 SMT solver

Licensed under the MIT license.

See https://github.com/Z3Prover/z3 for details on Z3.

Documentation

The API is fully documented with examples: https://docs.rs/z3/

Installation

This crate works with Cargo and is on crates.io. Add it to your Cargo.toml like so:

[dependencies]
z3 = "0.6.0"

Note: This library has a dependency on Z3. You will either need to have the Z3 dependency already installed, or you can statically link to our build of Z3 like so:

[dependencies]
z3 = {version="0.6.0", features = ["static-link-z3"]}

Support and Maintenance

I am developing this library largely on my own so far. I am able to offer support and maintenance, but would very much appreciate donations via Patreon. I can also provide commercial support, so feel free to contact me.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, shall be dual licensed as above, without any additional terms or conditions.

Dependencies