Skip to content

Commit

Permalink
✨ Drop lower and upper bounds on python version, and upgrade to pytho…
Browse files Browse the repository at this point in the history
…n 3.9 (#603)
  • Loading branch information
Galileo-Galilei committed Oct 23, 2024
1 parent eb10694 commit deb9ace
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 23 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11"]
python-version: ["3.9", "3.10", "3.11", "3.12"]
os: [ubuntu-latest, macos-latest, windows-latest]
env:
OS: ${{ matrix.os }}
Expand Down
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,15 @@
- :sparkles: Implement missing PipelineML filtering functionalities to let kedro display resume hints and avoid breaking kedro-viz ([#377, Calychas](https://github.com/Galileo-Galilei/kedro-mlflow/pull/377), [#601, Calychas](https://github.com/Galileo-Galilei/kedro-mlflow/pull/601))
- :sparkles: Sanitize parameters name with unsupported characters to avoid mlflow errors when logging ([#595, pascalwhoop](https://github.com/Galileo-Galilei/kedro-mlflow/pull/595))

### Changed

- :pushpin: :sparkles: Removed lower and upper bounds for ``python`` versions of to be constantly in sync with ``kedro`` and make migrations faster [#603](https://github.com/Galileo-Galilei/kedro-mlflow/issues/603)

## [0.13.2] - 2024-10-15

### Fixed

:bug: :ambulance: Fix `MlflowArtifactDataset` `load` and `save` methods to make them compatible with modern datasets without private `_load` and `_save` introduced in `kedro-datasets>=5.0.0` ([#598](https://github.com/Galileo-Galilei/kedro-mlflow/issues/598))
- :bug: :ambulance: Fix `MlflowArtifactDataset` `load` and `save` methods to make them compatible with modern datasets without private `_load` and `_save` introduced in `kedro-datasets>=5.0.0` ([#598](https://github.com/Galileo-Galilei/kedro-mlflow/issues/598))

## [0.13.1] - 2024-09-24

Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ exclude = [
line-length = 88
indent-width = 4

# Assume Python 3.8
target-version = "py38"
# Assume Python 3.9
target-version = "py39"

[tool.ruff.lint]
# Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default.
Expand Down
5 changes: 3 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def _parse_requirements(path, encoding="utf-8"):
long_description=README,
long_description_content_type="text/markdown",
url="https://github.com/Galileo-Galilei/kedro-mlflow",
python_requires=">=3.8, <3.12",
python_requires=">=3.9",
packages=find_packages(exclude=["docs*", "tests*"]),
setup_requires=["setuptools_scm"],
include_package_data=True,
Expand Down Expand Up @@ -72,10 +72,11 @@ def _parse_requirements(path, encoding="utf-8"):
keywords="kedro-plugin, mlflow, model versioning, model packaging, pipelines, machine learning, data pipelines, data science, data engineering",
classifiers=[
"Development Status :: 4 - Beta",
"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 :: 3.13",
"Framework :: Kedro",
"Environment :: Plugins",
"Intended Audience :: Developers",
Expand Down
25 changes: 8 additions & 17 deletions tests/framework/hooks/test_hook_pipeline_ml.py
Original file line number Diff line number Diff line change
Expand Up @@ -296,23 +296,14 @@ def test_mlflow_hook_save_pipeline_ml(
# and the conversion to string sometimes leads to
# '[{"name": "a", "type": "long"}]' and sometimes to
# '[{"type": "long", "name": "a"}]'
# which causes random failures
# TODO: drop when we support only python >=3.9
assert (
(trained_model.metadata.signature.to_dict())
== {
"inputs": '[{"name": "a", "type": "long", "required": true}]',
"outputs": None,
"params": None,
}
) or (
(trained_model.metadata.signature.to_dict())
== {
"inputs": '[{"type": "long", "name": "a", "required": true}]',
"outputs": None,
"params": None,
}
)
# which causes random failures and we had to case each case
# This was drop when we support only python >=3.9, but
# I let the comment in case the bug bounces back
assert trained_model.metadata.signature.to_dict() == {
"inputs": '[{"type": "long", "name": "a", "required": true}]',
"outputs": None,
"params": None,
}


@pytest.mark.parametrize(
Expand Down

0 comments on commit deb9ace

Please sign in to comment.