Files
Andrey VelichkevichandGitHub 389b4de95b Bump Katib Python SDK to 0.19.0 version (#2585)
* Bump Katib Python SDK to 0.19.0 version

Signed-off-by: Andrey Velichkevich <[email protected]>

* Update version in gen-api

Signed-off-by: Andrey Velichkevich <[email protected]>

* Fix release script

Signed-off-by: Andrey Velichkevich <[email protected]>

* Run gen-api directly

Signed-off-by: Andrey Velichkevich <[email protected]>

---------

Signed-off-by: Andrey Velichkevich <[email protected]>
2025-10-30 23:52:38 +00:00

93 lines
3.3 KiB
Python

# Copyright 2021 The Kubeflow Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import os
import shutil
import setuptools
REQUIRES = [
"certifi>=14.05.14",
"six>=1.10",
"setuptools>=21.0.0",
"urllib3>=1.15.1",
"kubernetes>=27.2.0",
"grpcio>=1.64.1",
"protobuf>=4.21.12,<5",
"kubeflow-training==1.9.0",
]
katib_grpc_api_file = "../../../pkg/apis/manager/v1beta1/python/api_pb2.py"
katib_grpc_svc_file = "../../../pkg/apis/manager/v1beta1/python/api_pb2_grpc.py"
# Copy Katib gRPC Python APIs to use it in the Katib SDK Client.
# We need to always copy this file only on the SDK building stage, not on SDK installation stage.
if os.path.exists(katib_grpc_api_file):
shutil.copy(
katib_grpc_api_file,
"kubeflow/katib/katib_api_pb2.py",
)
# TODO(Electronic-Waste): Remove the import rewrite when protobuf supports `python_package` option.
# REF: https://github.com/protocolbuffers/protobuf/issues/7061
if os.path.exists(katib_grpc_svc_file):
shutil.copy(
katib_grpc_svc_file,
"kubeflow/katib/katib_api_pb2_grpc.py",
)
with open("kubeflow/katib/katib_api_pb2_grpc.py", "r+") as file:
content = file.read()
new_content = content.replace("api_pb2", "kubeflow.katib.katib_api_pb2")
file.seek(0)
file.write(new_content)
file.truncate()
setuptools.setup(
name="kubeflow-katib",
version="0.19.0",
author="Kubeflow Authors",
author_email="[email protected]",
license="Apache License Version 2.0",
url="https://github.com/kubeflow/katib/tree/master/sdk/python/v1beta1",
description="Katib Python SDK for APIVersion v1beta1",
long_description="Katib Python SDK for APIVersion v1beta1",
packages=setuptools.find_packages(include=("kubeflow*")),
package_data={},
include_package_data=False,
zip_safe=False,
classifiers=[
"Intended Audience :: Developers",
"Intended Audience :: Education",
"Intended Audience :: Science/Research",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Software Development",
"Topic :: Software Development :: Libraries",
"Topic :: Software Development :: Libraries :: Python Modules",
],
install_requires=REQUIRES,
extras_require={
"huggingface": ["kubeflow-training[huggingface]==1.9.0"],
},
)