Skip to main content

Contractual provides a method for verifying the function of mocks across modules and projects

Project description


Code style: black pipeline status coverage report


pip install contractual


how to use-

Contract Files

Contract files comply with the Pact file format seen at There is a key difference though-

Contractual supports mocking out arbitrary interfaces, while Pact limits itself to http requests. As such, a Contractual file can only be used with a Pact verifier if you limit the unchecked mocks to HttpContractMock. In the files themselves, you will see a list of interactions having the form

    "description": "get all users for max",
    "request": {},
    "response": {},
    "providerState": "a user with an id named 'u:ser' exists"

That is a valid HTTP contract. A more general ContractMock contract would have the form

    "description": "get all users for max",
    "contractMock": {
        "contractName": "Name",
        "args": []
    "response": {},
    "providerState": "a user with an id named 'user' exists"


Development Environment

Poetry is used to manage the project and dependencies. Once you have poetry installed pip install --user poetry, you can run poetry install to setup a virtaulenv for your project. Dependencies can be updated using poetry add or poetry remove and committing the updated pyproject.toml and poetry.lock files.


CI is handled on Gitlab at There is a make target to create a new release by tagging a new version and then incrementing to the next beta version. (This requires permissions to push to master)

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

contractual-0.4.6.tar.gz (6.4 kB view hashes)

Uploaded source

Built Distribution

contractual-0.4.6-py3-none-any.whl (3.3 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page