runtimepy 5.11.0__py3-none-any.whl → 5.11.1__py3-none-any.whl

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.
runtimepy/__init__.py CHANGED
@@ -1,7 +1,7 @@
1
1
  # =====================================
2
2
  # generator=datazen
3
3
  # version=3.1.4
4
- # hash=c4e165f8c6309dd6819689f0262cf92d
4
+ # hash=da21068ff2c7240dc103642dedb80cf5
5
5
  # =====================================
6
6
 
7
7
  """
@@ -10,7 +10,7 @@ Useful defaults and other package metadata.
10
10
 
11
11
  DESCRIPTION = "A framework for implementing Python services."
12
12
  PKG_NAME = "runtimepy"
13
- VERSION = "5.11.0"
13
+ VERSION = "5.11.1"
14
14
 
15
15
  # runtimepy-specific content.
16
16
  METRICS_NAME = "metrics"
@@ -101,10 +101,9 @@ class TypeSystem(LoggerMixin):
101
101
  def register(self, name: str, *namespace: str) -> Protocol:
102
102
  """Register a custom type."""
103
103
 
104
- new_type = Protocol(self._enums)
105
- self.custom[self._name(name, *namespace, check_available=True)] = (
106
- new_type
107
- )
104
+ resolved = self._name(name, *namespace, check_available=True)
105
+ new_type = Protocol(self._enums, alias=resolved)
106
+ self.custom[resolved] = new_type
108
107
  return new_type
109
108
 
110
109
  def get_protocol(
@@ -37,8 +37,9 @@ class BaseIntPrimitive(PrimitiveIsCloseMixin[int]):
37
37
  """Set this primitive to a random integer."""
38
38
 
39
39
  assert self.kind.int_bounds is not None
40
- result = self.kind.int_bounds.random()
41
- self.set_value(result, timestamp_ns=timestamp_ns)
40
+ self.set_value(
41
+ self.kind.int_bounds.random(), timestamp_ns=timestamp_ns
42
+ )
42
43
 
43
44
  def increment(self, amount: int = 1, timestamp_ns: int = None) -> int:
44
45
  """Increment this primitive by some amount and return the new value."""
@@ -176,13 +176,20 @@ class Serializable(ABC):
176
176
 
177
177
  result = []
178
178
 
179
+ # Copy the chain element before it becomes part of the current chain if
180
+ # an array is created.
181
+ copy_base = None
182
+ if array_length is not None:
183
+ copy_base = chain.copy()
184
+
179
185
  self.end.assign(chain)
180
186
  result.append(chain)
181
187
 
182
188
  # Add additional array elements as copies.
183
189
  if array_length is not None:
190
+ assert copy_base is not None
184
191
  for _ in range(array_length - 1):
185
- inst = chain.copy()
192
+ inst = copy_base.copy()
186
193
  self.end.assign(inst)
187
194
  result.append(inst)
188
195
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: runtimepy
3
- Version: 5.11.0
3
+ Version: 5.11.1
4
4
  Summary: A framework for implementing Python services.
5
5
  Home-page: https://github.com/vkottler/runtimepy
6
6
  Author: Vaughn Kottler
@@ -17,11 +17,11 @@ Classifier: License :: OSI Approved :: MIT License
17
17
  Requires-Python: >=3.12
18
18
  Description-Content-Type: text/markdown
19
19
  License-File: LICENSE
20
- Requires-Dist: svgen>=0.7.4
21
- Requires-Dist: websockets
22
- Requires-Dist: vcorelib>=3.5.1
23
20
  Requires-Dist: psutil
21
+ Requires-Dist: vcorelib>=3.5.1
24
22
  Requires-Dist: aiofiles
23
+ Requires-Dist: svgen>=0.7.4
24
+ Requires-Dist: websockets
25
25
  Provides-Extra: test
26
26
  Requires-Dist: pylint; extra == "test"
27
27
  Requires-Dist: flake8; extra == "test"
@@ -50,11 +50,11 @@ Dynamic: requires-python
50
50
  =====================================
51
51
  generator=datazen
52
52
  version=3.1.4
53
- hash=12eb2a9d91dea3ae83e38a864f6cab4b
53
+ hash=4ef876633bf905b103835e81db45e721
54
54
  =====================================
55
55
  -->
56
56
 
57
- # runtimepy ([5.11.0](https://pypi.org/project/runtimepy/))
57
+ # runtimepy ([5.11.1](https://pypi.org/project/runtimepy/))
58
58
 
59
59
  [![python](https://img.shields.io/pypi/pyversions/runtimepy.svg)](https://pypi.org/project/runtimepy/)
60
60
  ![Build Status](https://github.com/vkottler/runtimepy/workflows/Python%20Package/badge.svg)
@@ -1,4 +1,4 @@
1
- runtimepy/__init__.py,sha256=_iqys5Hal_wrIAXPN1-B9DZRorvDPmYsRk12jBL_9hg,391
1
+ runtimepy/__init__.py,sha256=jnVk66eyyfxqRlrnXybadQhrpwK0h8K50mULrq-N3xg,391
2
2
  runtimepy/__main__.py,sha256=OPAed6hggoQdw-6QAR62mqLC-rCkdDhOq0wyeS2vDRI,332
3
3
  runtimepy/app.py,sha256=sTvatbsGZ2Hdel36Si_WUbNMtg9CzsJyExr5xjIcxDE,970
4
4
  runtimepy/dev_requirements.txt,sha256=j0dh11ztJAzfaUL0iFheGjaZj9ppDzmTkclTT8YKO8c,230
@@ -27,7 +27,7 @@ runtimepy/codec/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  runtimepy/codec/protocol/__init__.py,sha256=Rg7RSKGn2UBpGMpwq1aCLUBA5h4pORdh53NfR7Cjw0U,1530
28
28
  runtimepy/codec/protocol/base.py,sha256=NRLB1ld0oB2IED5QRkwDwYsnHFG8gKtg3T7OHJ9_VkQ,10432
29
29
  runtimepy/codec/protocol/json.py,sha256=oiaJLCzptJ5uajnpO8EDYET8gIspZIrVuyLjLuAC5dw,4142
30
- runtimepy/codec/system/__init__.py,sha256=cW_Y-hC9GgIXhFQBmNO0Lx8HdFNh-wxx1mTck14PFzw,6913
30
+ runtimepy/codec/system/__init__.py,sha256=1Yy4RkNoh8tf6MTKZO1EszlCnE6jTevN2du4LU_-vxw,6933
31
31
  runtimepy/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
32
  runtimepy/commands/all.py,sha256=jH2dsmkqyBFe_2ZlPFpko0UCMW3fFfJsuGIbeJFbDoQ,1619
33
33
  runtimepy/commands/arbiter.py,sha256=CtTMRYpqCAN3vWHkkr9jqWpoF7JGNXafKIBFmkarAfc,1567
@@ -236,7 +236,7 @@ runtimepy/primitives/bool.py,sha256=lATPgb1e62rjLn5XlJX8lP3tVYR3DlxV8RT9HpOMdT0,
236
236
  runtimepy/primitives/byte_order.py,sha256=80mMk1Sj_l49XvAtvrPmoYFpFYSM1HgYuwR2-P7os3Q,767
237
237
  runtimepy/primitives/evaluation.py,sha256=0N7mT8uoiJaY-coF2PeEXU2WO-FmbyN2Io9_EaghO9Q,4657
238
238
  runtimepy/primitives/float.py,sha256=6vzNKnnLzzM4vP10V4E0PHZQH6vTvIl34pId1oFtlqc,2146
239
- runtimepy/primitives/int.py,sha256=zaZZjVSuDtZsOWRYt8eN38pPVGZfj7y4IyrfQ1rVKTk,3620
239
+ runtimepy/primitives/int.py,sha256=Ia2vtzXXfBb8fj1mgwu_PFpblrL2qzsN4Qwjvk5NhT4,3618
240
240
  runtimepy/primitives/scaling.py,sha256=Vtxp2CSBahqPp4i2-IS4wjbcC023xwf-dqZMbYWf3V4,1144
241
241
  runtimepy/primitives/string.py,sha256=ic5VKhXCSIwEOUfqIb1VUpZPwjdAcBul-cLLIihVkQI,2532
242
242
  runtimepy/primitives/array/__init__.py,sha256=ZVJt4810hTFYMdolY_R75lRRHHaNKxZ4comBvuK_69E,8956
@@ -245,7 +245,7 @@ runtimepy/primitives/field/fields.py,sha256=jDNi1tl2Xc3GBmt6QJuqxbhP8MtxgertGbPF
245
245
  runtimepy/primitives/field/manager/__init__.py,sha256=BCRi6-_5OOJ8kz78JHkiLp8cZ71KA1uiF2zq5FFe9js,2586
246
246
  runtimepy/primitives/field/manager/base.py,sha256=EyWs5D9_reKOTLkh8PuW45ySjCh31fY_qrtFIcmIOV4,6914
247
247
  runtimepy/primitives/serializable/__init__.py,sha256=R9_derxnK1OCaYyqBZA4CCjPkXCBw6InkE8-3Zy75Uk,399
248
- runtimepy/primitives/serializable/base.py,sha256=ij-9WaUZIMljS1iztciuz0XTWJdlKuyNjvf5nu0HxrE,5471
248
+ runtimepy/primitives/serializable/base.py,sha256=EIj7Ao0sZaXCXgZari35kimjkr3SzFWGy3rNjxgsv1E,5727
249
249
  runtimepy/primitives/serializable/fixed.py,sha256=rhr6uVbo0Lvazk4fLI7iei-vVNEwP1J8-LoUjW1NaMI,1077
250
250
  runtimepy/primitives/serializable/framer.py,sha256=rsoGQz6vD7v_EMu67aqxVqbvmbs6hjytXZ8dHLBM0SQ,1815
251
251
  runtimepy/primitives/serializable/prefixed.py,sha256=oQXW0pGRovKolheL5ZL2m9aNVMCtKTAi5OlC9KW0iKI,2855
@@ -285,9 +285,9 @@ runtimepy/tui/task.py,sha256=nUZo9fuOC-k1Wpqdzkv9v1tQirCI28fZVgcC13Ijvus,1093
285
285
  runtimepy/tui/channels/__init__.py,sha256=evDaiIn-YS9uGhdo8ZGtP9VK1ek6sr_P1nJ9JuSET0o,4536
286
286
  runtimepy/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
287
287
  runtimepy/ui/controls.py,sha256=yvT7h3thbYaitsakcIAJ90EwKzJ4b-jnc6p3UuVf_XE,1241
288
- runtimepy-5.11.0.dist-info/licenses/LICENSE,sha256=yKBRwbO-cOPBrlpsZmJkkSa33DfY31aE8t7lZ0DwlUo,1071
289
- runtimepy-5.11.0.dist-info/METADATA,sha256=mj58S6d33EOyEgeZSpDwo9UU5imTeKZ2r5pRdrkguFk,9395
290
- runtimepy-5.11.0.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
291
- runtimepy-5.11.0.dist-info/entry_points.txt,sha256=-btVBkYv7ybcopqZ_pRky-bEzu3vhbaG3W3Z7ERBiFE,51
292
- runtimepy-5.11.0.dist-info/top_level.txt,sha256=0jPmh6yqHyyJJDwEID-LpQly-9kQ3WRMjH7Lix8peLg,10
293
- runtimepy-5.11.0.dist-info/RECORD,,
288
+ runtimepy-5.11.1.dist-info/licenses/LICENSE,sha256=yKBRwbO-cOPBrlpsZmJkkSa33DfY31aE8t7lZ0DwlUo,1071
289
+ runtimepy-5.11.1.dist-info/METADATA,sha256=nTdV1gy7arFtuBI5Y-yZvzR5mao4DJwlu2dgKv14ra4,9395
290
+ runtimepy-5.11.1.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
291
+ runtimepy-5.11.1.dist-info/entry_points.txt,sha256=-btVBkYv7ybcopqZ_pRky-bEzu3vhbaG3W3Z7ERBiFE,51
292
+ runtimepy-5.11.1.dist-info/top_level.txt,sha256=0jPmh6yqHyyJJDwEID-LpQly-9kQ3WRMjH7Lix8peLg,10
293
+ runtimepy-5.11.1.dist-info/RECORD,,