#4740·hypothesis

Migrate the Hypothesis engine from Python to Rust

Author: Liam-DeVoeCreated May 25, 2026Updated Sep 15, 2026
Labelsinternals

This epic-style issue tracks our work towards migrating the core Hypothesis engine from Python to Rust. Only the internal engine will change; nothing user-facing will change.

We are doing this for two reasons:

  • Primarily, for interoperability with PBT in other languages. Our goal is to make the core of Hypothesis a shared rust library with a defined interface that other PBT frameworks can link against. We imagine a world in which one can write a PBT library in language X by deciding what the user-facing interface should be, and otherwise letting the Hypothesis backend handle input generation, shrinking, and replaying from the database. Hegel is one example that would benefit from this.
  • Secondarily, for performance.

We do not intend for this change to be user-visible in any way. We are treating this as a minor, not a major, version bump.

(Fun fact: we have long toyed with the idea of porting the Hypothesis engine to Rust. Things have gotten better since then; the Rust<->Python ecosystem (e.g.) has matured, and @DRMacIver and I started Hegel, which would be a great consumer of this interface.)

Ecosystem issues

Roadmap

Source: HypothesisWorks/hypothesis