From 62ed0fb636bb30474e204dded1e70459da800297 Mon Sep 17 00:00:00 2001 From: rinarakaki Date: Sun, 20 Oct 2024 05:11:51 +0000 Subject: [PATCH 1/4] migrate to pyproject.toml --- pyproject.toml | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++ setup.py | 55 ++----------------------------------------------- 2 files changed, 58 insertions(+), 53 deletions(-) create mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..878611b2 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,56 @@ +# Copyright 2024 Google LLC +# +# 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. + +[build-system] +requires = ["setuptools"] +build-backend = "setuptools.build_meta" + +[project] +name = "proto-plus" +authors = [{ name = "Google LLC", email = "googleapis-packages@google.com" }] +license = { text = "Apache 2.0" } +requires-python = ">=3.7" +description = "Beautiful, Pythonic protocol buffers" +readme = "README.rst" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Environment :: Console", + "Intended Audience :: Developers", + "License :: OSI Approved :: Apache Software License", + "Operating System :: POSIX", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.7", + "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", + "Topic :: Software Development :: Code Generators", + "Topic :: Software Development :: Libraries :: Python Modules", +] +dependencies = ["protobuf >=3.19.0, < 6.0.0dev"] +dynamic = ["version"] + +[project.urls] +Repository = "https://github.com/googleapis/proto-plus-python" + +[project.optional-dependencies] +testing = ["google-api-core >= 1.31.5"] + +[tool.setuptools.dynamic] +version = { attr = "proto.version.__version__" } + +[tool.setuptools.packages.find] +exclude = ["docs", "tests"] diff --git a/setup.py b/setup.py index d8a430f2..12e9ed26 100644 --- a/setup.py +++ b/setup.py @@ -12,59 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -import io -import re -import os -from setuptools import find_namespace_packages, setup +from setuptools import setup -PACKAGE_ROOT = os.path.abspath(os.path.dirname(__file__)) -version = None - -with open(os.path.join(PACKAGE_ROOT, "proto/version.py")) as fp: - version_candidates = re.findall(r"(?<=\")\d+.\d+.\d+(?=\")", fp.read()) - assert len(version_candidates) == 1 - version = version_candidates[0] - -with io.open(os.path.join(PACKAGE_ROOT, "README.rst")) as file_obj: - README = file_obj.read() - -setup( - name="proto-plus", - version=version, - license="Apache 2.0", - author="Google LLC", - author_email="googleapis-packages@google.com", - url="https://github.com/googleapis/proto-plus-python.git", - packages=find_namespace_packages(exclude=["docs", "tests"]), - description="Beautiful, Pythonic protocol buffers.", - long_description=README, - platforms="Posix; MacOS X", - include_package_data=True, - install_requires=("protobuf >=3.19.0, <6.0.0dev",), - extras_require={ - "testing": [ - "google-api-core >= 1.31.5", - ], - }, - python_requires=">=3.7", - classifiers=[ - "Development Status :: 5 - Production/Stable", - "Environment :: Console", - "Intended Audience :: Developers", - "License :: OSI Approved :: Apache Software License", - "Operating System :: POSIX", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", - "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", - "Topic :: Software Development :: Code Generators", - "Topic :: Software Development :: Libraries :: Python Modules", - ], - zip_safe=False, -) +setup() From 2ed04dfe5d696fbf0a3275d4fef3161766035bff Mon Sep 17 00:00:00 2001 From: Anthonios Partheniou Date: Wed, 22 Jan 2025 15:40:00 +0000 Subject: [PATCH 2/4] Rebase following https://github.com/googleapis/proto-plus-python/pull/502 --- pyproject.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 878611b2..c6a34c66 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -53,4 +53,5 @@ testing = ["google-api-core >= 1.31.5"] version = { attr = "proto.version.__version__" } [tool.setuptools.packages.find] -exclude = ["docs", "tests"] +# Only include packages under the 'proto' namespace. Do not include build, docs, tests +include = ["proto*"] From 1ec7cc334ecb08d4ba85f0bb152b122282cdbb92 Mon Sep 17 00:00:00 2001 From: Anthonios Partheniou Date: Wed, 22 Jan 2025 15:41:36 +0000 Subject: [PATCH 3/4] add entries such as documentation and classifiers which exist in other projects --- pyproject.toml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index c6a34c66..3d19d8b6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,10 +25,9 @@ description = "Beautiful, Pythonic protocol buffers" readme = "README.rst" classifiers = [ "Development Status :: 5 - Production/Stable", - "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", - "Operating System :: POSIX", + "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", @@ -37,6 +36,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Operating System :: OS Independent", "Topic :: Software Development :: Code Generators", "Topic :: Software Development :: Libraries :: Python Modules", ] @@ -44,6 +44,7 @@ dependencies = ["protobuf >=3.19.0, < 6.0.0dev"] dynamic = ["version"] [project.urls] +Documentation = "https://proto-plus-python.readthedocs.io/en/latest/" Repository = "https://github.com/googleapis/proto-plus-python" [project.optional-dependencies] From f4d85c3a416d2f156a18d73e8c3ebdbf789fc965 Mon Sep 17 00:00:00 2001 From: Anthonios Partheniou Date: Wed, 22 Jan 2025 15:45:16 +0000 Subject: [PATCH 4/4] Use correct url for docs --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 3d19d8b6..6fb7cbe2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -44,7 +44,7 @@ dependencies = ["protobuf >=3.19.0, < 6.0.0dev"] dynamic = ["version"] [project.urls] -Documentation = "https://proto-plus-python.readthedocs.io/en/latest/" +Documentation = "https://googleapis.dev/python/proto-plus/latest/" Repository = "https://github.com/googleapis/proto-plus-python" [project.optional-dependencies]