Skip to content
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

Drop support for Python 2.6 #246

Merged
merged 1 commit into from
Nov 8, 2017
Merged

Drop support for Python 2.6 #246

merged 1 commit into from
Nov 8, 2017

Conversation

jdufresne
Copy link
Contributor

@jdufresne jdufresne commented Oct 22, 2017

I would humbly like to suggest icalendar drop support for Python 2.6.

The last release of Python 2.6 was 2013-10-29, almost 4 years ago. It is no longer receiving security or bug fixes.

https://www.python.org/dev/peps/pep-0361/

The pip project itself has recently dropped support for 2.6. At the beginning of the year, their numbers estimated that Python 2.6 accounts for ~2% of their downloads.

pypa/pip#4343

For projects that still use Python 2.6, they can continue to pip install an older version.

I've tried my best to remove as much 2.6 specific code as I can, including the 'Programming Language :: Python :: 2.6' trove classifier from setup.py. I've also removed Travis CI testing, which should result
in slightly faster testing and fewer wasted resources.

Changed:

  • Update trove classifiers, Travis test matrix, and tox test matrix
  • Use set literals
  • Use dict comprehension
  • Remove dependencies on ordereddict and unittest2
  • Remove u string prefix, use more modern unicode literals instead

@untitaker
Copy link
Contributor

@thet @regebro Any opinions?

@jdufresne
Copy link
Contributor Author

Looks like I introduced some Travis failures. I'll need to investigate those before this is merge ready.

@jdufresne
Copy link
Contributor Author

All tests now pass.

@hugovk
Copy link

hugovk commented Oct 27, 2017

Here's the pip installs for icalendar from PyPI for the last month:

$ pypinfo --percent --pip icalendar pyversion
python_version percent download_count
-------------- ------- --------------
2.7              73.5%         28,310
3.4               9.2%          3,528
3.6               8.7%          3,351
3.5               8.4%          3,246
3.7               0.2%             59
3.3               0.1%             28
2.6               0.0%             15
3.2               0.0%              3
None              0.0%              2

You could also consider dropping 3.3, which went EOL last month and like 2.6 also has low numbers.

And here's pip installs across PyPI showing 2.6 is now more like ~1% than ~2%.

$ pypinfo --percent --pip "" pyversion
python_version percent download_count
-------------- ------- --------------
2.7              77.0%    495,806,602
3.6               9.6%     61,584,928
3.5               7.9%     50,588,704
3.4               4.1%     26,641,353
2.6               1.2%      7,944,652
3.3               0.1%        761,138
3.7               0.1%        392,332
3.2               0.0%         50,760
None              0.0%         21,424
2.8               0.0%            206
3.1               0.0%            144

@jdufresne
Copy link
Contributor Author

I'm happy to also drop support for Python 3.3 if it is agreeable with the project maintainers. @untitaker what do you think?

@untitaker
Copy link
Contributor

untitaker commented Oct 27, 2017 via email

@thet
Copy link
Member

thet commented Nov 7, 2017

@untitaker @jdufresne @hugovk
+1 for dropping 2.6 and 3.3 support.

Doing would normally include a major version increase - which implies adapting the semantic versioning scheme. But that's another discussion.

I would humbly like to suggest icalendar drop support for Python 2.6.

The last release of Python 2.6 was 2013-10-29. It is no longer receiving
security or bug fixes.

https://www.python.org/dev/peps/pep-0361/

The pip project itself has decided to drop support for 2.6. At the
beginning of the year, their numbers estimated that Python 2.6 accounts
for ~2% of their downloads.

pypa/pip#4343

For projects that still use Python 2.6, they can continue to pip install
an older version.

I've tried my best to remove as much 2.6 specific code as I can,
including the 'Programming Language :: Python :: 2.6' trove classifier
from setup.py. I've also removed Travis CI testing, which should result
in slightly faster testing and fewer wasted resources.

Changed:

* Update documented Python support and trove classifiers
* Update Travis test matrix and tox test matrix
* Use set literals (and more literals in general)
* Use dict comprehension
* Remove dependencies on ordereddict and unittest2
* Remove u string prefix, use more modern unicode literals instead
@jdufresne
Copy link
Contributor Author

Thanks. Done! I've removed 3.3 support in the latest revision. All additional feedback is welcome.

@thet
Copy link
Member

thet commented Nov 8, 2017

LGTM, also a good amound of nice code cleanups.
Tests pass, I'll merge.

@jdufresne great, thanks!

@thet thet merged commit 2003b29 into collective:master Nov 8, 2017
@thet
Copy link
Member

thet commented Nov 8, 2017

Also, I'll bump the version to 4.0 I guess.

@polyzen
Copy link
Contributor

polyzen commented Nov 8, 2017

May want to consider quoting the versions in .travis.yml again in the future: travis-ci/docs-travis-ci-com#1537 (comment)

@jdufresne
Copy link
Contributor Author

Interesting. Thanks for that link. I wasn't aware of that gotcha.

@hugovk
Copy link

hugovk commented Nov 8, 2017

Good to know, at least we're some time away from Python 3.10 :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants