-
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
Changes from all commits
2f70a06
15b3c16
7da37c1
835ddd5
445e9b7
156f081
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
kind: Breaking Changes | ||
body: dd Python 3.12 Support / Remove Python 3.8 Support | ||
time: 2024-03-07T09:56:10.062042-08:00 | ||
custom: | ||
Author: plypaul | ||
Issue: "1065" |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,7 +6,7 @@ on: | |
- "*" | ||
|
||
env: | ||
PYTHON_VERSION: "3.8" | ||
PYTHON_VERSION: "3.9" | ||
|
||
jobs: | ||
pypi-publish: | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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" | ||
license = "BUSL-1.1" | ||
keywords = [] | ||
authors = [ | ||
|
@@ -17,10 +17,10 @@ authors = [ | |
classifiers = [ | ||
"Development Status :: 4 - Beta", | ||
"Programming Language :: Python", | ||
"Programming Language :: Python :: 3.8", | ||
"Programming Language :: Python :: 3.9", | ||
"Programming Language :: Python :: 3.10", | ||
"Programming Language :: Python :: 3.11", | ||
"Programming Language :: Python :: 3.12", | ||
"Programming Language :: Python :: Implementation :: CPython", | ||
"Programming Language :: Python :: Implementation :: PyPy", | ||
] | ||
|
@@ -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 commentThe 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 commentThe 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. |
||
"rapidfuzz>=3.0, <4.0", | ||
"ruamel.yaml>=0.17.21, <0.18.0", | ||
"tabulate>=0.8.9", | ||
|
@@ -56,11 +57,11 @@ dev-packages = [ | |
"pre-commit>=3.2.2, <3.3.0", | ||
# Bug with mypy: https://github.com/pallets/click/issues/2558#issuecomment-1656546003 | ||
"click>=8.1.6", | ||
"pytest-mock>=3.7.0, <3.8.0", | ||
"pytest-xdist>=3.2.1, <3.3.0", | ||
"pytest>=7.1.1, < 7.2.0", | ||
"types-PyYAML", | ||
"pytest-mock~=3.12", | ||
"pytest-xdist~=3.5", | ||
"pytest~=8.0", | ||
Comment on lines
+60
to
+62
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No ~= please. |
||
"types-python-dateutil", | ||
"types-PyYAML", | ||
"types-tabulate", | ||
] | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
[pytest] | ||
filterwarnings = | ||
; The filter below ignores deprecation warnings from dbt packages. This should be removed once those are updated. | ||
ignore:datetime\.datetime\.utcnow\(\) is deprecated:DeprecationWarning:dbt.*: | ||
; | ||
; The filter below ignores deprecation warnings from the 'halo' package. | ||
; The latest release of 'halo' is 0.0.31 and it has not been updated since 2020-11-09. | ||
; We may want to migrate away from this package if that package is not kept up to date. | ||
; | ||
ignore:setDaemon\(\) is deprecated, set the daemon attribute instead:DeprecationWarning:halo.*: | ||
; | ||
; The filter below ignores deprecation warnings from the protobuff package. Based on | ||
; https://github.com/protocolbuffers/protobuf/issues/15077, it seems like it'll be resolved in a release after | ||
; 4.25.3, so this filter can be removed then. | ||
; | ||
ignore:Type google\._upb\._message\.ScalarMapContainer uses PyType_Spec with a metaclass that has custom tp_new:DeprecationWarning | ||
ignore:Type google\._upb\._message\.MessageMapContainer uses PyType_Spec with a metaclass that has custom tp_new:DeprecationWarning |
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.