-
Notifications
You must be signed in to change notification settings - Fork 140
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
Comments
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). |
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. |
No worries! For inspiration/ideas, we can look at the implementation guide (for want of a better term) following other language implementations for guidance:
|
Message support gets a +1 from me. Has there been any progress on this so far? Thanks guys |
+1 for message support as well. |
Someone is currently working on adding pact-message. Hop on slack.pact.io and ask around the pact-python channel. |
I'm going to look into this now after the initial V3 support added to Pact-JS and Pact-C++ |
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 |
Any news on the messaging support? |
Any news here? We'd like to use Pact for our RMQ integrations too. |
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. |
Welcome back to having a job Elliot :P |
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. |
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? |
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. |
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 |
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
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! |
Whoops closed it by accident, fail |
thanks for raising @venthur |
👋🏾 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) |
This issue has been linked to a Canny post: Pact V3 Specification for Python 🎉 |
I'm going to close this longstanding issue in favour of #396 which sets out a roadmap to transition towards using the Rust library. |
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.
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!
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
Edits
The text was updated successfully, but these errors were encountered: