Skip to main content

Design By Contract library

Project description


Design by contract is a methodology of software design. It prescribes that software designers should define formal, precise and verifiable interface specifications for software components, which extend the ordinary definition of abstract data types with preconditions, postconditions and invariants. These specifications are referred to as “contracts”, in accordance with a conceptual metaphor with the conditions and obligations of business contracts.


When using this library, just create a class and define the preconditions, postconditions or invariants in the method, or in a separate function.

For ex.

from PyContractor import PyContractor

def division(self, a, b):
    PyContractor.require(b != 0, "Divisor must be non-zero")


This tiny library just gives you a start to know this methodology and it’s mainly focused for educational purposes.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PyContractor-0.1.1.tar.gz (2.5 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page