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 Python 3.6 support (for running Black only) #3169

Closed
7 tasks
ichard26 opened this issue Jul 14, 2022 · 3 comments
Closed
7 tasks

Drop Python 3.6 support (for running Black only) #3169

ichard26 opened this issue Jul 14, 2022 · 3 comments
Assignees
Labels
C: cleanup Refactoring and removing dust :) C: maintenance Related to project maintenance, e.g. CI, testing, policy changes, releases

Comments

@ichard26
Copy link
Collaborator

ichard26 commented Jul 14, 2022

The current consensus is to remove Python 3.6 support for running Black as part of 22.9.0 (or 22.10.0, not sure when the next release after 22.8.0 is happening) (September/October 2022). Here's what needs to be done:

  • Clean-up our asyncio code with the QOL features added in 3.7 (cc @graingert and @zsol when 2023 is closer)
  • Remove Python 3.6 from CI and CD (i.e. mypyc wheel build automation)
  • Remove Python 3.6 from setup.py (metadata, etc.)
    • Remove the dataclasses backport dependency since 3.7+ always has it
    • Update the assert sys.version_info >= (3, 6, 2), "black requires Python 3.6.2+" check
  • Maybe try running pyupgrade --py37-plus ...?
  • Maybe remove the "patch click to not die on LANG=C" code ...? I can't remember whether we can do once 3.6 or 3.7 is dropped.

P.S. co-maintainers, please edit this issue if you remember some other thing we need to do. My memory is hazy.

@ichard26 ichard26 added C: cleanup Refactoring and removing dust :) C: maintenance Related to project maintenance, e.g. CI, testing, policy changes, releases labels Jul 14, 2022
@ichard26 ichard26 added this to the Release 22.3.1 milestone Jul 14, 2022
@ichard26 ichard26 self-assigned this Aug 21, 2022
@ichard26
Copy link
Collaborator Author

Update, the next release after 22.8.0 (#3163) will drop 3.6 support (for running Black only). It's undecided whether the next release will happen in September or October, so the milestone mayyy be a month early.

We decided that keeping 3.6 support after it's been EOLed for a while doesn't really make sense anymore since folks still using 3.6 can probably upgrade to 3.7 (having not already because "it just works", it being their CI systems or whatever) or are using a rather old version of Black (like the ever-popular 21.8b1 🤨).

We really want to switch to Hatch (from setuptools) and dropping 3.6 support is prerequisite to that.

@ichard26 ichard26 pinned this issue Aug 21, 2022
@ichard26 ichard26 changed the title Drop Python 3.6 support (for running Black only, presumably?) Drop Python 3.6 support (for running Black only) Aug 31, 2022
@ddelange
Copy link

ddelange commented Nov 4, 2022

fwiw starting from black 22.10.0, installing from source (in my case the pre-commit hook) is already not supported anymore on py3.6, due to hatchling>=1 being py3.7+:

ERROR: Could not find a version that satisfies the requirement hatchling>=1.8.0 (from versions: 0.8.0, 0.8.1, 0.8.2, 0.9.0, 0.10.0, 0.11.0, 0.11.1, 0.11.2, 0.11.3, 0.12.0, 0.13.0, 0.14.0, 0.15.0, 0.16.0, 0.17.0, 0.18.0, 0.19.0, 0.20.0, 0.20.1, 0.21.0, 0.21.1, 0.22.0, 0.23.0, 0.24.0, 0.25.0, 0.25.1)
ERROR: No matching distribution found for hatchling>=1.8.0

ddelange added a commit to ddelange/mapply that referenced this issue Nov 4, 2022
@ichard26
Copy link
Collaborator Author

ichard26 commented Nov 4, 2022

That's... intentional? 22.10.0 doesn't support Python 3.6 at all as planned. It is confusing to keep this issue open though, so I'll close it.

@ichard26 ichard26 closed this as completed Nov 4, 2022
ddelange added a commit to ddelange/mapply that referenced this issue Nov 4, 2022
* ⚡ Avoid bottleneck from frequent tqdm updates

* 🚨 Make lint

* 📌 Revert black to 22.8.0

psf/black#3169 (comment)

* 📌 Revert flake8-builtins to 2.0.0

* 📌 Revert flake8-comprehensions to 3.7

* 📌 Revert flake8-print to 4.0

* 📌 Revert pep8-naming to 0.13.1

* 📌 Revert flake8 to 4.0.1

* 📌 Revert pre-commit-hooks to 4.1.0
@ichard26 ichard26 unpinned this issue Dec 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: cleanup Refactoring and removing dust :) C: maintenance Related to project maintenance, e.g. CI, testing, policy changes, releases
Projects
None yet
Development

No branches or pull requests

2 participants