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

Migrate to minimum of python3.6 (aka remove python3.5) #838

Merged
merged 8 commits into from
Jan 30, 2021

Conversation

neiljp
Copy link
Collaborator

@neiljp neiljp commented Dec 1, 2020

Status so far:

  • Remove python 3.5 support in installations and CI
  • Upgrade isort & simplify config
  • Migrate from % and .format string formatting to f-strings where reasonable
  • Migrate TypedDicts to class syntax
  • Use inline type annotations

@neiljp neiljp added this to the Release after next milestone Dec 1, 2020
@neiljp neiljp mentioned this pull request Jan 20, 2021
@neiljp neiljp added the high priority should be done as soon as possible label Jan 28, 2021
@neiljp neiljp force-pushed the 2020-11-29-python3.6-minimum branch from 3e6d29b to d21f342 Compare January 29, 2021 22:39
@zulipbot zulipbot added the size: XL [Automatic label added by zulipbot] label Jan 29, 2021
@neiljp neiljp marked this pull request as ready for review January 29, 2021 22:40
Python 3.5 reached end of line in mid September 2020.

This removes:
* testing 3.5 in linting GitHub Action CI (bump isort to run w/3.6)
* labelled python version support in setup.py for 3.5
* pinning of zipp package (was required to support python 3.5)
* hiding a pytest warning for python 3.5 unrelated to zulip-terminal

The noted minimum version in README.md is also updated.
With the removal of support for python 3.5, there is no reason not to
upgrade isort beyond 4.3.21. For now we loosely pin to 5.6.*.

With this change the recursive option becomes the default, so the
linting script and makefile are updated accordingly; the feedback text
is also updated.

This change requires a minor change to setup.py, and extends the isort
coverage to all of tools/, so also updates the formatting of another
script.
Automated by application of fstringify to zulipterminal/
@neiljp neiljp force-pushed the 2020-11-29-python3.6-minimum branch from d21f342 to 763bb7e Compare January 30, 2021 19:28
Many cases found using pyupgrade; others manually, leading to some
unnecessary adjacent .format usage also being removed.

Some string addition also removed.

Standardized on double-quotes where code meaning not changed.
This format is enabled by running with only python 3.6+.

The pyupgrade tool enables some of this work, but needed manual porting
of comments and failed for false-totality TypedDicts.
@neiljp neiljp force-pushed the 2020-11-29-python3.6-minimum branch from 763bb7e to 9db81f0 Compare January 30, 2021 19:47
@neiljp neiljp changed the title [WIP] Migrate to minimum of python3.6 (aka deprecate python3.5) Migrate to minimum of python3.6 (aka remove python3.5) Jan 30, 2021
@neiljp
Copy link
Collaborator Author

neiljp commented Jan 30, 2021

The last planned bullet-point for this PR is now listed separately in #901.

Merging this now.

@neiljp neiljp merged commit 7fdf6b9 into zulip:master Jan 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
high priority should be done as soon as possible size: XL [Automatic label added by zulipbot]
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants