Limit libraries to versions that only support Python >=3.7, add support for Python 3.11#76
Limit libraries to versions that only support Python >=3.7, add support for Python 3.11#76grahamalama merged 17 commits intomainfrom
Conversation
Codecov Report
@@ Coverage Diff @@
## main #76 +/- ##
==========================================
- Coverage 97.81% 97.80% -0.02%
==========================================
Files 18 18
Lines 596 591 -5
Branches 98 85 -13
==========================================
- Hits 583 578 -5
Misses 9 9
Partials 4 4
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
|
@jwhitlock @relud, tagged y'all for review since you seemed to be here last. I'm still working on making changes to documentation, but I figured I'd tag you now to see if there was anything major I needed to fix. |
Also, alphabetize
|
why aren't we dropping support for python 3.7 anymore? didn't it hit EoL yesterday? This doesn't seem right. As an intermediate library normally I would expect to drop support for a library version in these cases:
so for sanic, version 20.X works up to python 3.9 (which isn't EoL until 2025-10), is one of 3 major versions we support, but per sanic's security policy¹ version 20.12 reached EoL in 2022-12 and that's why we should drop support for sanic<21.12. ¹ https://github.com/sanic-org/sanic/blob/main/SECURITY.md
For flask, there is no EoL policy and version 0.12 works up to at least python 3.10. the 3 latest releases we support are 2.0, 2.1, and 2.2, so it might make sense to drop support for flask<2.0, but I don't see a reason to drop support for 2.0 |
There was a problem hiding this comment.
Thanks @grahamalama! The Django changes look correct. The Sanic and Flask ones look sane as well, however I don't claim to know those frameworks as well, so I'm relying on the passing tests for a 👍.
I think we could add Django 4.2 to the matrix as well, but my local tests show pytest tests/core/ tests/django --nomigrations fails with pytest: error: unrecognized arguments: --nomigrations, so some more special casing will be needed. I'd like to get Django 4.2 into the next release though.
Update: I had an error in tox.ini. If I install -rtests/requirements/django.txt, Django 4.2 is happy as well. I can write a follow-on PR to add Django 4.2.
| - Jannis Leidel (@jezdez) | ||
| - Les Orchard (@lmorchard) | ||
| - Mathieu Leplatre (@leplatrem) | ||
| - Les Orchard (@lmorchard) |
@relud I considered this, but I noticed that Django 3.2 (which doesn't hit EoL until April of next year) still supports 3.7. To your point about 3.7 hitting EoL recently, I figured we could maybe throw in some deprecation warnings (if we want) about dropping support for Python 3.7, then do so in April of next year when Django 3.2 hits its EoL.
Good point -- I'll add Flask 2.0 back 👍🏻 |
- Make error imports cleaner - Remove unused fake implementation
| @@ -0,0 +1 @@ | |||
| Django>=4.2,<4.3 | |||
In this PR, we:
>=2.0,<2.3>=21,<23