Skip to content

Commit a47f573

Browse files
authored
Add proper version to client (#67)
1 parent 0392468 commit a47f573

File tree

4 files changed

+24
-3
lines changed

4 files changed

+24
-3
lines changed

temporalio/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
11
"""Python SDK for Temporal."""
2+
3+
from .workflow_service import __version__ as __sdk_version
4+
5+
__version__ = __sdk_version

temporalio/bridge/client.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,8 @@ class ClientConfig:
4343
worker_binary_id: str
4444
tls_config: Optional[ClientTlsConfig]
4545
retry_config: Optional[ClientRetryConfig]
46-
client_name: str = "temporal-python"
47-
# TODO(cretz): Take from importlib ref https://stackoverflow.com/a/54869712
48-
client_version: str = "0.1.0"
46+
client_name: str
47+
client_version: str
4948

5049

5150
ProtoMessage = TypeVar("ProtoMessage", bound=google.protobuf.message.Message)

temporalio/workflow_service.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
import temporalio.bridge.telemetry
2121
import temporalio.exceptions
2222

23+
__version__ = "0.1a2"
24+
2325
WorkflowServiceRequest = TypeVar(
2426
"WorkflowServiceRequest", bound=google.protobuf.message.Message
2527
)
@@ -118,6 +120,8 @@ def _to_bridge_config(self) -> temporalio.bridge.client.ClientConfig:
118120
static_headers=self.static_headers,
119121
identity=self.identity,
120122
worker_binary_id=self.worker_binary_id or "",
123+
client_name="temporal-python",
124+
client_version=__version__,
121125
)
122126

123127

tests/test_workflow_service.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
import inspect
2+
import os
23
import re
34
from typing import Dict, Tuple, Type
45

56
import grpc
67

8+
import temporalio
79
import temporalio.api.workflowservice.v1
810
import temporalio.workflow_service
911
from temporalio.client import Client
@@ -49,3 +51,15 @@ def unary_unary(self, method, request_serializer, response_deserializer):
4951

5052

5153
CallCollectingChannel.__abstractmethods__ = set()
54+
55+
56+
def test_version():
57+
# Extract version from pyproject.toml
58+
with open(
59+
os.path.join(os.path.dirname(__file__), "..", "pyproject.toml"), "r"
60+
) as f:
61+
pyproject = f.read()
62+
version = pyproject[pyproject.find('version = "') + 11 :]
63+
version = version[: version.find('"')]
64+
assert temporalio.workflow_service.__version__ == version
65+
assert temporalio.__version__ == version

0 commit comments

Comments
 (0)