8000 Drop support for Python 3.6 by latk · Pull Request #550 · gcovr/gcovr · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Drop support for Python 3.6 #550

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

Merged
merged 1 commit into from
Jan 7, 2022
Merged

Drop support for Python 3.6 #550

merged 1 commit into from
Jan 7, 2022

Conversation

latk
Copy link
Member
@latk latk commented Jan 7, 2022

Python 3.6 was EOL'ed on 23 Dec 2021. In line with gcovr's support policy for Python versions, this pull request removes support for Python 3.6.

References: PEP 494 (Python 3.6 Release Schedule), endoflife.date/python

This has no strong immediate benefits, but will allow us to use more modern Python features in the future. Highlight features of Python 3.7 include:

  • dataclasses to easily define struct-like classes. Could simplify a lot of places where we currently pass around tuples!
  • from __future__ import annotations for easier type annotations
  • guaranteed dict insertion order preservation
  • significant improvements to asyncio. Could allow us to replace the multithreading approach for running concurrent gcov processes.

Following this PR, I plan to submit patches that introduce more type checking, with the eventual goal of enabling mypy as a linter. While using a type checker sometimes requires writing the code a bit differently, it is my experience that this can detect some bugs up front – a good counterpart to our test suite. It is also my hope that such type annotations will make other refactorings safer, make it easier to navigate the codebase, and help other people contribute more easily.

@latk latk force-pushed the drop-python-3.6 branch from f4e0c42 to e7a6ac8 Compare January 7, 2022 14:06
@latk latk added this to the 5.1 milestone Jan 7, 2022
@codecov
Copy link
codecov bot commented Jan 7, 2022

Codecov Report

Merging #550 (e7a6ac8) into master (dd1c68d) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #550   +/-   ##
=======================================
  Coverage   96.10%   96.10%           
=======================================
  Files          22       22           
  Lines        2975     2975           
  Branches      558      558           
=======================================
  Hits         2859     2859           
  Misses         51       51           
  Partials       65       65           
Flag Coverage Δ
ubuntu-18.04 95.12% <ø> (ø)
windows-2019 95.76% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.


Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update dd1c68d...e7a6ac8. Read the comment docs.

Copy link
Member
@Spacetown Spacetown left a comment

Choose a reason for hiding this comment

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

LGFM.

@Spacetown
Copy link
Member

Should this be part of the 5.1?

@latk latk added dependencies Pull requests that update a dependency file QA related to testing, build infrastructure, etc Type: Enhancement labels Jan 7, 2022
@latk
Copy link
Member Author
latk commented Jan 7, 2022

We could hold off from this change until 5.1 is released so that 5.1 would be the final gcovr version with Python 3.6 support.

But I see no advantage from that since Python 3.6 is end-of-life. So I'd merge it now if that is fine with you.

@Spacetown
Copy link
Member

Please merge it back.

@latk latk merged commit a08d517 into gcovr:master Jan 7, 2022
@latk latk deleted the drop-python-3.6 branch January 7, 2022 19:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file QA related to testing, build infrastructure, etc Type: Enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0