Page MenuHomePhabricator

Raise Quibble minium python requirement from 3.7 to 3.9
Closed, ResolvedPublic

Description

Now that CI has dropped Buster/php7.4 images (T335766): Quibble can drop support for Python 3.7 (shipped by Buster) and even 3.8. We should raise it to 3.9 and update the code.

For examples:

  • universal_newlines=True which can be replaced by text=True (edit: this was made possible with Python 3.7)
HAS_IMPORTLIB_RESOURCES_AS_FILE = bool(sys.version_info >= (3, 9))

if HAS_IMPORTLIB_RESOURCES_AS_FILE:
    import importlib.resources
else:
    # Python 3.7 deprecated pkg_resources but importlib.resources.as_file got
    # introduced in 3.9. We mute the warning until we require Python 3.9.
    import warnings

    warnings.filterwarnings( 
        'ignore', 
        category=DeprecationWarning,
        message='pkg_resources is deprecated as an API',
    )
    import pkg_resources

Event Timeline

hashar updated the task description. (Show Details)

Change #1162831 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/quibble@master] build: raise required python from 3.7 to 3.9

https://gerrit.wikimedia.org/r/1162831

Change #1162833 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/config@master] dockerfiles: add tox-v4 image

https://gerrit.wikimedia.org/r/1162833

Change #1162833 merged by jenkins-bot:

[integration/config@master] dockerfiles: add tox-v4 image

https://gerrit.wikimedia.org/r/1162833

Change #1162837 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/config@master] jjb: switch integration/quibble to python-all based image

https://gerrit.wikimedia.org/r/1162837

Change #1162841 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/config@master] dockerfiles: add tox-jenkins-override to tox-v4 image

https://gerrit.wikimedia.org/r/1162841

Change #1162841 merged by jenkins-bot:

[integration/config@master] dockerfiles: add tox-jenkins-override to tox-v4 image

https://gerrit.wikimedia.org/r/1162841

Change #1162837 merged by jenkins-bot:

[integration/config@master] jjb: switch integration/quibble to python-all based image

https://gerrit.wikimedia.org/r/1162837

Change #1162831 merged by Hashar:

[integration/quibble@master] build: raise required python from 3.7 to 3.9

https://gerrit.wikimedia.org/r/1162831

Change #1162903 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/quibble@master] Revert "Add support for importlib.resources for pkg_resources deprecation"

https://gerrit.wikimedia.org/r/1162903

Change #1162903 merged by jenkins-bot:

[integration/quibble@master] Revert "Add support for importlib.resources for pkg_resources deprecation"

https://gerrit.wikimedia.org/r/1162903

I have completed all the steps I had in mind. Quibble now requires Python 3.9.