Tool for creating and verifying consumer-driven contracts using the Pact framework.
Project description
Pact Python
Pact is the de-facto API contract testing tool. Replace expensive and brittle end-to-end integration tests with fast, reliable and easy to debug unit tests.
Why use Pact? Contract testing with Pact lets you:
Watch our series on the problems with end-to-end integrated tests, and how contract testing can help. |
Documentation
This readme provides a high-level overview of the Pact Python library. For detailed documentation, please refer to the full Pact Python documentation. For a more general overview of Pact and the rest of the ecosystem, please refer to the Pact documentation.
Documentation for the API is generated from the docstrings in the code which you can view at pact-foundation.github.io/pact-python/pact.
Need Help
- Join our community slack workspace.
- Stack Overflow is a great place to ask questions.
- Say 👋 on Twitter: @pact_up
- Join a discussion 💬 on GitHub Discussions
- Raise an issue on GitHub
Installation
The latest version of Pact Python can be installed from PyPi:
pip install pact-python
# 🚀 now write some tests!
Requirements
Pact Python tries to support all versions of Python that are still supported by the Python Software Foundation. Older version of Python may work, but are not officially supported.
In order to support the broadest range of use cases, Pact Python tries to impose the least restrictions on the versions of libraries that it uses.
Telemetry
In order to get better statistics as to who is using Pact, we collect some anonymous telemetry. The only things we record are your type of OS, and the version information for the package. No personally identifiable information is sent as part of this request. You can disable telemetry by setting the environment variable PACT_DO_NOT_TRACK=1:
Contributing
We welcome contributions to the Pact Python library in many forms. There are many ways to help, from writing code, to providing new examples, to writing documentation, to testing the library and providing feedback. For more information, see the contributing guide.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pact_python-3.2.0.tar.gz.
File metadata
- Download URL: pact_python-3.2.0.tar.gz
- Upload date:
- Size: 328.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d7de5c4ad753c3bddcae0fc11f71e8323e88d6f0d1b12bd79d53ca1fba65502
|
|
| MD5 |
892247d7991c878830dec1252f7282de
|
|
| BLAKE2b-256 |
d59f92d32046ded5d8ae00ddfc33a012ce063121ecb5c2294a60238022814873
|
Provenance
The following attestation bundles were made for pact_python-3.2.0.tar.gz:
Publisher:
build.yml on pact-foundation/pact-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pact_python-3.2.0.tar.gz -
Subject digest:
2d7de5c4ad753c3bddcae0fc11f71e8323e88d6f0d1b12bd79d53ca1fba65502 - Sigstore transparency entry: 737399086
- Sigstore integration time:
-
Permalink:
pact-foundation/pact-python@9d9eb2b3308f7bf8bae0b9a74bd0bfe85f78239d -
Branch / Tag:
refs/tags/pact-python/3.2.0 - Owner: https://github.com/pact-foundation
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@9d9eb2b3308f7bf8bae0b9a74bd0bfe85f78239d -
Trigger Event:
push
-
Statement type:
File details
Details for the file pact_python-3.2.0-py3-none-any.whl.
File metadata
- Download URL: pact_python-3.2.0-py3-none-any.whl
- Upload date:
- Size: 94.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66299ebf717fc6d8e1b6b92570457eb81abb5fe31c20fd5dfca1fac7e427b570
|
|
| MD5 |
453557654dd771140bc28a03e896afd4
|
|
| BLAKE2b-256 |
1a907599c4881b4c6577d80faa5fecbb26f2dd1025887fa7c8abbe857cefea77
|
Provenance
The following attestation bundles were made for pact_python-3.2.0-py3-none-any.whl:
Publisher:
build.yml on pact-foundation/pact-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pact_python-3.2.0-py3-none-any.whl -
Subject digest:
66299ebf717fc6d8e1b6b92570457eb81abb5fe31c20fd5dfca1fac7e427b570 - Sigstore transparency entry: 737399096
- Sigstore integration time:
-
Permalink:
pact-foundation/pact-python@9d9eb2b3308f7bf8bae0b9a74bd0bfe85f78239d -
Branch / Tag:
refs/tags/pact-python/3.2.0 - Owner: https://github.com/pact-foundation
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@9d9eb2b3308f7bf8bae0b9a74bd0bfe85f78239d -
Trigger Event:
push
-
Statement type: