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

[MAINTENANCE] Remove Python 3.8 Support (EOL) #10441

Merged
merged 41 commits into from
Oct 3, 2024
Merged

Conversation

Kilo59
Copy link
Contributor

@Kilo59 Kilo59 commented Sep 30, 2024

As of October 2024 Python 3.8 has reached End of Life.

https://devguide.python.org/versions/
https://endoflife.date/python

This PR removes Python 3.8 as a supported version and removes all CI related checks for it.
Going forward Python 3.9 is the minimum supported version of Python.

NOTE: Netlify still only supports 3.8 (and 2.7 lol), so its config is still set to 3.8. Sorry.

@Kilo59 Kilo59 marked this pull request as draft September 30, 2024 13:50
Copy link

netlify bot commented Sep 30, 2024

Deploy Preview for niobium-lead-7998 canceled.

Name Link
🔨 Latest commit 800a308
🔍 Latest deploy log https://app.netlify.com/sites/niobium-lead-7998/deploys/66fed48dff999d0008f44290

@Kilo59 Kilo59 self-assigned this Sep 30, 2024
@Kilo59 Kilo59 force-pushed the m/_/p38_eol branch 2 times, most recently from ee718ea to 264436f Compare September 30, 2024 15:15
@Kilo59 Kilo59 changed the title [MAINTENANCE] Python 3.8 EOL [MAINTENANCE] Remove Python 3.8 Support (EOL) Sep 30, 2024
Copy link

codecov bot commented Sep 30, 2024

Codecov Report

Attention: Patch coverage is 66.66667% with 2 lines in your changes missing coverage. Please review.

Project coverage is 80.09%. Comparing base (34ae0b1) to head (800a308).
Report is 15 commits behind head on develop.

✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
...at_expectations/compatibility/typing_extensions.py 0.00% 2 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop   #10441      +/-   ##
===========================================
+ Coverage    79.99%   80.09%   +0.09%     
===========================================
  Files          460      461       +1     
  Lines        40007    39990      -17     
