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

chore: remove support for python 3.9 #870

Merged
merged 10 commits into from
Oct 10, 2024

Conversation

felixscherz
Copy link
Contributor

Description

Hi, this is removing support for python 3.9 and updates the python syntax accordingly. Intended to resolve #818.

Development notes

  • removed typing.Union in favor of | operator
  • removed typing.Callable in favor of collections.abc.Callable
  • removed python 3.9 from unit test matrix in CI

Checklist

  • Opened this PR as a 'Draft Pull Request' if it is work-in-progress
  • Updated the documentation to reflect the code changes
  • Added a description of this change in the relevant RELEASE.md file
  • Added tests to cover my changes

@felixscherz felixscherz changed the title Remove support for python 3.9 chore: remove support for python 3.9 Oct 7, 2024
@felixscherz felixscherz force-pushed the chore/remove-python-3.9 branch 3 times, most recently from 91d80bd to be9da47 Compare October 7, 2024 20:18
@deepyaman
Copy link
Member

I think can also simplify https://github.com/felixscherz/kedro-plugins/blob/chore/remove-python-3.9/kedro-datasets/pyproject.toml#L230-L231; not sure if there are other such places.

On a separate note (and this is in no way a reflection on this PR, which resolves the issue very well), I've started thinking more about #695, especially

Is it necessary to drop 3.9 support when it's compatible and not causing any issue?

While I was a big proponent of NEP-29, some experience on another project makes me wonder if we should hold off a bit, especially given almost nothing of value is gained through these changes (the typing changes are nice, but don't have any real impact...). I wouldn't be opposed to holding off a major version, unless somebody can point to more bad things we're doing right now to support 3.9.

@felixscherz
Copy link
Contributor Author

Thanks for having a look, good catch with the environment markers! I'll remove the one you referenced which seems to be the only one that deals with python 3.9.
I would agree with you that removing support is not actually necessary as long as there are no major workarounds required and python 3.9 is still officially supported.

Copy link
Member

@merelcht merelcht left a comment

Choose a reason for hiding this comment

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

Thanks for the contribution @felixscherz ! I'm still in favour of adhering to NEP-29, which is what we agreed on recently in backlog grooming as well.

@astrojuanlu I'm guessing you also still want to go ahead with this?

kedro-datasets/RELEASE.md Show resolved Hide resolved
@merelcht merelcht requested a review from astrojuanlu October 8, 2024 10:35
Copy link
Member

@astrojuanlu astrojuanlu left a comment

Choose a reason for hiding this comment

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

Agreed to continue adhering to NEP 29 indeed! Thanks @felixscherz for this PR 🙌🏼

Approving to signal my acceptance although naturally the CI will need to be green

@felixscherz
Copy link
Contributor Author

felixscherz commented Oct 8, 2024

Thanks for the review! I'm having a look at the CI failures, it seems like they are failing on the main branch as well.

EDIT: Seems like this is related to kedro itself removing support for python 3.8 kedro-org/kedro#4212.
Some of the CI jobs are installing kedro from HEAD: https://github.com/kedro-org/kedro-plugins/actions/runs/11235726053/job/31234293125?pr=870#step:8:3

@kevin1kevin1k
Copy link

@felixscherz Hey I am the author of kedro-org/kedro#4212.
I noticed that under .github/workflows you modified kedro-datasets.yml.
According to the error patterns I guess the CI errors will be gone after modifying kedro-{airflow, docker, telemetry}.yml as well.

@felixscherz
Copy link
Contributor Author

@kevin1kevin1k thank you! I opened an issue to deal with the removal of python 3.8: #872, we need to remove it from github actions but also make updates to the python syntax and update the pyrpoject.toml files, I'm working on those PRs at the moment:)

@ankatiyar ankatiyar merged commit 62a5808 into kedro-org:main Oct 10, 2024
43 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Drop Python 3.9 on kedro-datasets
6 participants