diff --git a/pyproject.toml b/pyproject.toml index 531d567..7d3294c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,22 +1,88 @@ -[tool.poetry] +[build-system] +requires = ["pdm-backend"] +build-backend = "pdm.backend" + +[project] name = "kedro-vertexai" version = "0.11.1" description = "Kedro plugin with GCP Vertex AI support" readme = "README.md" -authors = ['Marcin Zabłocki ', 'Mateusz Pytel ', 'Mariusz Strzelecki ', 'Artur Dobrogowski '] -maintainers = ['GetInData MLOPS '] +authors = [ + {name = "Marcin Zabłocki", email = "marcin.zablocki@getindata.com"}, + {name = "Mateusz Pytel", email = "mateusz.pytel@getindata.com"}, + {name = "Mariusz Strzelecki", email = "mariusz.strzelecki@getindata.com"}, + {name = "Artur Dobrogowski", email = "artur.dobrogowski@getindata.com"}, +] +maintainers = [ + {name = "GetInData MLOPS", email = "mlops@getindata.com"}, +] +license = {text = "Apache-2.0"} +requires-python = ">=3.8" +dependencies = [ + "kedro<0.20,>=0.19.0", + "click>=8.0.4", + "kfp<3.0,>=2.0.0", + "tabulate>=0.8.7", + "semver<4.0.0,>=2.10", + "toposort<2.0,>1.0", + "pyarrow>=14.0.1", + "pydantic<3,>=2", + "google-auth<3", + "google-cloud-scheduler>=2.3.2", + "google-cloud-iam<3", + "gcsfs>=2022.1", + "fsspec>=2022.1", + "google-cloud-storage<3.0.0", + "grpcio<2.0.0,>=1.4.0", + "grpcio-status<2.0.0,>=1.4.0", + "protobuf<21.0,>=3.18.0", + "cachetools<6.0,>=3.0", + "google-cloud-aiplatform[metadata]<2.0.0,>=1.59.0", + "cloudpickle<4.0.0,>=3.0.0", + "mlflow<3.0.0,>=2.14.3", +] +keywords = [ + "kedro-plugin", + "kedro", + "mlops", + "vertexai", + "googlecloudplatform", + "machinelearning", +] +classifiers = [ + "Development Status :: 4 - Beta", +] + +[project.urls] homepage = "https://github.com/getindata/kedro-vertexai" repository = "https://github.com/getindata/kedro-vertexai" documentation = "https://kedro-vertexai.readthedocs.io/" -keywords = ['kedro-plugin', 'kedro', 'mlops', 'vertexai', 'googlecloudplatform', 'machinelearning'] -license = "Apache-2.0" -classifiers = [ - "Development Status :: 4 - Beta", # license and python versions added automatically + +[project.entry-points."kedro.project_commands"] +vertexai = "kedro_vertexai.cli:commands" + +[project.entry-points."kedro.hooks"] +vertexai_mlflow_tags_hook = "kedro_vertexai.hooks:mlflow_tags_hook" + +[project.entry-points."mlflow.request_header_provider"] +unused = "kedro_vertexai.auth.mlflow_request_header_provider:DynamicMLFlowRequestHeaderProvider" + +[project.optional-dependencies] +mlflow = [ + "kedro-mlflow<0.13,>=0.12.1", +] +[tool.pdm.dev-dependencies] +dev = [ + "pytest<=8.0.2", + "pytest-cov<4.0.0,>=2.8.0", + "tox<4.0.0,>=3.25.1", + "pre-commit==2.20.0", + "pytest-subtests<1.0.0,>=0.8.0", + "responses>=0.13.4", ] -[build-system] -requires = ["poetry-core>=1.0.0"] -build-backend = "poetry.core.masonry.api" +[tool.pdm.build] +includes = [] [tool.coverage.run] branch = true @@ -30,51 +96,3 @@ exclude_lines = [ [tool.isort] known_third_party = ["click","google","kedro","kfp","kubernetes","tabulate", "pydantic","semver","setuptools"] - -[tool.poetry.dependencies] -python = ">=3.8,<3.11" # weird error OverrideNeeded when bumping up. Could be related to old versions with kfp -kedro = ">=0.19.0,<0.20" -click = ">=8.0.4" -kfp = ">=2.0.0,<3.0" -tabulate = ">=0.8.7" -semver = ">=2.10,<4.0.0" -toposort = ">1.0,<2.0" -pyarrow = ">=14.0.1" # Stating explicitly for sub-dependency due to critical vulnerability -pydantic = ">=2,<3" -google-auth = "<3" -google-cloud-scheduler = ">=2.3.2" -google-cloud-iam = "<3" -gcsfs = ">=2022.1" -fsspec = ">=2022.1" -google-cloud-storage = "<3.0.0" -grpcio = ">=1.4.0,<2.0.0" -grpcio-status = ">=1.4.0,<2.0.0" -protobuf = ">=3.18.0,<21.0" -kedro-mlflow = {version = ">=0.12.1,<0.13", optional = true} -cachetools = ">=3.0,<6.0" -# pyaml in version 5 does problems with installing binaries/wheel in cicd env with python 3.10. The following fixes that: -# pyyaml = ">=6.0,<7" -google-cloud-aiplatform = {extras = ["metadata"], version = "^1.59.0"} -cloudpickle = "^3.0.0" -mlflow = "^2.14.3" - -[tool.poetry.extras] -mlflow = ["kedro-mlflow"] - -[tool.poetry.dev-dependencies] -pytest = "<=8.0.2" -pytest-cov = ">=2.8.0, <4.0.0" -tox = ">=3.25.1,<4.0.0" -pre-commit = "2.20.0" -pytest-subtests = ">=0.8.0, <1.0.0" -responses = ">=0.13.4" - -[tool.poetry.plugins] # Optional super table -[tool.poetry.plugins."kedro.project_commands"] -"vertexai" = "kedro_vertexai.cli:commands" - -[tool.poetry.plugins."kedro.hooks"] -"vertexai_mlflow_tags_hook" = "kedro_vertexai.hooks:mlflow_tags_hook" - -[tool.poetry.plugins."mlflow.request_header_provider"] -"unused" = "kedro_vertexai.auth.mlflow_request_header_provider:DynamicMLFlowRequestHeaderProvider"