Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Contributors wanted: support V3+ of the pact specification (via the pact rust core) #88

Closed
venthur opened this issue Jul 6, 2018 · 22 comments

Comments

@venthur
Copy link

venthur commented Jul 6, 2018

The ask from the community

The README says you currently support V2 of the spec, please support V3 as well.

Our response

Thank you, we would <3 to see support for v3, and beyond in pact-python. It will involve migrating pact-python from the current ruby based reference implementation (the core), to a rust based reference implementaiton.

We are severely lacking in willing participants, and we are happy to lend a hand in moving things forward <3

If you would love to practise some python and become a pythonista, or you are a seasoned pythonista, drop into #88 and give us a shout!

Current state of play

There has been a few attempts so far at helping tickle along progress of Pact-Python to utilise the new Rust Core.

2 on the verifier side

Examples of python integrating with the FFI

I've put together a demonstration of Python and the Pact FFI based on some of the work done by awesome folk above.

Pact reference

dev rel samples

These are for the consumer side, showing up to v4 Pact's being generated, and utilising the new Pact plugin framework

You can play with it in your browser here

The ask from you

Review the following project tracking is here

https://github.com/pact-foundation/pact-python/projects/1

Get involved!

We would love to find new maintainers or long term contributors to the projects, so would appreciate anyone sharing the word out amongst fellow Pythonista's and see if we can bring this to the masses

Workaround for python provider teams, being provided v3/v4 pacts

You can use the standalone verifier (based on the rust core) as an interim measure

https://docs.pact.io/implementation_guides/cli#native-binary-new

Real Workaround for python provider teams, being provided v3/v4 pacts

  • Help review the outstanding PR's
  • Fork the project and propose a PR
  • Let us know you want to get involved and we can run a hack day

Edits

  1. Update to provide a coherent response with actionable items at a top level
@mefellows
Copy link
Member

You say this as if it's so easy😁

We are working on v3 but it's a lot of work.

Is there a particular feature of v3 you're particularly interested in as a priority? For example, message support (which is not a distant prospect).

@venthur
Copy link
Author

venthur commented Jul 6, 2018

No worries, I didn't imply it's gonna be easy. Just wanted to create the ticket, so we can keep track of the progress. I've looked into the code and wanted to start working on it, but it is unclear how it should look like in the end, especially when it comes maintaining several supported spec-versions.

So maybe we can use this issue to collect the requirements, use cases etc.

@mefellows
Copy link
Member

No worries!

For inspiration/ideas, we can look at the implementation guide (for want of a better term) following other language implementations for guidance:

@jbw
Copy link

jbw commented Jan 14, 2020

You say this as if it's so easy😁

We are working on v3 but it's a lot of work.

Is there a particular feature of v3 you're particularly interested in as a priority? For example, message support (which is not a distant prospect).

Message support gets a +1 from me. Has there been any progress on this so far?

Thanks guys

@liamtmeade
Copy link

liamtmeade commented Jan 16, 2020

+1 for message support as well.

@bethesque
Copy link
Member

Someone is currently working on adding pact-message. Hop on slack.pact.io and ask around the pact-python channel.

@uglyog
Copy link
Member

uglyog commented May 29, 2020

I'm going to look into this now after the initial V3 support added to Pact-JS and Pact-C++

@uglyog
Copy link
Member

uglyog commented Jun 1, 2020

Initial prototype of V3 consumer test is in the feat/V3 branch: https://github.com/pact-foundation/pact-python/blob/feat/V3/e2e/v3/todo/tests/test_todo_consumer.py

@gdelia
Copy link

gdelia commented Jun 9, 2020

Any news on the messaging support?

@antonakospanos
Copy link

Any news here? We'd like to use Pact for our RMQ integrations too.

@elliottmurray
Copy link
Contributor

So I haven't started on this and to be honest probably won't until sometime 2021 as I'm not time rich at the moment.

@bethesque
Copy link
Member

Welcome back to having a job Elliot :P

@mefellows
Copy link
Member

mefellows commented Jul 1, 2021

Minor update on this that's worth sharing here:

Pact JS, Pact Go and Pact .NET have all made good progress on the v3 implementation using the Rust shared core. Pact PHP is also underway.

The work in these languages has significantly improved the standard and features of the shared core, which should make integration.

If there is somebody who has a few weeks to get stuck into it, we'd be happy to do a kickoff over VC get you on the right track.

@mefellows mefellows pinned this issue Jul 1, 2021
@mefellows mefellows changed the title Please support V3 of the pact specification Contributors wanted: support V3 of the pact specification Jul 1, 2021
@mefellows mefellows changed the title Contributors wanted: support V3 of the pact specification Contributors wanted: support V3 of the pact specification Jul 1, 2021
@ThatDevShparki
Copy link

Hi folks, just curious what the status of this is? My team has a vested interest in supporting some features from V3 and we are largely python developers.

@mefellows if there is any progress here / anything that I can do to help push this forward a bit?

@elliottmurray
Copy link
Contributor

You can ping me on Slack and I can help with that. We starting looking at FFI bindings for this but it has stalled. I've had good intentions but been distracted. Can help out if better python devs (and more importantly those with time!) than me want to contribute.

@YOU54F
Copy link
Member

YOU54F commented Nov 25, 2022

Hey all,

There has been a few attempts so far at helping tickle along progress of Pact-Python to utilise the new Rust Core.

2 on the verifier side

I've put together a demonstration of Python and the Pact FFI based on some of the work done by awesome folk above.

These are for the consumer side, showing up to v4 Pact's being generated, and utilising the new Pact plugin framework

https://github.com/YOU54F/pact-python-ffi

We would love to find new maintainers or long term contributors to the projects, so would appreciate anyone sharing the word out amongst fellow Pythonista's and see if we can bring this to the masses

@YOU54F
Copy link
Member

YOU54F commented May 3, 2023

Hey @elliottmurray I am going to re-pin this, and will flesh out the top level post with the work performed to date, and it will help us as we progress in our maintainer/community chats as to the actual work required to say a language is feature complete for v3, so we know the target we are aiming towards.

As per my comment in the just closed #312

I think we are still in need of contributors, in order to support pact v3 and beyond, and that thread has been open for longer

We are severely lacking in willing participants, and we are happy to lend a hand in moving things forward <3

If you would love to practise some python and become a pythonista, or you are a seasoned pythonista, drop into #88 and give us a shout!

@YOU54F YOU54F closed this as completed May 3, 2023
@YOU54F YOU54F changed the title Contributors wanted: support V3 of the pact specification Contributors wanted: support V3+ of the pact specification (via the pact rust core) May 3, 2023
@YOU54F YOU54F reopened this May 3, 2023
@YOU54F
Copy link
Member

YOU54F commented May 3, 2023

Whoops closed it by accident, fail

@YOU54F
Copy link
Member

YOU54F commented May 3, 2023

thanks for raising @venthur

@YOU54F
Copy link
Member

YOU54F commented Aug 3, 2023

👋🏾

I've been working on this on and off, and got a big push this week to really make some progress towards a user facing DSL.

If anyone wants to review, or join in please follow Feature: PactV3 / VerifierV3 / MessageProvider interface (powered by pact_ffi)

@canny
Copy link

canny bot commented Aug 3, 2023

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

@JP-Ellis JP-Ellis mentioned this issue Sep 27, 2023
48 tasks
@JP-Ellis
Copy link
Contributor

I'm going to close this longstanding issue in favour of #396 which sets out a roadmap to transition towards using the Rust library.

@JP-Ellis JP-Ellis unpinned this issue Sep 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests