From 48d2f03ba551d8068ae660a2e434261ed0cde3af Mon Sep 17 00:00:00 2001 From: Anthonios Partheniou Date: Tue, 21 Nov 2023 19:28:43 +0000 Subject: [PATCH] feat: add support for proto.__version__ --- proto/__init__.py | 3 +++ proto/version.py | 15 +++++++++++++++ setup.py | 10 ++++++++-- 3 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 proto/version.py diff --git a/proto/__init__.py b/proto/__init__.py index 80c7948b..7c2f9e74 100644 --- a/proto/__init__.py +++ b/proto/__init__.py @@ -21,6 +21,8 @@ from .modules import define_module as module from .primitives import ProtoType +from .version import __version__ + DOUBLE = ProtoType.DOUBLE FLOAT = ProtoType.FLOAT @@ -42,6 +44,7 @@ __all__ = ( + "__version__", "Enum", "Field", "MapField", diff --git a/proto/version.py b/proto/version.py new file mode 100644 index 00000000..28b55af1 --- /dev/null +++ b/proto/version.py @@ -0,0 +1,15 @@ +# Copyright 2023 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. +# +__version__ = "1.22.3" diff --git a/setup.py b/setup.py index 759494f4..3077fdf0 100644 --- a/setup.py +++ b/setup.py @@ -13,14 +13,20 @@ # limitations under the License. import io +import re import os from setuptools import find_packages, setup -version = "1.22.3" - 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()