pact-python icon indicating copy to clipboard operation
pact-python copied to clipboard

Add support and example using V3/V4 matchers and generators

Open mefellows opened this issue 2 years ago • 4 comments

“Add support” means adding DSL methods that call the underlying Rust functionality.

“Add example” means create an example Python project that showcases using the functionality.

mefellows avatar Sep 13 '23 07:09 mefellows

Do we have an idea of when V3 support will be added?

phwebi avatar Mar 08 '24 17:03 phwebi

You can monitor the progress towards Pact-Python v3 (which will make use FFI backend) in the tracking issue:

  • #396

Unfortunately, as you can see, there's a few other tickets before I eventually get to this... Having said that, you are more than welcome to contribute to Pact Python, and I can absolutely help you out get started :)

The current progress at the moment, has been focusing on getting the HTTP consumers and providers working all the way up to V4 of the spec (the consumer side is working, the providers is a WIP). Once that is done, I intend to release v2.2 and make an announcement.

JP-Ellis avatar Mar 11 '24 05:03 JP-Ellis

I would like to ask which issues would bring the release of v3 closer, and trying to understand what would be the time effort in delivering it. At my current company we would like to use Pact V3 functionalities, and we are eager to contribute but would need to understand the amount of work and possible time frame, so that we can incorporate it into our roadmap.

MaciJas avatar Mar 20 '24 13:03 MaciJas

Of course, happy to elaborate @MaciJas!

The current plan is to release v2.2 within the next couple of weeks which will contain a pact.v3 module containing what will eventually become Pact Python v3. Once version 3 is formally released, the pact.v3 module will become the main pact module; and to assist with the transition, the current pact module will be placed under the pact.v2 namespace so that people can migrate their code progressively.

The entire roadmap for V3 is outlined above; however, the aim for v2.2 is to have fully implemented the HTTP consumer and provider compatibility suite, for Pact Specifications 1 through 4.

At the time of the v2.2 release, I will provide a major update to the README and docs to facilitate the discovery of what will become Pact Python v3. I also anticipate that contributions will become a lot easier from v2.2 onwards, as the main foundational work for the FFI is complete.

JP-Ellis avatar Mar 21 '24 02:03 JP-Ellis

I am closing this ticket and splitting into two:

  • [ ] #746
  • [ ] #747

These tickets will begin with an RFC to discuss the way it is to be implemented. Contributions very welcome!

JP-Ellis avatar Aug 02 '24 00:08 JP-Ellis