diff --git a/google/cloud/datastore/__init__.py b/google/cloud/datastore/__init__.py index 078180f5..c188e1b9 100644 --- a/google/cloud/datastore/__init__.py +++ b/google/cloud/datastore/__init__.py @@ -55,10 +55,7 @@ """ -from pkg_resources import get_distribution - -__version__ = get_distribution("google-cloud-datastore").version - +from google.cloud.datastore.version import __version__ from google.cloud.datastore.batch import Batch from google.cloud.datastore.client import Client from google.cloud.datastore.entity import Entity diff --git a/google/cloud/datastore/client.py b/google/cloud/datastore/client.py index 71a0327e..86e513a8 100644 --- a/google/cloud/datastore/client.py +++ b/google/cloud/datastore/client.py @@ -21,7 +21,7 @@ from google.cloud._helpers import _LocalStack from google.cloud._helpers import _determine_default_project as _base_default_project from google.cloud.client import ClientWithProject -from google.cloud.datastore import __version__ +from google.cloud.datastore.version import __version__ from google.cloud.datastore import helpers from google.cloud.datastore._http import HTTPDatastoreAPI from google.cloud.datastore.batch import Batch diff --git a/google/cloud/datastore/version.py b/google/cloud/datastore/version.py new file mode 100644 index 00000000..622b910d --- /dev/null +++ b/google/cloud/datastore/version.py @@ -0,0 +1,15 @@ +# Copyright 2020 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.15.1" diff --git a/google/cloud/datastore_admin_v1/gapic/datastore_admin_client.py b/google/cloud/datastore_admin_v1/gapic/datastore_admin_client.py index d275eca1..ffb2b030 100644 --- a/google/cloud/datastore_admin_v1/gapic/datastore_admin_client.py +++ b/google/cloud/datastore_admin_v1/gapic/datastore_admin_client.py @@ -17,7 +17,7 @@ """Accesses the google.datastore.admin.v1 DatastoreAdmin API.""" import functools -import pkg_resources +import os import warnings from google.oauth2 import service_account @@ -43,10 +43,14 @@ from google.longrunning import operations_pb2 from google.protobuf import empty_pb2 +# To avoid importing datastore into admin (which would result in a +# circular dependency), We exec to get the version via a dict. +dir_path = os.path.abspath(os.path.dirname(__file__)) +version = {} +with open(os.path.join(dir_path, "../../datastore/version.py")) as fp: + exec(fp.read(), version) -_GAPIC_LIBRARY_VERSION = pkg_resources.get_distribution( - "google-cloud-datastore", -).version +_GAPIC_LIBRARY_VERSION = version["__version__"] class DatastoreAdminClient(object): diff --git a/google/cloud/datastore_v1/gapic/datastore_client.py b/google/cloud/datastore_v1/gapic/datastore_client.py index 5f9b530f..ac61c12b 100644 --- a/google/cloud/datastore_v1/gapic/datastore_client.py +++ b/google/cloud/datastore_v1/gapic/datastore_client.py @@ -36,11 +36,10 @@ from google.cloud.datastore_v1.proto import datastore_pb2_grpc from google.cloud.datastore_v1.proto import entity_pb2 from google.cloud.datastore_v1.proto import query_pb2 +from google.cloud.datastore.version import __version__ -_GAPIC_LIBRARY_VERSION = pkg_resources.get_distribution( - "google-cloud-datastore", -).version +_GAPIC_LIBRARY_VERSION = __version__ class DatastoreClient(object): diff --git a/setup.py b/setup.py index a0c3fd75..65047b15 100644 --- a/setup.py +++ b/setup.py @@ -22,7 +22,11 @@ name = "google-cloud-datastore" description = "Google Cloud Datastore API client library" -version = "1.15.1" +version = {} +with open("google/cloud/datastore/version.py") as fp: + exec(fp.read(), version) +version = version["__version__"] + # Should be one of: # 'Development Status :: 3 - Alpha' # 'Development Status :: 4 - Beta'