From 22a8453b36e488e9e01b24fc6adf27be65d60ee1 Mon Sep 17 00:00:00 2001 From: yliao Date: Wed, 6 May 2026 04:32:13 +0000 Subject: [PATCH] added setup-release.py for releasing for package containing both synchronous and asyncio --- setup-asyncio.py | 4 +- setup-release.py | 99 ++++++++++++++++++++++++++++++++++++++++++++++++ setup.py | 4 +- 3 files changed, 103 insertions(+), 4 deletions(-) create mode 100644 setup-release.py diff --git a/setup-asyncio.py b/setup-asyncio.py index 7c78fd81c1..294c1ffc7d 100644 --- a/setup-asyncio.py +++ b/setup-asyncio.py @@ -43,10 +43,11 @@ url="https://github.com/kubernetes-client/kubernetes_asyncio", keywords=["Swagger", "OpenAPI", "Kubernetes"], install_requires=REQUIRES, - python_requires=">=3.8", + python_requires=">=3.10", tests_require=TESTS_REQUIRES, packages=[ 'kubernetes_asyncio', + 'kubernetes_asyncio.config', 'kubernetes_asyncio.client', 'kubernetes_asyncio.client.api', 'kubernetes_asyncio.client.models'], @@ -65,5 +66,6 @@ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ], ) diff --git a/setup-release.py b/setup-release.py new file mode 100644 index 0000000000..46cbd14eda --- /dev/null +++ b/setup-release.py @@ -0,0 +1,99 @@ +# Copyright 2016 The Kubernetes 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. + +from setuptools import setup + +# Do not edit these constants. They will be updated automatically +# by scripts/update-client.sh. +CLIENT_VERSION = "36.0.0+snapshot" +PACKAGE_NAME = "kubernetes" +DEVELOPMENT_STATUS = "3 - Alpha" + +# To install the library, run the following +# +# python setup.py install +# +# prerequisite: setuptools +# http://pypi.python.org/pypi/setuptools + +EXTRAS = { + 'google-auth': ['google-auth>=1.0.1'] +} +REQUIRES = [] +with open('requirements.txt') as f: + for line in f: + line, _, _ = line.partition('#') + line = line.strip() + if not line or line.startswith('setuptools'): + continue + elif ';' in line: + requirement, _, specifier = line.partition(';') + for_specifier = EXTRAS.setdefault(':{}'.format(specifier), []) + for_specifier.append(requirement) + else: + REQUIRES.append(line) + +with open('test-requirements.txt') as f: + TESTS_REQUIRES = f.readlines() + +with open('requirements-asyncio.txt') as f: + REQUIRES_ASYNCIO = f.readlines() + +with open('test-requirements-asyncio.txt') as f: + TESTS_REQUIRES_ASYNCIO = f.readlines() + + +setup( + name=PACKAGE_NAME, + version=CLIENT_VERSION, + description="Kubernetes python client", + author_email="", + author="Kubernetes", + license="Apache License Version 2.0", + url="https://github.com/kubernetes-client/python", + keywords=["Swagger", "OpenAPI", "Kubernetes"], + install_requires=REQUIRES+REQUIRES_ASYNCIO, + tests_require=TESTS_REQUIRES+TESTS_REQUIRES_ASYNCIO, + extras_require=EXTRAS, + packages=['kubernetes', 'kubernetes.client', 'kubernetes.config', + 'kubernetes.watch', 'kubernetes.client.api', + 'kubernetes.stream', 'kubernetes.client.models', + 'kubernetes.utils', 'kubernetes.client.apis', + 'kubernetes.dynamic', 'kubernetes.leaderelection', + 'kubernetes.leaderelection.resourcelock', + 'kubernetes_asyncio', + 'kubernetes_asyncio.config', + 'kubernetes_asyncio.client', + 'kubernetes_asyncio.client.api', + 'kubernetes_asyncio.client.models' + ], + include_package_data=True, + long_description="Python client for kubernetes http://kubernetes.io/", + python_requires='>=3.10', + classifiers=[ + "Development Status :: %s" % DEVELOPMENT_STATUS, + "Topic :: Utilities", + "Intended Audience :: Developers", + "Intended Audience :: Information Technology", + "License :: OSI Approved :: Apache Software License", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", + ], +) diff --git a/setup.py b/setup.py index 7ef744703d..149f6117a5 100644 --- a/setup.py +++ b/setup.py @@ -67,7 +67,7 @@ 'kubernetes.leaderelection.resourcelock'], include_package_data=True, long_description="Python client for kubernetes http://kubernetes.io/", - python_requires='>=3.6', + python_requires='>=3.10', classifiers=[ "Development Status :: %s" % DEVELOPMENT_STATUS, "Topic :: Utilities", @@ -77,8 +77,6 @@ "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", - "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",