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

sopel: drop support for Python 3.6 and require 3.7+ #2227

Merged
merged 2 commits into from
Jan 20, 2022

Conversation

Exirel
Copy link
Contributor

@Exirel Exirel commented Dec 24, 2021

Description

Tin. Python 3.6 died yesterday. I checked the warning for 3.6, they were written for Sopel 8, so we can either keep 3.6 or drop it now. Either way, this is not a big change, unlike Python 2.

I haven't modified the usage of OrderedDict, because there are slight difference between dict and OrderedDict in particular when considering equality.

I haven't check the "future" import either, hence the "draft" status for now.

Checklist

  • I have read CONTRIBUTING.md
  • I can and do license this contribution under the EFLv2
  • No issues are reported by make qa (runs make quality and make test)
  • I have tested the functionality of the things this change touches

@Exirel Exirel added Low Priority Breaking Change Stuff that probably should be mentioned in a migration guide Housekeeping Code cleanup, removal of deprecated stuff, etc. labels Dec 24, 2021
@Exirel Exirel added this to the 8.0.0 milestone Dec 24, 2021
@dgw dgw changed the title sopel: drop support for Python 3.6 and requires 3.7+ sopel: drop support for Python 3.6 and require 3.7+ Dec 24, 2021
@dgw
Copy link
Member

dgw commented Dec 24, 2021

Might as well take this opportunity to add 3.10 to CI, no?

@Exirel
Copy link
Contributor Author

Exirel commented Dec 26, 2021

Test suite (3.6) Expected — Waiting for status to be reported

I've no idea what I missed here.

@dgw
Copy link
Member

dgw commented Dec 26, 2021

Test suite (3.6) Expected — Waiting for status to be reported

I've no idea what I missed here.

It's because that check is marked as required in the repo settings. Before merging I would just have to update the list of expected checks.

Copy link
Member

@dgw dgw left a comment

Choose a reason for hiding this comment

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

Suggestions from me should be the only changes needed to add Python 3.10 to CI and reflect its "officially supported" status in the package once built.

.github/workflows/ci.yml Show resolved Hide resolved
setup.cfg Show resolved Hide resolved
sopel/bot.py Show resolved Hide resolved
@Exirel Exirel changed the title sopel: drop support for Python 3.6 and require 3.7+ sopel: drop support for Python 3.6, require 3.7+ and add 3.10 Jan 1, 2022
@Exirel
Copy link
Contributor Author

Exirel commented Jan 1, 2022

So Github CI thinks it's "3.1" and not "3.10"... weird.

.github/workflows/ci.yml Outdated Show resolved Hide resolved
@Exirel
Copy link
Contributor Author

Exirel commented Jan 1, 2022

Alright, now we can see that Python 3.10 is not supported by requests yet. See also: https://pyreadiness.org/3.10/

@dgw
Copy link
Member

dgw commented Jan 1, 2022

I see a lot of our transitive requirements in the "not supported" category, too—stuff we don't use directly, but that things we require depend on.

Let's abandon adding 3.10 in this patch and try again after the next requests release. (2.27 is supposed to be the last that will support Python 2.7, too, so that will be time to revisit our 7.x branch.)

@Exirel
Copy link
Contributor Author

Exirel commented Jan 6, 2022

Weird, there is an isup test that fails in all three versions. I'm looking at potential cause, so here is the version installed:

  • requests-2.27.1
  • requests-mock~=1.9.3

I'll test locally to see if I can reproduce or not.

@Exirel
Copy link
Contributor Author

Exirel commented Jan 6, 2022

I can confirm that with requests 2.26 the test pass, not with 2.27. This will need another PR to fix that.

@dgw dgw changed the title sopel: drop support for Python 3.6, require 3.7+ and add 3.10 sopel: drop support for Python 3.6 and require 3.7+ Jan 7, 2022
@Exirel
Copy link
Contributor Author

Exirel commented Jan 8, 2022

Following Python 3.7 documentation, I removed the generator_stop and added the annotation future imports.

@Exirel Exirel marked this pull request as ready for review January 8, 2022 18:01
Copy link
Member

@dgw dgw left a comment

Choose a reason for hiding this comment

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

One nit, for your INI-tweaking pleasure.

setup.cfg Outdated Show resolved Hide resolved
@Exirel
Copy link
Contributor Author

Exirel commented Jan 8, 2022

Yup, fixed it and squashed it. Didn't change anything else.

Copy link
Member

@dgw dgw left a comment

Choose a reason for hiding this comment

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

I guess passing CI is our proof that trailing commas in flake8 config don't matter. 😁

@dgw dgw merged commit b9b827a into sopel-irc:master Jan 20, 2022
@Exirel Exirel deleted the remove-python36 branch February 23, 2022 10:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Breaking Change Stuff that probably should be mentioned in a migration guide Housekeeping Code cleanup, removal of deprecated stuff, etc. Low Priority
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants