On Mon, Dec 1, 2014 at 2:47 PM, Oleg Broytman <p...@phdru.name> wrote:
> Hi!, Ian! Thank you!
>

You're welcome! I derive immense joy from seeing awesome projects make
the leap, so I'm really happy to see people enthusiastic about this.

> 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.

sigmavirus24

>
>> 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

------------------------------------------------------------------------------
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