stinger-python-utils 0.1.0__tar.gz → 0.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stinger-python-utils
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
+ Summary: Common utilities for Stinger Python services.
4
5
  License-Expression: MIT
5
6
  License-File: LICENSE
6
7
  Requires-Python: >=3.7
7
8
  Requires-Dist: pydantic>=2.5.3
8
- Requires-Dist: pyqttier>=0.1.6
9
- Provides-Extra: dev
9
+ Requires-Dist: pyqttier>=0.2.0
10
10
  Description-Content-Type: text/markdown
11
11
 
12
12
  # stinger-python-utils
@@ -4,19 +4,16 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "stinger-python-utils"
7
- version = "0.1.0"
8
- description = ""
7
+ version = "0.1.2"
8
+ description = "Common utilities for Stinger Python services."
9
9
  readme = "README.md"
10
10
  license = "MIT"
11
11
  requires-python = ">=3.7"
12
12
  dependencies = [
13
13
  "pydantic>=2.5.3",
14
- "pyqttier>=0.1.6",
14
+ "pyqttier>=0.2.0",
15
15
  ]
16
16
 
17
- [project.optional-dependencies]
18
- dev = []
19
-
20
17
  [tool.uv]
21
18
  managed = true
22
19
 
@@ -1,15 +1,13 @@
1
-
2
1
  from pyqttier.message import Message
3
2
  from pydantic import BaseModel
4
3
  from typing import Union, Optional
5
4
  import uuid
6
5
 
6
+
7
7
  class MessageCreator:
8
8
 
9
9
  @classmethod
10
- def signal_message(
11
- cls, topic: str, payload: BaseModel
12
- ) -> Message:
10
+ def signal_message(cls, topic: str, payload: BaseModel) -> Message:
13
11
  return Message(
14
12
  topic=topic,
15
13
  payload=payload.model_dump_json(by_alias=True).encode("utf-8"),
@@ -62,14 +60,19 @@ class MessageCreator:
62
60
  def response_message(
63
61
  cls,
64
62
  response_topic: str,
65
- response_obj: BaseModel|str|bytes,
63
+ response_obj: BaseModel | str | bytes,
66
64
  return_code: int,
67
65
  correlation_id: Union[str, bytes],
68
66
  ) -> Message:
69
67
  """
70
68
  This could be used for a successful response to a request.
71
69
  """
72
- payload = response_obj.model_dump_json(by_alias=True).encode("utf-8") if isinstance(response_obj, BaseModel) else response_obj
70
+ if isinstance(response_obj, BaseModel):
71
+ payload = response_obj.model_dump_json(by_alias=True).encode("utf-8")
72
+ elif isinstance(response_obj, str):
73
+ payload = response_obj.encode("utf-8")
74
+ else:
75
+ payload = response_obj
73
76
  msg_obj = Message(
74
77
  topic=response_topic,
75
78
  payload=payload,
@@ -1068,17 +1068,14 @@ wheels = [
1068
1068
 
1069
1069
  [[package]]
1070
1070
  name = "pyqttier"
1071
- version = "0.1.6"
1071
+ version = "0.2.0"
1072
1072
  source = { registry = "https://pypi.org/simple" }
1073
1073
  dependencies = [
1074
1074
  { name = "paho-mqtt" },
1075
- { name = "pydantic", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.8'" },
1076
- { name = "pydantic", version = "2.10.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.8.*'" },
1077
- { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
1078
1075
  ]
1079
- sdist = { url = "https://files.pythonhosted.org/packages/16/6c/a746ab6dff0177b2f928db28c6920d9aba35c681dc0f7ef08db8a71e5fed/pyqttier-0.1.6.tar.gz", hash = "sha256:5972aa2ef1673ae4376a4c3a672b2651ab54372e4330fbbab8f74da8c988cccf", size = 93861, upload-time = "2025-12-16T03:56:39.63Z" }
1076
+ sdist = { url = "https://files.pythonhosted.org/packages/73/45/fa6379b42d8f2a2240c3f331fd44ec663f4ee0d7580e6eb5764a7e8f2e04/pyqttier-0.2.0.tar.gz", hash = "sha256:3f451a013909a784a90eccea2559c4cce6e3af7c248f90135240426f24e757cb", size = 58347, upload-time = "2025-12-16T23:22:03.353Z" }
1080
1077
  wheels = [
1081
- { url = "https://files.pythonhosted.org/packages/cd/c4/3e026eaa4f7a4a945458ded1d56bbbc38b16ef1a602b54f30c3c2dd46eb5/pyqttier-0.1.6-py3-none-any.whl", hash = "sha256:eb85ae457390f2a4dc67eb53f89489675b8b5ca849fde6436d5b0d45ecedeabb", size = 10585, upload-time = "2025-12-16T03:56:38.623Z" },
1078
+ { url = "https://files.pythonhosted.org/packages/c5/95/7c249d48c6f7bfde659606570955534c09dc5559151ce581cb963c97a181/pyqttier-0.2.0-py3-none-any.whl", hash = "sha256:2da862cbd3485842b380f0006598e064edc3376a0ac36a7cee8c90ba9b0664a2", size = 9827, upload-time = "2025-12-16T23:22:04.22Z" },
1082
1079
  ]
1083
1080
 
1084
1081
  [[package]]
@@ -1092,7 +1089,7 @@ wheels = [
1092
1089
 
1093
1090
  [[package]]
1094
1091
  name = "stinger-python-utils"
1095
- version = "0.1.0"
1092
+ version = "0.1.2"
1096
1093
  source = { editable = "." }
1097
1094
  dependencies = [
1098
1095
  { name = "pydantic", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.8'" },
@@ -1115,9 +1112,8 @@ dev = [
1115
1112
  [package.metadata]
1116
1113
  requires-dist = [
1117
1114
  { name = "pydantic", specifier = ">=2.5.3" },
1118
- { name = "pyqttier", specifier = ">=0.1.6" },
1115
+ { name = "pyqttier", specifier = ">=0.2.0" },
1119
1116
  ]
1120
- provides-extras = ["dev"]
1121
1117
 
1122
1118
  [package.metadata.requires-dev]
1123
1119
  dev = [