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

Deprecate python 3.8 support. #902

Merged
merged 26 commits into from
Jan 3, 2025

Conversation

bpkroth
Copy link
Contributor

@bpkroth bpkroth commented Dec 31, 2024

Pull Request

Title

Deprecates Python 3.8 support


Description

Per https://endoflife.date/python, 3.8 is no longer supported.

This PR drops Python 3.8 from the CI pipeline and changes a few small places in the code where we have to check for the python version, but otherwise leaves the rest of the pylint and syntax changes for a future PR.

To manage that, we also prepare the use of pyupgrade as a formatter, though may convert all formatting checks to use pre-commit hooks instead in the future in order to reduce some of the Makefile complexity.


Type of Change

  • ✨ Dropped feature
  • ⚠️ Breaking change
  • 🔄 Refactor

Testing

This is a small change for now, without rewrites, to keep testing easier.
So usual CI should suffice.


Additional Notes (optional)

  • Python 3.9 will be supported for another 10 months. We could also consider to drop support for it early as well and reduce another round of large codebase rewrites. On the other hand, it might be simple to do later with the introduction of pyupgrade anyways.

@motus motus merged commit a6b716f into microsoft:main Jan 3, 2025
16 checks passed
motus added a commit that referenced this pull request Jan 3, 2025
# Pull Request

## Title

Deprecates Python 3.9 support

---

## Description

Per https://endoflife.date/python, 3.8 is no longer supported.

This PR drops Python 3.8 from the CI pipeline and changes a few small
places in the code where we have to check for the python version, but
otherwise leaves the rest of the pylint and syntax changes for a future
PR.

To manage that, we also prepare the use of `pyupgrade` as a formatter,
though may convert all formatting checks to use `pre-commit` hooks
instead in the future in order to reduce some of the `Makefile`
complexity.

- See Also: #749 

---

## Type of Change

- ✨ Dropped feature
- ⚠️ Breaking change
- 🔄 Refactor

---

## Testing

This is a small change for now, without rewrites, to keep testing
easier.
So usual CI should suffice.

---

## Additional Notes (optional)

- A variation on #902 
- Python 3.9 will be supported for another 10 months. We can also
consider to drop support for it early as well and reduce another round
of large codebase rewrites. On the other hand, it might be simple to do
later with the introduction of pyupgrade anyways.

---

---------

Co-authored-by: Sergiy Matusevych <[email protected]>
bpkroth added a commit that referenced this pull request Jan 3, 2025
# Pull Request

## Title

Reworks build to use pre-commit for format and lint checks.

---

## Description

As mentioned in #902 and #903, this refactors the build system to use
[`pre-commit`](https://pre-commit.com) for the following reasons:

- less complicated Makefile rules
- pinned linter versions that can be checked with dependabot more
explicitly for easier maintenance

- See Also: #749 

---

## Type of Change

- ✨ New feature
- 🔄 Refactor
- 📝 Documentation update
- 🧪 Tests

---

## Testing

Manually locally and usual CI tests.

---

## Additional Notes (optional)

This builds off of #903 and is prep work to change the syntax of the
codebase using `pyupgrade`.

---
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