#54 Declined
Repository
Deleted repository
Branch
default (78738531bf77)
Repository
CherryPy
Branch
default

#1270: Dropped support for Python 2.3, 2.4 and 2.5.

Author
  1. Gustavo Picón
Reviewers
Description

As discussed in #1270, I removed support for Python 2.3, 2.4 and 2.5. The removal of Python 2.5 support in setuptools/distribute forced my hand ;)

I added a tox.ini support to make it easier to test Cherrypy, perhaps it can be added to the release procedure.

While writing this patch I created public cherrypy jobs in my jenkins server:

I noted that the test suite is BADLY BROKEN with Python3 in cherrypy3 right now. My patches don't make the situation spectacularly worse.

Also: we had a test that was broken in Python 2.6 (and lower) because it was using a unittest assert that was added in 2.7, confirming the fact that nobody bothers testing anything below Python 2.7 :)

Notes on code and style:

My purpose on this patch is to get rid of blocks of code that were needed for compatibility with Python<2.6 (which as you can imagine, was quite a bit of code). Having said that, the codebase is still "old style", and not idiomatic with current Python best practices. It has aged well tho, but after this patch lands, we can begin to modernize cherrypy's codebase (@decorators!, context managers!).

Comments (2)

  1. Joel Rivera

    I wonder if it would be a good to idea to merge this in another branch first, just because of the size of the files that have been touched, OTOH most of the changes are pretty straight forward or docstrigs. Is there any comment on that? if no, then I'm a go with this pull request.

  2. Gustavo Picón author

    Joel,

    The changes are pretty straightforward. I think the difficult decision in this case is how we are going to handle the merge itself: will this be CherryPy 3.3? Or follow semver principles and jump forward to CherryPy 4.0?