diff --git a/django_spanner/__init__.py b/django_spanner/__init__.py index 7326a71903..2b40c012cd 100644 --- a/django_spanner/__init__.py +++ b/django_spanner/__init__.py @@ -27,6 +27,7 @@ from .functions import register_functions from .lookups import register_lookups from .utils import check_django_compatability +from .version import __version__ # Monkey-patch google.DatetimeWithNanoseconds's __eq__ compare against # datetime.datetime. @@ -47,8 +48,6 @@ ) from django.db.models import JSONField -__version__ = pkg_resources.get_distribution("django-google-spanner").version - USE_EMULATOR = os.getenv("SPANNER_EMULATOR_HOST") is not None # Only active LTS django versions (3.2.*, 4.2.*) are supported by this library right now. diff --git a/version.py b/django_spanner/version.py similarity index 100% rename from version.py rename to django_spanner/version.py diff --git a/setup.py b/setup.py index 7676b8d577..e84fc38dc7 100644 --- a/setup.py +++ b/setup.py @@ -6,6 +6,7 @@ import io import os +import re from setuptools import find_packages, setup @@ -27,16 +28,18 @@ } BASE_DIR = os.path.dirname(__file__) -VERSION_FILENAME = os.path.join(BASE_DIR, "version.py") -PACKAGE_INFO = {} -with open(VERSION_FILENAME) as f: - exec(f.read(), PACKAGE_INFO) -version = PACKAGE_INFO["__version__"] - -# Setup boilerplate below this line. package_root = os.path.abspath(BASE_DIR) +version = None + +with open(os.path.join(package_root, "django_spanner/version.py")) as fp: + version_candidates = re.findall(r"(?<=\")\d+.\d+.\d+(?=\")", fp.read()) + assert len(version_candidates) == 1 + version = version_candidates[0] + +# Setup boilerplate below this line. + readme_filename = os.path.join(package_root, "README.rst") with io.open(readme_filename, encoding="utf-8") as readme_file: readme = readme_file.read()