Overview of Deal features
masterDeal is a Python library for Design by Contract (DbC) that provides several layers of verification:
- Core DbC: Support for preconditions, postconditions, and invariants.
- Side-effect & Exception Tracking: Ability to track exceptions and ensure functions are pure.
- Testing & Verification: Property-based testing, integration with
hypothesisandpytest, and formal verification to prove code correctness. - Static Analysis: A linter and integration with
flake8for static contract checking. - Advanced Checks: Memory leak detection for pure functions and support for external validators.
- Production Ready: Zero-dependency runtime (dependencies are only for analysis tools) and the ability to enable/disable contracts in production.