pact-python
pact-python copied to clipboard
Contributors wanted: support V3 of the pact specification
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:
- Ruby spike (including some useful sequence diagrams): https://github.com/pact-foundation/pact-ruby-message-spike
- PHP: https://github.com/pact-foundation/pact-php/issues/29
- JS: https://github.com/pact-foundation/pact-js/tree/feat/message-pact
- Golang: https://github.com/pact-foundation/pact-go/tree/release/1.x.x
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
+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
- https://github.com/pact-foundation/pact-python/pull/245
- https://github.com/pact-foundation/pact-python/pull/265
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
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 https://github.com/pact-foundation/pact-python/issues/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 :tada:
I'm going to close this longstanding issue in favour of #396 which sets out a roadmap to transition towards using the Rust library.