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.7 #997

Merged
merged 2 commits into from
Jul 8, 2024
Merged

Drop support for Python 3.7 #997

merged 2 commits into from
Jul 8, 2024

Conversation

sirosen
Copy link
Member

@sirosen sirosen commented Jul 8, 2024

There are two commits here.
The first is the "core" change, with minimal edits to the codebase. The second is an attempt to resolve a "TODO" left over from pre-3.7 requirements (and from before our use of typing-extensions, I believe).

  • Remove support for Python 3.7
  • Update JSON Token Storage to use TypedDict

The use of TypedDict requires a little bit more verbosity, and could be refactored in a number of ways, but eliminates the need for a cast or type ignore.
That said, if it's controversial, I'd add a revert commit which switches to a type ignore comment and removes the TypedDict usage.


📚 Documentation preview 📚: https://globus-sdk-python--997.org.readthedocs.build/en/997/

sirosen added 2 commits July 8, 2024 10:47
- Update tox builds to not list 3.7
- Update the "mindeps" tox build from 3.7 to 3.8 (both the test run
  and the `freezedeps` factor for "mindeps")
- Remove a special constraint on `pip` version in the `freezedeps`
  build for 3.7-only
- Update the minimum python version in package data to 3.8 and
  remove the 3.7 classifier
- Update CI builds to de-list 3.7 and use 3.8 for the "mindeps" build
- Remove some 3.6 and 3.7 compatibility code from the testsuite
- Run `tox r -m freezedeps` to re-freeze all dependencies
- Apply TypedDict to both the mainline and experimental variants to
  declare the expected/required fields for valid data more explicitly
- Expand the error checking in both of these variants to match the
  data loaded against the declared TypedDict invariants

This changeset was blocked on the removal of py3.7 and is noted in
existing comments as requiring 3.8+ . 3.8 adds TypedDict, but it is
not clear why `typing_extensions` was not used to provide it. Perhaps
the original comment predates our inclusion of `typing_extensions` in
globus-sdk dependencies.

The changeset could either be considered an addition, an enhancement,
or a bugfix. It is therefore qualified under the most generic
changelog category of "change".
@sirosen sirosen merged commit 95761d9 into globus:main Jul 8, 2024
16 checks passed
@sirosen sirosen deleted the drop-py37 branch July 8, 2024 18:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants