stinger-python-utils 0.4.0__tar.gz → 0.5.0__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.
@@ -38,6 +38,8 @@ Read the current version from `pyproject.toml`. Then ask the user:
38
38
 
39
39
  Apply the chosen version to the `version` field in `pyproject.toml`.
40
40
 
41
+ After changing the version, run `uv sync` to update the `uv.lock` file before committing.
42
+
41
43
  ### 4. Confirm commit and push
42
44
 
43
45
  Ask the user:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: stinger-python-utils
3
- Version: 0.4.0
3
+ Version: 0.5.0
4
4
  Summary: Common utilities for Stinger Python services.
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "stinger-python-utils"
7
- version = "0.4.0"
7
+ version = "0.5.0"
8
8
  description = "Common utilities for Stinger Python services."
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -24,4 +24,5 @@ dev = [
24
24
  "black>=23.3.0",
25
25
  "mypy>=1.4.1",
26
26
  "pytest>=7.0.0; python_version >= '3.10'",
27
+ "pytest>=6.2.0,<7.0.0; python_version < '3.10'",
27
28
  ]
@@ -246,6 +246,7 @@ class MessageCreator:
246
246
  retain=False,
247
247
  content_type=content_type,
248
248
  response_topic=response_topic,
249
+ message_expiry_interval=5,
249
250
  correlation_data=(
250
251
  correlation_id.encode("utf-8")
251
252
  if isinstance(correlation_id, str)
@@ -325,6 +326,7 @@ class MessageCreator:
325
326
  request_obj: BaseModel,
326
327
  response_topic: str,
327
328
  correlation_id: Union[str, bytes, None] = None,
329
+ expiry_seconds: Optional[int] = None,
328
330
  ) -> Message:
329
331
  return cls.binary_request_message(
330
332
  topic,
@@ -332,6 +334,7 @@ class MessageCreator:
332
334
  "application/json",
333
335
  response_topic,
334
336
  correlation_id,
337
+ expiry_seconds,
335
338
  )
336
339
 
337
340
  @classmethod
@@ -342,12 +345,13 @@ class MessageCreator:
342
345
  content_type: str,
343
346
  response_topic: str,
344
347
  correlation_id: Union[str, bytes, None] = None,
348
+ expiry_seconds: Optional[int] = None,
345
349
  ) -> Message:
346
350
  cls._validate_topic(topic)
347
351
  cls._validate_topic(response_topic, "response_topic")
348
352
  if correlation_id is None:
349
353
  correlation_id = str(uuid.uuid4())
350
- return Message(
354
+ msg = Message(
351
355
  topic=topic,
352
356
  payload=payload,
353
357
  qos=1,
@@ -360,3 +364,6 @@ class MessageCreator:
360
364
  else correlation_id
361
365
  ),
362
366
  )
367
+ if expiry_seconds is not None:
368
+ msg.message_expiry_interval = expiry_seconds
369
+ return msg
@@ -94,6 +94,51 @@ wheels = [
94
94
  { url = "https://files.pythonhosted.org/packages/45/19/cc8bd127d28a43da249aa955cfd164cf8fd534e79e42cea96c4854d72fd0/ast_serialize-0.5.0-cp39-abi3-win_arm64.whl", hash = "sha256:92a31c9c20d25a076edaeec76b128a3535d74a24f340b9a8a7e96c9b86dc9642", size = 1081181, upload-time = "2026-05-17T17:48:28.122Z" },
95
95
  ]
96
96
 
97
+ [[package]]
98
+ name = "atomicwrites"
99
+ version = "1.4.1"
100
+ source = { registry = "https://pypi.org/simple" }
101
+ sdist = { url = "https://files.pythonhosted.org/packages/87/c6/53da25344e3e3a9c01095a89f16dbcda021c609ddb42dd6d7c0528236fb2/atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11", size = 14227, upload-time = "2022-07-08T18:31:40.459Z" }
102
+
103
+ [[package]]
104
+ name = "attrs"
105
+ version = "24.2.0"
106
+ source = { registry = "https://pypi.org/simple" }
107
+ resolution-markers = [
108
+ "python_full_version < '3.8'",
109
+ ]
110
+ dependencies = [
111
+ { name = "importlib-metadata" },
112
+ ]
113
+ sdist = { url = "https://files.pythonhosted.org/packages/fc/0f/aafca9af9315aee06a89ffde799a10a582fe8de76c563ee80bbcdc08b3fb/attrs-24.2.0.tar.gz", hash = "sha256:5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346", size = 792678, upload-time = "2024-08-06T14:37:38.364Z" }
114
+ wheels = [
115
+ { url = "https://files.pythonhosted.org/packages/6a/21/5b6702a7f963e95456c0de2d495f67bf5fd62840ac655dc451586d23d39a/attrs-24.2.0-py3-none-any.whl", hash = "sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2", size = 63001, upload-time = "2024-08-06T14:37:36.958Z" },
116
+ ]
117
+
118
+ [[package]]
119
+ name = "attrs"
120
+ version = "25.3.0"
121
+ source = { registry = "https://pypi.org/simple" }
122
+ resolution-markers = [
123
+ "python_full_version == '3.8.*'",
124
+ ]
125
+ sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload-time = "2025-03-13T11:10:22.779Z" }
126
+ wheels = [
127
+ { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload-time = "2025-03-13T11:10:21.14Z" },
128
+ ]
129
+
130
+ [[package]]
131
+ name = "attrs"
132
+ version = "26.1.0"
133
+ source = { registry = "https://pypi.org/simple" }
134
+ resolution-markers = [
135
+ "python_full_version == '3.9.*'",
136
+ ]
137
+ sdist = { url = "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz", hash = "sha256:d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32", size = 952055, upload-time = "2026-03-19T14:22:25.026Z" }
138
+ wheels = [
139
+ { url = "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl", hash = "sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309", size = 67548, upload-time = "2026-03-19T14:22:23.645Z" },
140
+ ]
141
+
97
142
  [[package]]
98
143
  name = "black"
99
144
  version = "23.3.0"
@@ -354,10 +399,45 @@ wheels = [
354
399
  { url = "https://files.pythonhosted.org/packages/ff/94/64287b38c7de4c90683630338cf28f129decbba0a44f0c6db35a873c73c4/importlib_metadata-6.7.0-py3-none-any.whl", hash = "sha256:cb52082e659e97afc5dac71e79de97d8681de3aa07ff18578330904a9d18e5b5", size = 22934, upload-time = "2023-06-18T21:44:33.441Z" },
355
400
  ]
356
401
 
402
+ [[package]]
403
+ name = "iniconfig"
404
+ version = "2.0.0"
405
+ source = { registry = "https://pypi.org/simple" }
406
+ resolution-markers = [
407
+ "python_full_version < '3.8'",
408
+ ]
409
+ sdist = { url = "https://files.pythonhosted.org/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913/iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", size = 4646, upload-time = "2023-01-07T11:08:11.254Z" }
410
+ wheels = [
411
+ { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892, upload-time = "2023-01-07T11:08:09.864Z" },
412
+ ]
413
+
414
+ [[package]]
415
+ name = "iniconfig"
416
+ version = "2.1.0"
417
+ source = { registry = "https://pypi.org/simple" }
418
+ resolution-markers = [
419
+ "python_full_version == '3.9.*'",
420
+ "python_full_version == '3.8.*'",
421
+ ]
422
+ sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" }
423
+ wheels = [
424
+ { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" },
425
+ ]
426
+
357
427
  [[package]]
358
428
  name = "iniconfig"
359
429
  version = "2.3.0"
360
430
  source = { registry = "https://pypi.org/simple" }
431
+ resolution-markers = [
432
+ "python_full_version >= '3.15' and sys_platform == 'win32'",
433
+ "python_full_version == '3.14.*' and sys_platform == 'win32'",
434
+ "python_full_version >= '3.15' and sys_platform != 'win32'",
435
+ "python_full_version == '3.14.*' and sys_platform != 'win32'",
436
+ "python_full_version >= '3.11' and python_full_version < '3.14' and sys_platform == 'win32'",
437
+ "python_full_version == '3.10.*' and sys_platform == 'win32'",
438
+ "python_full_version >= '3.11' and python_full_version < '3.14' and sys_platform != 'win32'",
439
+ "python_full_version == '3.10.*' and sys_platform != 'win32'",
440
+ ]
361
441
  sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" }
362
442
  wheels = [
363
443
  { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" },
@@ -856,15 +936,62 @@ wheels = [
856
936
  { url = "https://files.pythonhosted.org/packages/81/e6/cd9575ac904136b3cbf7aa7ee819ef86eedb7274e46f230e94ea4342e729/platformdirs-4.10.0-py3-none-any.whl", hash = "sha256:fb516cdb12eb0d857d0cd85a7c57cea4d060bee4578d6cf5a14dfdf8cbf8784a", size = 22743, upload-time = "2026-05-28T03:32:52.175Z" },
857
937
  ]
858
938
 
939
+ [[package]]
940
+ name = "pluggy"
941
+ version = "1.2.0"
942
+ source = { registry = "https://pypi.org/simple" }
943
+ resolution-markers = [
944
+ "python_full_version < '3.8'",
945
+ ]
946
+ dependencies = [
947
+ { name = "importlib-metadata" },
948
+ ]
949
+ sdist = { url = "https://files.pythonhosted.org/packages/8a/42/8f2833655a29c4e9cb52ee8a2be04ceac61bcff4a680fb338cbd3d1e322d/pluggy-1.2.0.tar.gz", hash = "sha256:d12f0c4b579b15f5e054301bb226ee85eeeba08ffec228092f8defbaa3a4c4b3", size = 61613, upload-time = "2023-06-21T09:12:28.745Z" }
950
+ wheels = [
951
+ { url = "https://files.pythonhosted.org/packages/51/32/4a79112b8b87b21450b066e102d6608907f4c885ed7b04c3fdb085d4d6ae/pluggy-1.2.0-py3-none-any.whl", hash = "sha256:c2fd55a7d7a3863cba1a013e4e2414658b1d07b6bc57b3919e0c63c9abb99849", size = 17695, upload-time = "2023-06-21T09:12:27.397Z" },
952
+ ]
953
+
954
+ [[package]]
955
+ name = "pluggy"
956
+ version = "1.5.0"
957
+ source = { registry = "https://pypi.org/simple" }
958
+ resolution-markers = [
959
+ "python_full_version == '3.8.*'",
960
+ ]
961
+ sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955, upload-time = "2024-04-20T21:34:42.531Z" }
962
+ wheels = [
963
+ { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556, upload-time = "2024-04-20T21:34:40.434Z" },
964
+ ]
965
+
859
966
  [[package]]
860
967
  name = "pluggy"
861
968
  version = "1.6.0"
862
969
  source = { registry = "https://pypi.org/simple" }
970
+ resolution-markers = [
971
+ "python_full_version >= '3.15' and sys_platform == 'win32'",
972
+ "python_full_version == '3.14.*' and sys_platform == 'win32'",
973
+ "python_full_version >= '3.15' and sys_platform != 'win32'",
974
+ "python_full_version == '3.14.*' and sys_platform != 'win32'",
975
+ "python_full_version >= '3.11' and python_full_version < '3.14' and sys_platform == 'win32'",
976
+ "python_full_version == '3.10.*' and sys_platform == 'win32'",
977
+ "python_full_version >= '3.11' and python_full_version < '3.14' and sys_platform != 'win32'",
978
+ "python_full_version == '3.10.*' and sys_platform != 'win32'",
979
+ "python_full_version == '3.9.*'",
980
+ ]
863
981
  sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" }
864
982
  wheels = [
865
983
  { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" },
866
984
  ]
867
985
 
986
+ [[package]]
987
+ name = "py"
988
+ version = "1.11.0"
989
+ source = { registry = "https://pypi.org/simple" }
990
+ sdist = { url = "https://files.pythonhosted.org/packages/98/ff/fec109ceb715d2a6b4c4a85a61af3b40c723a961e8828319fbcb15b868dc/py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719", size = 207796, upload-time = "2021-11-04T17:17:01.377Z" }
991
+ wheels = [
992
+ { url = "https://files.pythonhosted.org/packages/f6/f0/10642828a8dfb741e5f3fbaac830550a518a775c7fff6f04a007259b0548/py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378", size = 98708, upload-time = "2021-11-04T17:17:00.152Z" },
993
+ ]
994
+
868
995
  [[package]]
869
996
  name = "py-stinger-conn-iface"
870
997
  version = "0.1.3"
@@ -1329,16 +1456,57 @@ wheels = [
1329
1456
  { url = "https://files.pythonhosted.org/packages/87/d4/96a30d2172b94affbea218121967ab9b5f35a0fbf29c26377b0a8b2edc2a/pyqttier-0.3.0-py3-none-any.whl", hash = "sha256:f9b09aac0b687d5e7da4ae1fb9955e51249ba8b33ed823f85919eb9138e2abb4", size = 9659, upload-time = "2026-09-18T23:13:55.671Z" },
1330
1457
  ]
1331
1458
 
1459
+ [[package]]
1460
+ name = "pytest"
1461
+ version = "6.2.5"
1462
+ source = { registry = "https://pypi.org/simple" }
1463
+ resolution-markers = [
1464
+ "python_full_version == '3.9.*'",
1465
+ "python_full_version == '3.8.*'",
1466
+ "python_full_version < '3.8'",
1467
+ ]
1468
+ dependencies = [
1469
+ { name = "atomicwrites", marker = "sys_platform == 'win32'" },
1470
+ { name = "attrs", version = "24.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.8' or python_full_version >= '3.10'" },
1471
+ { name = "attrs", version = "25.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.8.*'" },
1472
+ { name = "attrs", version = "26.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" },
1473
+ { name = "colorama", marker = "sys_platform == 'win32'" },
1474
+ { name = "importlib-metadata", marker = "python_full_version < '3.8' or python_full_version >= '3.10'" },
1475
+ { name = "iniconfig", version = "2.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.8' or python_full_version >= '3.10'" },
1476
+ { name = "iniconfig", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.8' and python_full_version < '3.10'" },
1477
+ { name = "packaging", version = "24.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.8' or python_full_version >= '3.10'" },
1478
+ { name = "packaging", version = "26.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.8' and python_full_version < '3.10'" },
1479
+ { name = "pluggy", version = "1.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.8' or python_full_version >= '3.10'" },
1480
+ { name = "pluggy", version = "1.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.8.*'" },
1481
+ { name = "pluggy", version = "1.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" },
1482
+ { name = "py" },
1483
+ { name = "toml" },
1484
+ ]
1485
+ sdist = { url = "https://files.pythonhosted.org/packages/4b/24/7d1f2d2537de114bdf1e6875115113ca80091520948d370c964b88070af2/pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89", size = 1118720, upload-time = "2021-08-30T17:39:02.823Z" }
1486
+ wheels = [
1487
+ { url = "https://files.pythonhosted.org/packages/40/76/86f886e750b81a4357b6ed606b2bcf0ce6d6c27ad3c09ebf63ed674fc86e/pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134", size = 280654, upload-time = "2021-08-30T17:39:00.918Z" },
1488
+ ]
1489
+
1332
1490
  [[package]]
1333
1491
  name = "pytest"
1334
1492
  version = "9.1.1"
1335
1493
  source = { registry = "https://pypi.org/simple" }
1494
+ resolution-markers = [
1495
+ "python_full_version >= '3.15' and sys_platform == 'win32'",
1496
+ "python_full_version == '3.14.*' and sys_platform == 'win32'",
1497
+ "python_full_version >= '3.15' and sys_platform != 'win32'",
1498
+ "python_full_version == '3.14.*' and sys_platform != 'win32'",
1499
+ "python_full_version >= '3.11' and python_full_version < '3.14' and sys_platform == 'win32'",
1500
+ "python_full_version == '3.10.*' and sys_platform == 'win32'",
1501
+ "python_full_version >= '3.11' and python_full_version < '3.14' and sys_platform != 'win32'",
1502
+ "python_full_version == '3.10.*' and sys_platform != 'win32'",
1503
+ ]
1336
1504
  dependencies = [
1337
1505
  { name = "colorama", marker = "sys_platform == 'win32'" },
1338
1506
  { name = "exceptiongroup", marker = "python_full_version < '3.11'" },
1339
- { name = "iniconfig" },
1507
+ { name = "iniconfig", version = "2.3.0", source = { registry = "https://pypi.org/simple" } },
1340
1508
  { name = "packaging", version = "26.2", source = { registry = "https://pypi.org/simple" } },
1341
- { name = "pluggy" },
1509
+ { name = "pluggy", version = "1.6.0", source = { registry = "https://pypi.org/simple" } },
1342
1510
  { name = "pygments" },
1343
1511
  { name = "tomli", version = "2.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
1344
1512
  ]
@@ -1418,7 +1586,8 @@ dev = [
1418
1586
  { name = "mypy", version = "1.14.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.8.*'" },
1419
1587
  { name = "mypy", version = "1.19.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" },
1420
1588
  { name = "mypy", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
1421
- { name = "pytest", marker = "python_full_version >= '3.10'" },
1589
+ { name = "pytest", version = "6.2.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
1590
+ { name = "pytest", version = "9.1.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
1422
1591
  ]
1423
1592
 
1424
1593
  [package.metadata]
@@ -1432,9 +1601,19 @@ requires-dist = [
1432
1601
  dev = [
1433
1602
  { name = "black", specifier = ">=23.3.0" },
1434
1603
  { name = "mypy", specifier = ">=1.4.1" },
1604
+ { name = "pytest", marker = "python_full_version < '3.10'", specifier = ">=6.2.0,<7.0.0" },
1435
1605
  { name = "pytest", marker = "python_full_version >= '3.10'", specifier = ">=7.0.0" },
1436
1606
  ]
1437
1607
 
1608
+ [[package]]
1609
+ name = "toml"
1610
+ version = "0.10.2"
1611
+ source = { registry = "https://pypi.org/simple" }
1612
+ sdist = { url = "https://files.pythonhosted.org/packages/be/ba/1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c/toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f", size = 22253, upload-time = "2020-11-01T01:40:22.204Z" }
1613
+ wheels = [
1614
+ { url = "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", size = 16588, upload-time = "2020-11-01T01:40:20.672Z" },
1615
+ ]
1616
+
1438
1617
  [[package]]
1439
1618
  name = "tomli"
1440
1619
  version = "2.0.1"