-
Notifications
You must be signed in to change notification settings - Fork 98
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
Add Python 3.12 Support / Remove Python 3.8 Support #1066
Conversation
…date / timestamp comparison.
…n using Python 3.12.
d9cc64b
to
88d9fca
Compare
88d9fca
to
156f081
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Per discussion, we probably need to do a bunch of annoying stuff to keep 3.8 through 3.12 here. Sigh.
@@ -7,7 +7,7 @@ name = "metricflow" | |||
version = "0.205.0" | |||
description = "Translates a simple metric definition into reusable SQL and executes it against the SQL engine of your choice." | |||
readme = "README.md" | |||
requires-python = ">=3.8,<3.12" | |||
requires-python = ">=3.9,<=3.12" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Python 3.8 is supported through October, so we need to to support 3.8 through the dbt-core release following official EOL.
@@ -33,9 +33,10 @@ dependencies = [ | |||
"graphviz>=0.18.2, <0.21", | |||
"halo>=0.0.31, <0.1.0", | |||
"more-itertools>=8.10.0, <10.2.0", | |||
"pandas>=1.5.0, <1.6.0", | |||
# pandas 2.2 has a bug https://github.com/databricks/databricks-sql-python/issues/334, so using 2.1. | |||
"pandas>=2.1, <2.2", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is super restrictive, I don't think we can block 1.x installs.
Medium term I'd like to just remove pandas as a production dependency altogether, we don't need it for anything.
"pydantic>=1.10.0, <1.11.0", | ||
"python-dateutil>=2.8.2, <2.9.0", | ||
"python-dateutil~=2.9.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please don't use ~= syntax, it breaks PIP resolvers in certain edge cases.
"pytest-mock~=3.12", | ||
"pytest-xdist~=3.5", | ||
"pytest~=8.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No ~= please.
Closing this out as this was significantly revised, and related changes will be in a another PR. |
Resolves #1065
Description
This PR updates the code and Github workflows to support Python 3.12.