Skip to content

Remove support for Python 3.6? #372

Closed

Description

@tomschr

Situation

Python 3.6 has reached its end of life and isn't available for download in https://www.python.org/downloads/ anymore. At the time of writing (Nov 2022), the lowest version is 3.7.

Possible Solution/Idea

Remove support for Python 3.6 for semver3. Alternative would be to remove it in semver3.1.
After we get a clearer picture from the poll below we will act accordingly.

To remove support for Python 3.6, we need to adapt the following files:

  • setup.cfg in classifiers and python_requires
  • .github/workflows/python-testing.yml
  • pyproject.toml
  • tox.ini
  • README.rst
  • CONTRIBUTING.rst
  • Review documentation (examples that point to Python 3.6 needs an update)
  • Is setup.py still needed? Can it be removed? Yes, was only needed for compatibility reasons with Python 3.6.

Additional context


Hi @tlaferriere, any opinion? 🙂

Activity

  1. added
    Release_3.x.yOnly for the major release 3
    EnhancementNot a bug, but increases or improves in value, quality, desirability, or attractiveness
    on Nov 17, 2022
  2. tlaferriere commented on Nov 17, 2022

    @tlaferriere
    Contributor

    I think we should drop support for python 3.6 in the next release.
    Dropping support for python 3.6 does not mean all the previous versions published on PyPI will be removed and unavailable, so the impact for users on python 3.6 will not be felt if they do not upgrade the package indiscriminately. Also to prevent accidental upgrades, I think we can set the minimum python version in the setup.(py|cfg)and that should prevent python 3.6 users from installing it. Usually, users of eol python versions generally do not actively develop their applications, therefore would not want to use new features just for the sake of it.

    Otherwise, I think dropping support for an eol python version on its own would not warrant a major version release for two reasons. First, it is not a public API change, which is what semver compatibility is all about. This would make it a patch release, since it is an implementation change (that may break dependencies of they depended on the"buggy" implementation). Second, there are other mechanisms to preserve compatibility on the python interpreter level in this context.

    For these reasons, limited impact on the community and the fact that it is not a public API change, I think we should not think twice about dropping support for eol python versions, but make sure that users of eol python versions can't upgrade by using the appropriate configuration for our PyPI deployment.

  3. added
    QuestionUnclear or open issue subject for debate
    on Nov 17, 2022
  4. tomschr commented on Nov 17, 2022

    @tomschr
    MemberAuthor

    Thanks Thomas for your opinions. 👍 I had similar thoughts, but you summed it up perfectly.

    I will leave the poll open for some time. If the majority agrees, I'll remove 3.6 and increase the minimum Python version to 3.7.

    Thanks!

  5. self-assigned this
    on Nov 17, 2022
  6. added 3 commits that reference this issue on Dec 18, 2022
    e1cfe0a
    bcc727d
    ae716f0
  7. added 2 commits that reference this issue on Dec 18, 2022
    68df773
    223e027
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

EnhancementNot a bug, but increases or improves in value, quality, desirability, or attractivenessQuestionUnclear or open issue subject for debateRelease_3.x.yOnly for the major release 3

Type

No type

Fields

SIze

None yet

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions