From c1616685e88986e5fbc70f0644eea3f338ebec11 Mon Sep 17 00:00:00 2001 From: Felix Scherz Date: Wed, 9 Oct 2024 20:33:53 +0200 Subject: [PATCH 1/4] chore: remove python 3.8 support for kedro-docker Signed-off-by: Felix Scherz --- .github/workflows/kedro-docker.yml | 4 ++-- .pre-commit-config.yaml | 2 +- kedro-docker/features/steps/sh_run.py | 3 ++- kedro-docker/features/steps/util.py | 6 +++--- kedro-docker/kedro_docker/helpers.py | 2 +- kedro-docker/kedro_docker/plugin.py | 4 ++-- kedro-docker/pyproject.toml | 2 +- 7 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.github/workflows/kedro-docker.yml b/.github/workflows/kedro-docker.yml index 8c04d89ab..92558891d 100644 --- a/.github/workflows/kedro-docker.yml +++ b/.github/workflows/kedro-docker.yml @@ -22,7 +22,7 @@ jobs: strategy: matrix: os: [ ubuntu-latest, windows-latest ] - python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12" ] + python-version: [ "3.9", "3.10", "3.11", "3.12" ] uses: ./.github/workflows/unit-tests.yml with: plugin: kedro-docker @@ -40,7 +40,7 @@ jobs: strategy: matrix: os: [ ubuntu-latest ] - python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12" ] + python-version: [ "3.9", "3.10", "3.11", "3.12" ] uses: ./.github/workflows/e2e-tests.yml with: plugin: kedro-docker diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0afe0c87c..fcf0ec47e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -51,7 +51,7 @@ repos: exclude: ^(?!kedro-docker/kedro_docker/).*\.py$ pass_filenames: false stages: [ manual ] - entry: ruff kedro-docker --fix --exit-non-zero-on-fix + entry: ruff check kedro-docker --fix --exit-non-zero-on-fix - id: ruff-kedro-telemetry name: "Ruff on kedro_telemetry/*" diff --git a/kedro-docker/features/steps/sh_run.py b/kedro-docker/features/steps/sh_run.py index 7d9f6152a..6eb3b2e4e 100644 --- a/kedro-docker/features/steps/sh_run.py +++ b/kedro-docker/features/steps/sh_run.py @@ -1,6 +1,7 @@ import shlex import subprocess -from typing import Sequence, Union +from collections.abc import Sequence +from typing import Union import psutil diff --git a/kedro-docker/features/steps/util.py b/kedro-docker/features/steps/util.py index 8362d0a45..ec3b2d535 100644 --- a/kedro-docker/features/steps/util.py +++ b/kedro-docker/features/steps/util.py @@ -6,7 +6,7 @@ from pathlib import Path from threading import Thread from time import sleep, time -from typing import Any, Callable, List +from typing import Any, Callable import docker from kedro.framework.cli.utils import get_pkg_version @@ -130,7 +130,7 @@ def init_docker_client(**kwargs) -> docker.client.DockerClient: return docker.from_env(**kwargs) -def get_docker_containers(name: str) -> List[docker.models.containers.Container]: +def get_docker_containers(name: str) -> list[docker.models.containers.Container]: """ Get list of docker containers which contain `name` in their names. @@ -164,7 +164,7 @@ def docker_prune(): client.images.prune() -def get_docker_images(name: str) -> List[docker.models.images.Image]: +def get_docker_images(name: str) -> list[docker.models.images.Image]: """ Get docker images with `name` in their names. diff --git a/kedro-docker/kedro_docker/helpers.py b/kedro-docker/kedro_docker/helpers.py index 280e198b2..21655923f 100644 --- a/kedro-docker/kedro_docker/helpers.py +++ b/kedro-docker/kedro_docker/helpers.py @@ -7,11 +7,11 @@ import shutil import socket import subprocess +from collections.abc import Sequence from importlib import import_module from itertools import chain from pathlib import Path, PurePosixPath from subprocess import DEVNULL, PIPE -from typing import Sequence from click import secho from kedro.framework.cli.utils import KedroCliError diff --git a/kedro-docker/kedro_docker/plugin.py b/kedro-docker/kedro_docker/plugin.py index c78c35dd1..908c187e8 100644 --- a/kedro-docker/kedro_docker/plugin.py +++ b/kedro-docker/kedro_docker/plugin.py @@ -2,9 +2,9 @@ import shlex import subprocess +from collections.abc import Sequence from pathlib import Path from sys import version_info -from typing import Dict, Sequence import click from kedro import __version__ as kedro_version @@ -191,7 +191,7 @@ def docker_build(ctx, uid, gid, spark, base_image, image, docker_args): # noqa: call(command) -def _mount_info() -> Dict[str, Sequence[str]]: +def _mount_info() -> dict[str, Sequence[str]]: res = { "host_root": str(Path.cwd()), "container_root": "/home/kedro_docker", diff --git a/kedro-docker/pyproject.toml b/kedro-docker/pyproject.toml index 1f065a5fe..c607ef9a2 100644 --- a/kedro-docker/pyproject.toml +++ b/kedro-docker/pyproject.toml @@ -8,7 +8,7 @@ authors = [ {name = "Kedro"} ] description = "Kedro-Docker makes it easy to package Kedro projects with Docker." -requires-python = ">=3.8" +requires-python = ">=3.9" license = {text = "Apache Software License (Apache 2.0)"} dependencies = [ "anyconfig~=0.10.0", # not directly required, pinned by Snyk to avoid a vulnerability From f62a4126526f343a424c74e81196f777bc7d375e Mon Sep 17 00:00:00 2001 From: Felix Scherz Date: Wed, 9 Oct 2024 20:38:32 +0200 Subject: [PATCH 2/4] docs: update release notes Signed-off-by: Felix Scherz --- kedro-docker/RELEASE.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kedro-docker/RELEASE.md b/kedro-docker/RELEASE.md index 725ee0f96..0d1045270 100644 --- a/kedro-docker/RELEASE.md +++ b/kedro-docker/RELEASE.md @@ -1,5 +1,9 @@ # Upcoming Release +# Release 0.7.0 +## Major features and improvements +* Removed support for python 3.8 + # Release 0.6.1 * Unpinned pip version requirement From bcff216e5ffaaefabcced09a4f5e6131424066bb Mon Sep 17 00:00:00 2001 From: Felix Scherz Date: Thu, 10 Oct 2024 08:44:36 +0200 Subject: [PATCH 3/4] ci: remove python 3.8 from airflow and telemetry Signed-off-by: Felix Scherz --- .github/workflows/kedro-airflow.yml | 4 ++-- .github/workflows/kedro-telemetry.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/kedro-airflow.yml b/.github/workflows/kedro-airflow.yml index 87aa5b0df..85e7ca62d 100644 --- a/.github/workflows/kedro-airflow.yml +++ b/.github/workflows/kedro-airflow.yml @@ -22,7 +22,7 @@ jobs: strategy: matrix: os: [ ubuntu-latest, windows-latest ] - python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12" ] + python-version: [ "3.9", "3.10", "3.11", "3.12" ] uses: ./.github/workflows/unit-tests.yml with: plugin: kedro-airflow @@ -40,7 +40,7 @@ jobs: strategy: matrix: os: [ ubuntu-latest ] - python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12" ] + python-version: [ "3.9", "3.10", "3.11", "3.12" ] uses: ./.github/workflows/e2e-tests.yml with: plugin: kedro-airflow diff --git a/.github/workflows/kedro-telemetry.yml b/.github/workflows/kedro-telemetry.yml index f4fb3db9b..d870d1b83 100644 --- a/.github/workflows/kedro-telemetry.yml +++ b/.github/workflows/kedro-telemetry.yml @@ -22,7 +22,7 @@ jobs: strategy: matrix: os: [ ubuntu-latest ] - python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12" ] + python-version: [ "3.9", "3.10", "3.11", "3.12" ] uses: ./.github/workflows/unit-tests.yml with: plugin: kedro-telemetry From 8717f2a331a9d5cc47b320878c91360c012de416 Mon Sep 17 00:00:00 2001 From: Felix Scherz Date: Thu, 10 Oct 2024 12:40:33 +0200 Subject: [PATCH 4/4] docs: remove Python3.8 from README Signed-off-by: Felix Scherz --- kedro-docker/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kedro-docker/README.md b/kedro-docker/README.md index 7d4e9b9b5..fd3150172 100644 --- a/kedro-docker/README.md +++ b/kedro-docker/README.md @@ -1,6 +1,6 @@ # Kedro-Docker -[![Python Version](https://img.shields.io/badge/python-3.8%20%7C%203.9%20%7C%203.10%20%7C%203.11%20%7C%203.12-blue.svg)](https://pypi.org/project/kedro-docker/) +[![Python Version](https://img.shields.io/badge/python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12-blue.svg)](https://pypi.org/project/kedro-docker/) [![PyPI version](https://badge.fury.io/py/kedro-docker.svg)](https://pypi.org/project/kedro-docker/) [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Code Style: Black](https://img.shields.io/badge/code%20style-black-black.svg)](https://github.com/ambv/black) @@ -63,7 +63,7 @@ Behind the scenes Kedro does the following: > *Note:* By default, `kedro docker build` creates an image without Spark and Hadoop. -> *Note:* By default, when calling `kedro docker build` image is built with `python:VERSION-buster` image, where VERSION is Python (major + minor) version from the current environment. By specifying `--base-image` option, different base image can be used. For example `kedro docker build --base-image="python:3.8-buster"`. +> *Note:* By default, when calling `kedro docker build` image is built with `python:VERSION-buster` image, where VERSION is Python (major + minor) version from the current environment. By specifying `--base-image` option, different base image can be used. For example `kedro docker build --base-image="python:3.9-buster"`. > *Note:* You can generate the `Dockerfile`, `.dockerignore` or `.dive-ci` files without building the image by running `kedro docker init`. This might be of use in case you would like to modify these files before the first build.