===========================================
+ Hits         32005    32028      +23     
+ Misses        8002     7962      -40     
Flag Coverage Δ
3.10 67.72% <66.66%> (+0.10%) ⬆️
3.10 athena or clickhouse or openpyxl or pyarrow or project or sqlite or aws_creds ?
3.10 aws_deps ?
3.10 big ?
3.10 filesystem ?
3.10 mssql ?
3.10 mysql ?
3.10 postgresql ?
3.10 spark_connect ?
3.10 trino ?
3.11 67.70% <66.66%> (+0.10%) ⬆️
3.11 athena or clickhouse or openpyxl or pyarrow or project or sqlite or aws_creds ?
3.11 aws_deps ?
3.11 big ?
3.11 filesystem ?
3.11 mssql ?
3.11 mysql ?
3.11 postgresql ?
3.11 spark_connect ?
3.11 trino ?
3.12 66.34% <66.66%> (+0.10%) ⬆️
3.12 aws_deps 45.94% <50.00%> (+0.01%) ⬆️
3.12 big 54.58% <50.00%> (+0.03%) ⬆️
3.12 filesystem 61.52% <50.00%> (+0.19%) ⬆️
3.12 mssql 50.05% <50.00%> (+0.03%) ⬆️
3.12 mysql 50.11% <50.00%> (+0.03%) ⬆️
3.12 postgresql 54.41% <50.00%> (+0.07%) ⬆️
3.12 spark 57.90% <50.00%> (+0.06%) ⬆️
3.12 spark_connect 46.25% <50.00%> (+0.01%) ⬆️
3.12 trino 52.51% <50.00%> (+0.05%) ⬆️
3.8 ?
3.8 athena or clickhouse or openpyxl or pyarrow or project or sqlite or aws_creds ?
3.8 aws_deps ?
3.8 big ?
3.8 databricks ?
3.8 filesystem ?
3.8 mssql ?
3.8 mysql ?
3.8 postgresql ?
3.8 snowflake ?
3.8 spark ?
3.8 spark_connect ?
3.8 trino ?
3.9 67.76% <66.66%> (+0.11%) ⬆️
3.9 athena or clickhouse or openpyxl or pyarrow or project or sqlite or aws_creds 55.22% <50.00%> (+0.09%) ⬆️
3.9 aws_deps 45.96% <50.00%> (+0.02%) ⬆️
3.9 big 54.59% <50.00%> (+0.04%) ⬆️
3.9 databricks 47.72% <50.00%> (?)
3.9 filesystem 61.53% <50.00%> (+0.20%) ⬆️
3.9 mssql 50.03% <50.00%> (+0.04%) ⬆️
3.9 mysql 50.09% <50.00%> (+0.04%) ⬆️
3.9 postgresql 54.40% <50.00%> (+0.08%) ⬆️
3.9 snowflake 48.57% <50.00%> (?)
3.9 spark 57.86% <50.00%> (?)
3.9 spark_connect 46.26% <50.00%> (+0.03%) ⬆️
3.9 trino 52.49% <50.00%> (?)
cloud 0.00% <0.00%> (ø)
docs-basic 52.58% <50.00%> (+0.04%) ⬆️
docs-creds-needed 52.81% <50.00%> (+0.04%) ⬆️
docs-spark 52.23% <50.00%> (+0.06%) ⬆️

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

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@@ -317,6 +317,7 @@ lint.ignore = [
# https://beta.ruff.rs/docs/rules/#flake8-pyi-pyi
"PYI053", # string-or-bytes-too-long - causes mypy to fail on some of our type stubs
"PYI054", # numeric-literal-too-long - causes mypy to fail on some of our type stubs
"UP035", # TODO: remove once min version of pydantic supports using collections.abc types
Copy link
Contributor Author

@Kilo59 Kilo59 Sep 30, 2024

Choose a reason for hiding this comment

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

This caused issues with our min version of pydantic when using things like collections.abc.Mapping instead of typing.Mapping.

I'll do a followup to in-line ignore them instead, I didn't want to do it in this PR because that will cause changes to a heck-ton of files (400+).

setup.py Outdated
Copy link
Contributor Author

@Kilo59 Kilo59 Sep 30, 2024

Choose a reason for hiding this comment

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

The changes in setup.py are what actually prevent installs of (new) gx versions with python 3.8.

return_value=(
{},
{},
with (
Copy link
Contributor

Choose a reason for hiding this comment

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

is this formatting change intended to be part of this PR?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes it's a syntax/formatting change made possible by bumping our min version of python to 3.9 and updating the ruff "python version target".

@@ -128,7 +128,7 @@ def register_datasource(cls, ds_type: Type[Datasource]) -> None:
)

# rollback type registrations if exception occurs
with cls.type_lookup.transaction() as ds_type_lookup, ds_type._type_lookup.transaction() as asset_type_lookup: # noqa: E501
with cls.type_lookup.transaction() as ds_type_lookup, ds_type._type_lookup.transaction() as asset_type_lookup: # fmt: skip # noqa: E501
Copy link
Contributor

Choose a reason for hiding this comment

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

Had to add # fmt: skip to get the formatter to chill here 🤔

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Contributor

Choose a reason for hiding this comment

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

That's already ignored, but that rule is about multiple nested context managers, not about the formatting with parens. Unless I'm misreading something.

@tyler-hoffman tyler-hoffman self-requested a review October 3, 2024 16:46
@tyler-hoffman tyler-hoffman added this pull request to the merge queue Oct 3, 2024
@tyler-hoffman tyler-hoffman removed this pull request from the merge queue due to a manual request Oct 3, 2024
with mock.patch(
"great_expectations.data_context.data_context.abstract_data_context.init_analytics"
) as mock_init, mock.patch("posthog.capture") as mock_submit:
with (
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this just formatting changes?

Copy link
Contributor

@billdirks billdirks left a comment

Choose a reason for hiding this comment

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

LGTM, Thank you @tyler-hoffman and @Kilo59!

@tyler-hoffman tyler-hoffman added this pull request to the merge queue Oct 3, 2024
Merged via the queue into develop with commit d992e4f Oct 3, 2024
68 checks passed
@tyler-hoffman tyler-hoffman deleted the m/_/p38_eol branch October 3, 2024 19:26
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.

3 participants