pact-foundation / pact-python

Python version of Pact. Enables consumer driven contract testing, providing a mock service and DSL for the consumer project, and interaction playback and verification for the service provider project.
http://pact.io
MIT License
560 stars 135 forks source link

Pact FFI Tracking Issue #396

Open JP-Ellis opened 9 months ago

JP-Ellis commented 9 months ago

:memo: Background

Pact Python at present makes use of the Ruby executables. The main functionality of the Ruby executables has been replaced by a core library written in Rust (pact-foundation/pact-reference). This library exposes a foreign function interface which other languages can leverage without the need to re-implement a lot of the logic. The core library helps to maintain parity across the different clients and helps with the adoption of new features.

:arrow_heading_up: Migration Plan

This change will introduce some breaking changes where needed, but it will be done in a staged manner to give everyone the opportunity to migrate.

:construction: Stage 1 (from v2.2)

:hammer_and_wrench: Stage 2 (from v2.3, tbc)

:rocket: Stage 3 (from v3)

✅ Tasks

🔗 Prior/Related Work

This change has been a long time coming:

github-actions[bot] commented 9 months ago

👋 Hi! The 'smartbear-supported' label has just been added to this issue, which will create an internal tracking ticket in PactFlow's Jira (PACT-1353). We will use this to prioritise and assign a team member to this task. All activity will be public on this ticket. For now, sit tight and we'll update this ticket once we have more information on the next steps.

See our documentation for more information.

canny[bot] commented 1 week ago

This issue has been linked to a Canny post: Pact V3 Specification for Python :tada: