-
Notifications
You must be signed in to change notification settings - Fork 322
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
Python 3 support #458
Comments
I'm also interested in python3 support. I'd open another issue but I couldn't title it better, so: If the latter, how would tests best work for this particular compatibility feature? Running them in multiple versions of python by hand is of course an option but it doesn't seem to fit the spirit of a project about testing. |
+1 for Py3 support |
So I don't think Python 3 is going to happen in Lettuce unless someone takes it over. I had been doing it, but I've now moved all of my energy across to Aloe, which is a fork of Lettuce/new-parser that runs as a Nose plugin. |
I'll try and come up with a pull request for python 3 |
lettuce relies on markment, which uses Flask 0.9, which isn't compatible with Python 3. There's a pull request to address this here: gabrielfalcao/markment#4 |
A big chunk of work here will be converting everything in lettuce's tests directory to be compatible with python3's improved unicode support while maintaining compatibility with python 2. We can use six for this. |
Lettuce support Python 3 is done? |
No, I have a branch I was working on, but it's a work in progress. |
@nikolas: may one contribute to your lettuce fork? |
@fkromer here's the branch I'm referring to if you're interested in continuing this work: https://github.com/nikolas/lettuce/tree/python3 Like @danni said, unless you want to take over the entire lettuce project, your effort might be better spent using aloe instead, which is an actively-maintained fork of lettuce. |
@nikolas i am not very experienced at porting from 2.x to 3.x but i would give it a try and contribute. I had a look at six and wondered that it is not using the module 2to3 from the standard library? Unfortunately i am not able to take over the lettuce project. Aloe is interesting but as a wrapper of the nose package ("configured to only run Gherkin tests") which migrates the package lettuce but has "incompatible changes" in comparison to gabrielfalcao/lettuce it violates my taste of design somehow. I prefer package design in a "micro service/extension based package integration" overall context. So i would be interested in contributing to migrate the lettuce related parts from aloe back to lettuce and evolve aloe to a lettuce-plugin for nose :) |
Yeah, both six and future can be useful when writing code compatible for python 2 and 3. Here's a good cheat sheet: http://python-future.org/compatible_idioms.html |
Why pull request with python 3 patch isn't merged? |
Is there any chance to get this Python 3 Support up and running faster? If not does anyone know of any other BDD TDD Cucamber like environment for Python3? |
behave works reasonably well in my experience. Some irritations but that's always the way when coming to a new framework. |
Aloe attempts to pick up where Lettuce leaves off. Uses the official
Gherkin parser.
…On Wed, 4 Jan 2017 at 02:54, geokala ***@***.***> wrote:
behave works reasonably well in my experience. Some irritations but that's
always the way when coming to a new framework.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#458 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAH5wJRA83su9bxNYCE9AWOKGQr_4_zCks5rOm8fgaJpZM4CyqTW>
.
|
Hi all, |
Umm... still an open item. Let me take a stab, and see if it gets anywhere. |
@nikolas Did you get a chance to complete the migration? So far i have encountered some minor problem with mox(glasser/pymox#65 (comment)). |
@gabrielfalcao @Naereen @raeisi @AlexzAK @fkromer @nikolas @rg3915 @hjwp @geokala
TestingPY2All passingPY3UNIT - All PassingFUNCTIONAL - Four test cases which needs to retrospectively fix due to changes in source code line numbers & subtle unicode values hardcoded in the test cases |
@gabrielfalcao @nikolas Any feedback? Wanted to send in a merge request. |
@sgpy I mean.. that looks great. I would love to merge a pull request like this. But the first step toward getting that merged isn't opening it in this repo... rather, moving this repo to a new organization that people other than @gabrielfalcao actually have admin access to, as he seems to have moved on. If you want to make progress here, try and get lettuce into https://jazzband.co/. |
@nikolas agree & i think that is the right way forward. Do you have a lead which i can track at Jazzband? |
Your python3 fork works good for me @sgpy; thanks! |
@chris-piekarski great to hear that. Cheers.... |
@sgpy I would enable GitHub issues on your fork of this library, so issues specific to the new code can be tracked there rather than here. You can do that in the repository's settings. |
@sgpy the process for transferring a project to jazzband is outlined here: https://jazzband.co/about/guidelines I'm not sure how exactly you do the transfer, but I would join their IRC room and ask around there: https://jazzband.co/about/contact |
Lettuce users are encouraged to take a look at Aloe, which grew out of an attempt to port Lettuce to Python 3 and fix up the bugs in the parser. |
@nikolas Awesome. Meanwhile i will try and close open issues (as much as possible) on the main line. Let me know how things progress with JazzBand. @danni Aloe is the most logical step forward for lettuce users. However, i feel confident migrating my codebase to py37, and then moving to Aloe. Happy to contribute towards Aloe codebase too (if required). |
There was a PR for Python 3 support back in the day: #324 |
Well, my team just re-wrote all our lettuce tests in Cypress, so that's one way to move forward here. |
is this error related to python 3 support ? thanks |
Apologies if this is being tracked elsewhere, I did have a look.
First hurdle: currently requirements.txt won't install under python 3. The pinned version of
coverage
andmarkment
seem to be the cause. Unpinning coverage gets you further, but markment seems to require an old version of Flask which won't work under Py3.The text was updated successfully, but these errors were encountered: