Hi!, Ian! Thank you!

On Mon, Dec 01, 2014 at 08:53:34AM -0600, Ian Cordasco 
<graffatcolmin...@gmail.com> wrote:
> Hey all,
> 
> I see there's been some discussion of late about porting the library
> to support Python 3. I'm a *very occasional* user of SQLObject and
> I've not contributed thus far, but I have some experience porting
> code-bases to support Python 3. The following is the sum of my
> experiences and is by no means absolute fact or the experiences of
> others.
> 
> I'm personally of the opinion that having separate branches for Python
> 2 and Python 3 is a really bad idea. It works for some but it is way
> too much overhead and it always ends up in something getting out of
> sync. The best way forward is to have one codebase that works on
> Python 2 and Python 3.
> 
> First, I've found it far easier to support Python 3 once Python 2.5
> support has been dropped. It is possible to support Python 2.5 (pep8,
> pyflakes, mccabe, and flake8 are all projects which do this) but it is
> tricky. It would be up to the community whether it wants to support
> 2.5 or not and I really don't feel right in telling you to drop
> support for it altogether (although planning that may be a good idea).
> 
> Second, a strategy that Alex Gaynor uses is to run flake8 under python
> 2 and python 3. A quick look at SQLObject's source makes me believe
> this is suboptimal at this point. The code mostly complies with pep8
> but would still have a lot of extraneous output generated by the pep8
> tool that flake8 uses. The reason for using flake8 is that pyflakes
> (which flake8 uses) compiles the code using the AST and when
> compilation fails, it tells you for which file(s) it failed and where.
> This will help us simply make the code *run* on Python 3.
> 
> Third, setting up a continuous integration system (like Travis CI) to
> run the tests after every push and whenever someone submits a pull
> request. The CI system can do the following:
> 
> - Run the tests on a specified version of Python (usually limited to
> things like 2.6, 2.7, 3.2, 3.3, 3.4, pypy, etc. and not allowing for
> granularity like 2.6.8 and 2.6.9)
> - Run pyflakes (or flake8) on specified versions of Python
> - Generating docs and ensuring they build properly
> - Other goodies
> 
> This helps us catch regressions in Python 3 support or Python 2 support.
> 
> Fourth, using a library like six to help cover some common import or
> string related problems in supporting Python 2 and 3 in a single
> codebase.
> 
> ~~
> 
> This is of course all predicated on the assumption that sqlobject's
> dependencies support Python 3 as well, but I haven't looked into all
> of them. It also is predicated on sqlobject wanting to wait (or not
> wait) for those dependencies before adding support.
> 
> I've sent this email to see if I'm the only one interested in helping
> with the "port". I definitely don't have the time to do this all by
> myself and having about 4 or more people to help would be amazing.
> 
> Personally, I prefer working on GitHub if possible and I know the
> repository is already there. I would be happy to help coordinate and
> review pull requests there if people can help with this.

   What's your Github login? I'll add you to the team.

> I'd love to hear everyone's feedback.
> 
> Thanks,
> Ian

Oleg.
-- 
     Oleg Broytman            http://phdru.name/            p...@phdru.name
           Programmers don't die, they just GOSUB without RETURN.

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
sqlobject-discuss mailing list
sqlobject-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss

Reply via email to