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 3.4; add support for 3.8. #23

Merged
merged 7 commits into from Mar 27, 2020
Merged

Conversation

icemac
Copy link
Member

@icemac icemac commented Mar 20, 2020

No description provided.

@jamadden
Copy link
Member

Please don't drop support for Python 2 just yet.

@icemac
Copy link
Member Author

icemac commented Mar 20, 2020

@jamadden Is this package really used outside Zope 4?
Zope 5 is going to drop Python 2 support, if this package is not used outside I see no need to keep supporting Python 2. Zope 4 can use the previous version which still supports Python 2 if needed to run on Python 2.

@jamadden
Copy link
Member

Yes this package is used outside Zope 4. ExtensionClass is used by Acquisition, and Acquisition is usedful and used in other contexts, including generic Zope 3 applications.

@icemac
Copy link
Member Author

icemac commented Mar 23, 2020

@jamadden What's your suggested schedule to remove Python 2 support in Zopefoundation packages?

@jamadden
Copy link
Member

What's your suggested schedule to remove Python 2 support in Zopefoundation packages?

Basically, when it becomes otherwise completely untenable due to overall ecosystem changes. That's probably anywhere from six months to a year or two? It might depend on the project.

Most of these packages are core foundation packages that aren't going to see, at this point, a tremendous benefit from dropping Python 2 (especially as they'll continue to support Python 3.5). So I feel that they shouldn't be the forcing function; rather, they should continue to tick along quietly as they have been so that as people eventually find their own other forcing functions, they can make the switch in their own time, knowing that the core foundation packages that they've been using are both current and compatible and won't surprise them.

That is, if you've been running pip install -U … but have a bunch of dependencies that have python_requires=">2.7" and so never get upgraded, running the same on Python 3 shouldn't pull in a bunch of these low-level dependencies that have drifted from what you've been using in incompatible ways that are hard to diagnose. Lets help people keep everything as up-to-date as they can while they continue their own migrations. Make the flag day as painless as possible.

Let the "leaf" dependencies, the single-purpose libraries, the things that aren't deeply integrated into the core architecture of systems go first. Most zopefoundation projects should be the last things to drop support.

@icemac icemac changed the title Drop support for Python 2 and 3.4; add support for 3.8. Drop support for Python 3.4; add support for 3.8. Mar 24, 2020
@icemac
Copy link
Member Author

icemac commented Mar 24, 2020

@jamadden I got your point. So let's postpone dropping Python 2 support for non-leaf libraries a some months. I updated this PR accordingly.

Copy link
Member

@jamadden jamadden left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

.travis.yml Outdated Show resolved Hide resolved
tox.ini Outdated Show resolved Hide resolved
@icemac icemac merged commit f93a575 into master Mar 27, 2020
@icemac icemac deleted the drop-py2 branch March 27, 2020 15:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants