amsdal_crm 0.1.5__tar.gz → 0.1.7__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.
Files changed (75) hide show
  1. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/PKG-INFO +1 -1
  2. amsdal_crm-0.1.7/amsdal_crm/__about__.py +1 -0
  3. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/errors.py +1 -1
  4. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/lifecycle/consumer.py +8 -1
  5. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/migrations/0000_initial.py +0 -1
  6. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/models/stage.py +0 -4
  7. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/services/custom_field_service.py +2 -2
  8. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/unit/services/test_custom_field_service.py +2 -2
  9. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/uv.lock +44 -44
  10. amsdal_crm-0.1.5/amsdal_crm/__about__.py +0 -1
  11. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/.amsdal/.environment +0 -0
  12. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/.amsdal-cli +0 -0
  13. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/.github/workflows/ci.yml +0 -0
  14. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/.github/workflows/release.yml +0 -0
  15. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/.github/workflows/tag_check.yml +0 -0
  16. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/.gitignore +0 -0
  17. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/CLAUDE.md +0 -0
  18. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/README.md +0 -0
  19. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/RELEASE.md +0 -0
  20. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/Third-Party Materials - AMSDAL Dependencies - License Notices.md +0 -0
  21. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/__init__.py +0 -0
  22. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/app.py +0 -0
  23. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/constants.py +0 -0
  24. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/fixtures/__init__.py +0 -0
  25. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/fixtures/permissions.py +0 -0
  26. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/fixtures/pipelines.py +0 -0
  27. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/lifecycle/__init__.py +0 -0
  28. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/models/__init__.py +0 -0
  29. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/models/account.py +0 -0
  30. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/models/activity.py +0 -0
  31. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/models/attachment.py +0 -0
  32. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/models/contact.py +0 -0
  33. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/models/custom_field_definition.py +0 -0
  34. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/models/deal.py +0 -0
  35. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/models/pipeline.py +0 -0
  36. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/models/workflow_rule.py +0 -0
  37. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/services/__init__.py +0 -0
  38. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/services/activity_service.py +0 -0
  39. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/services/deal_service.py +0 -0
  40. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/services/email_service.py +0 -0
  41. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/services/workflow_service.py +0 -0
  42. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/amsdal_crm/settings.py +0 -0
  43. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/config.yml +0 -0
  44. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/license_check.py +0 -0
  45. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/pyproject.toml +0 -0
  46. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/scripts/release.sh +0 -0
  47. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/scripts/tag_check.sh +0 -0
  48. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/conftest.py +0 -0
  49. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/integration/__init__.py +0 -0
  50. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/integration/conftest.py +0 -0
  51. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/integration/services/__init__.py +0 -0
  52. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/integration/services/test_deal_service.py +0 -0
  53. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/integration/services/test_email_service.py +0 -0
  54. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/integration/services/test_workflow_service.py +0 -0
  55. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/unit/__init__.py +0 -0
  56. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/unit/conftest.py +0 -0
  57. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/unit/lifecycle/__init__.py +0 -0
  58. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/unit/lifecycle/test_consumer.py +0 -0
  59. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/unit/models/__init__.py +0 -0
  60. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/unit/models/test_account.py +0 -0
  61. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/unit/models/test_activity.py +0 -0
  62. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/unit/models/test_contact.py +0 -0
  63. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/unit/models/test_deal.py +0 -0
  64. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/unit/models/test_pipeline.py +0 -0
  65. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/unit/models/test_remaining.py +0 -0
  66. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/unit/models/test_stage.py +0 -0
  67. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/unit/services/__init__.py +0 -0
  68. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/unit/services/test_activity_service.py +0 -0
  69. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/unit/services/test_deal_service.py +0 -0
  70. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/unit/services/test_email_service.py +0 -0
  71. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/unit/services/test_workflow_service.py +0 -0
  72. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/unit/test_app.py +0 -0
  73. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/unit/test_constants.py +0 -0
  74. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/unit/test_errors.py +0 -0
  75. {amsdal_crm-0.1.5 → amsdal_crm-0.1.7}/tests/unit/test_settings.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: amsdal_crm
3
- Version: 0.1.5
3
+ Version: 0.1.7
4
4
  Summary: amsdal-crm plugin for AMSDAL Framework
5
5
  Requires-Python: >=3.11
6
6
  Requires-Dist: aiohttp==3.12.15
@@ -0,0 +1 @@
1
+ __version__ = '0.1.7'
@@ -1,7 +1,7 @@
1
1
  """CRM Custom Exceptions."""
2
2
 
3
3
 
4
- class CRMError(Exception):
4
+ class CRMError(ValueError):
5
5
  """Base exception for CRM errors."""
6
6
 
7
7
 
@@ -126,7 +126,7 @@ def _add_custom_fields_to_control(control: dict[str, Any], custom_field_controls
126
126
  )
127
127
 
128
128
 
129
- def get_values_from_response(response: dict[str, Any] | list[dict[str, Any]]) -> dict[str, Any]:
129
+ def _get_values_from_response(response: dict[str, Any] | list[dict[str, Any]]) -> dict[str, Any]:
130
130
  """
131
131
  Extracts values from a response dictionary or list of dictionaries.
132
132
 
@@ -150,6 +150,13 @@ def get_values_from_response(response: dict[str, Any] | list[dict[str, Any]]) ->
150
150
  return response['rows'][0]
151
151
 
152
152
 
153
+ def get_values_from_response(response: dict[str, Any] | list[dict[str, Any]]) -> dict[str, Any]:
154
+ _values = _get_values_from_response(response)
155
+ if 'custom_fields' in _values:
156
+ return _values['custom_fields']
157
+ return {}
158
+
159
+
153
160
  class CustomAttributesFrontendConfigConsumer(LifecycleConsumer):
154
161
  """Consumer that propagates custom attributes into frontend config.
155
162
 
@@ -430,7 +430,6 @@ class Migration(migrations.Migration):
430
430
  "db_fields": {"pipeline": ["pipeline_partition_key"]},
431
431
  "primary_key": ["partition_key"],
432
432
  "indexed": [["order"]],
433
- "unique": [["pipeline", "name"]],
434
433
  "foreign_keys": {"pipeline": [{"pipeline_partition_key": "string"}, "Pipeline", ["partition_key"]]},
435
434
  },
436
435
  "description": "Pipeline stage model.\n\nRepresents a stage within a sales pipeline with win probability\nand closed status indicators.",
@@ -2,7 +2,6 @@
2
2
 
3
3
  from typing import ClassVar
4
4
 
5
- from amsdal_models.classes.data_models.constraints import UniqueConstraint
6
5
  from amsdal_models.classes.data_models.indexes import IndexInfo
7
6
  from amsdal_models.classes.model import Model
8
7
  from amsdal_utils.models.enums import ModuleType
@@ -20,9 +19,6 @@ class Stage(Model):
20
19
  model_config: ClassVar[ConfigDict] = ConfigDict(arbitrary_types_allowed=True)
21
20
 
22
21
  __module_type__: ClassVar[ModuleType] = ModuleType.CONTRIB
23
- __constraints__: ClassVar[list[UniqueConstraint]] = [
24
- UniqueConstraint(name='unq_stage_pipeline_name', fields=['pipeline', 'name'])
25
- ]
26
22
  __indexes__: ClassVar[list[IndexInfo]] = [
27
23
  IndexInfo(name='idx_stage_order', field='order'),
28
24
  ]
@@ -126,10 +126,10 @@ class CustomFieldService:
126
126
 
127
127
  elif definition.field_type == 'date':
128
128
  if isinstance(value, datetime):
129
- return value
129
+ return value.isoformat()
130
130
  # Try parsing ISO format
131
131
  try:
132
- return datetime.fromisoformat(value)
132
+ return datetime.fromisoformat(value).isoformat()
133
133
  except (ValueError, AttributeError) as exc:
134
134
  msg = f'Invalid date for field {definition.field_name}: {value}'
135
135
  raise CustomFieldValidationError(msg) from exc
@@ -169,11 +169,11 @@ def test_validate_date_field():
169
169
  # datetime object
170
170
  dt = datetime(2026, 1, 15, tzinfo=UTC)
171
171
  result = CustomFieldService._validate_field_value(field_def, dt)
172
- assert result == dt
172
+ assert result == dt.isoformat()
173
173
 
174
174
  # ISO format string
175
175
  result = CustomFieldService._validate_field_value(field_def, '2026-01-15T10:30:00')
176
- assert isinstance(result, datetime)
176
+ assert isinstance(result, str)
177
177
 
178
178
 
179
179
  def test_validate_date_field_invalid():
@@ -107,7 +107,7 @@ wheels = [
107
107
 
108
108
  [[package]]
109
109
  name = "amsdal"
110
- version = "0.5.40"
110
+ version = "0.5.41"
111
111
  source = { registry = "https://pypi.org/simple" }
112
112
  dependencies = [
113
113
  { name = "amsdal-data" },
@@ -124,15 +124,15 @@ dependencies = [
124
124
  { name = "pyotp" },
125
125
  ]
126
126
  wheels = [
127
- { url = "https://files.pythonhosted.org/packages/f7/e6/a538f617dda3a02610bd5e88cdce53ce2754d5a288a3da7197e25fd4f841/amsdal-0.5.40-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c787f1e4514a98abcb939f750fe9db6c9d4642cf1a53a50bf255a4f5c78b06f3", size = 2778584, upload-time = "2026-01-19T19:09:25.062Z" },
128
- { url = "https://files.pythonhosted.org/packages/b1/79/b8915d8e8db6dc86ace0123711820bbcd149cac71a3ee14f8808b25dd9f1/amsdal-0.5.40-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c567b54c0b2c0ee1104031a3f0d8abea4563a706eb86958edf18143c3a8461c9", size = 7711047, upload-time = "2026-01-19T19:09:26.689Z" },
129
- { url = "https://files.pythonhosted.org/packages/31/f0/bbfdad12075a0802706dec422a29ef4bd8305632a4a25d5f98a619afa0b7/amsdal-0.5.40-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:637692a20935c7395cce790b72deae8d07e76b36f7683b91ff46d10264c68100", size = 7375717, upload-time = "2026-01-19T19:09:14.267Z" },
130
- { url = "https://files.pythonhosted.org/packages/d6/49/0ade0be0b96b2014099e53bddded2bd3d56cb8e7dd1e1e3f71fae2530989/amsdal-0.5.40-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3c855cd2cc446e247adccac8cc5f5799edd6bb8ce21f6eb6d2024acf413b3142", size = 2775657, upload-time = "2026-01-19T19:09:23.529Z" },
131
- { url = "https://files.pythonhosted.org/packages/48/8a/9a2935dc1de2e2dbbeb9dd5b7303870a5d6a0c33ce3ca51960e601ae7a29/amsdal-0.5.40-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:05bfddc2fa1f1687d5bf9e1f059018d83dee1166d744f62f98ea7ff978e398dd", size = 8031497, upload-time = "2026-01-19T19:09:19.828Z" },
132
- { url = "https://files.pythonhosted.org/packages/c9/c0/1603376073d8006857007ee8b0aa5190268fda4b2a4049b03bbf68a1bbb1/amsdal-0.5.40-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:29aed1febacd2eed4dcd209c92c1411121c252969c51ed4ce1c4b2335e04b0e4", size = 7706848, upload-time = "2026-01-19T19:09:17.869Z" },
133
- { url = "https://files.pythonhosted.org/packages/82/76/504f92a1507393188d8ef8b70f571f08d0f3db3031207c749b5ea3633825/amsdal-0.5.40-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:644cb604c22a21f54e80d64daf3370c6e51297e609fbf6e66508b41881a5e0f3", size = 2676039, upload-time = "2026-01-19T19:09:16.164Z" },
134
- { url = "https://files.pythonhosted.org/packages/ee/11/2d8d81ea80b1aa46f2dcd803988e7dcc95e7313ec82a2d9f15855df47acf/amsdal-0.5.40-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3485ba6db7d4f0c161c848c040985dcfbe6d413e97e696a47408efc312ae9101", size = 7655743, upload-time = "2026-01-19T19:09:11.916Z" },
135
- { url = "https://files.pythonhosted.org/packages/1c/5d/36483b8f84dd1e04626cc055ab33d9d41b935bfac7cca92d901b938ae463/amsdal-0.5.40-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:06b4f57f363d113d36fceb027db8ecec6f858b1b045f2211f39e109fcf0284c0", size = 7319367, upload-time = "2026-01-19T19:09:22.015Z" },
127
+ { url = "https://files.pythonhosted.org/packages/a8/b4/6671fe6c368a81248687cf8b9bc39ef41f85c88359175096b5026fa8f470/amsdal-0.5.41-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:389b96b990fbd00e5824f4763ac614cf83b5fbcd053c2b1ac781ba88ccbb49be", size = 2778916, upload-time = "2026-01-22T22:33:59.542Z" },
128
+ { url = "https://files.pythonhosted.org/packages/02/ee/d4b08c4a280ac03f1d4df890c22d5924a0021c601e02a5951369ec972e8d/amsdal-0.5.41-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:97d82f59de2d364ccb032258bc40d1077d8a4d8ac5d91f86a7cd61c4f209c5ec", size = 7709837, upload-time = "2026-01-22T22:34:01.191Z" },
129
+ { url = "https://files.pythonhosted.org/packages/a7/2a/cf97bc6dde475c71833080e54da75c9d31fd5d03b1abf952e7f979fe3f7c/amsdal-0.5.41-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1a197c7b1ac713f97c432ff9ad64e925d5a1d3972f759e936c78b68c5a3079fe", size = 7375364, upload-time = "2026-01-22T22:34:14.762Z" },
130
+ { url = "https://files.pythonhosted.org/packages/4f/87/f6c818e6cbe13b5338facf0e289a36fa6089f74659b23398801b0cb7de2e/amsdal-0.5.41-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3d0acfad85c765eac6eb1f56ec8fdbbcc06a5243e67fb545cc67769f29a59e14", size = 2775803, upload-time = "2026-01-22T22:34:11.306Z" },
131
+ { url = "https://files.pythonhosted.org/packages/83/f5/4b7b93656bb08e2a52ecef3052fdec0eac75f1dbf2ded2d382d938258337/amsdal-0.5.41-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a501c88a28a947f997a2405a421ee9a11677a6884e33c4e9631b1ddd89880bcc", size = 8030669, upload-time = "2026-01-22T22:33:57.644Z" },
132
+ { url = "https://files.pythonhosted.org/packages/ee/64/74961a94d7fedeb537ad0ff1f6cd1fd23b2e7c2633f8f08a8da8f2f858cd/amsdal-0.5.41-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:39ac2c21a387cd9ddf57a2fd19da9af4e35905fc06bc7c64018bf3badea4a98c", size = 7707164, upload-time = "2026-01-22T22:34:07.198Z" },
133
+ { url = "https://files.pythonhosted.org/packages/b5/a2/ba04a3d9a77a80120a50c0fbbf5545b313ff4501a9b8290f1e26d4d0f10c/amsdal-0.5.41-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:695aa28e27e8cc1c251f5580bbff6953373823bd34273ab0e57c72813dd504eb", size = 2676231, upload-time = "2026-01-22T22:34:13.18Z" },
134
+ { url = "https://files.pythonhosted.org/packages/69/54/1d48e17e14d5754eda046082e297eb1b7c98e8c6a0351c3703af5b00f5cd/amsdal-0.5.41-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4216a65712c527d79fa044c8ac3c79ebeef7c0c7245ab82f6f554fd5ce9760ed", size = 7654861, upload-time = "2026-01-22T22:34:03.162Z" },
135
+ { url = "https://files.pythonhosted.org/packages/99/bb/e345fc5e2c8a9e36555dec5e946e1723ba7e48ab391d1c897c0fb63719a4/amsdal-0.5.41-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9742ea09909ab2872f615c514a340b64258250dcb5951cc75335960faf98de2c", size = 7317493, upload-time = "2026-01-22T22:34:05.174Z" },
136
136
  ]
137
137
 
138
138
  [[package]]
@@ -332,7 +332,7 @@ wheels = [
332
332
 
333
333
  [[package]]
334
334
  name = "amsdal-server"
335
- version = "0.5.14"
335
+ version = "0.5.16"
336
336
  source = { registry = "https://pypi.org/simple" }
337
337
  dependencies = [
338
338
  { name = "amsdal" },
@@ -345,9 +345,9 @@ dependencies = [
345
345
  { name = "pydantic-settings" },
346
346
  { name = "uvicorn" },
347
347
  ]
348
- sdist = { url = "https://files.pythonhosted.org/packages/3f/82/ee4153584fb737b0b0ccc13c540c785d8eebc4b15bca9b2242a5cd10c473/amsdal_server-0.5.14.tar.gz", hash = "sha256:9acb426e6bfef511afb282ab09d9c42c5931f2058d7307440bf6c53a27a34587", size = 153330, upload-time = "2025-12-23T09:52:15.375Z" }
348
+ sdist = { url = "https://files.pythonhosted.org/packages/09/b4/46f0f78735ecca4ee0d97b59060e4b90eaf35f7551801468effeea2a9432/amsdal_server-0.5.16.tar.gz", hash = "sha256:0b32b3ca80c2e6401edc6b5973cbd35a4fa3b81db26128505ab964287a73f3fe", size = 182577, upload-time = "2026-01-23T10:57:48.351Z" }
349
349
  wheels = [
350
- { url = "https://files.pythonhosted.org/packages/d6/a9/5a95c3c9da06ba99e905a91eefca9bea20f66e8a4999199352414a172bdb/amsdal_server-0.5.14-py3-none-any.whl", hash = "sha256:fef08db6ac541fb7615641620291ec6cf79ab04b88ed18c82958b0e835f32a19", size = 97907, upload-time = "2025-12-23T09:52:13.661Z" },
350
+ { url = "https://files.pythonhosted.org/packages/c3/18/5a1e03019694e34240c23d51823ea2c1e7b9c528a4a648781e4877907f5f/amsdal_server-0.5.16-py3-none-any.whl", hash = "sha256:7a839a60c53c7335ef178e84a414063837427fccf124f757d1a17f49aa157294", size = 99424, upload-time = "2026-01-23T10:57:46.366Z" },
351
351
  ]
352
352
 
353
353
  [[package]]
@@ -1988,11 +1988,11 @@ wheels = [
1988
1988
 
1989
1989
  [[package]]
1990
1990
  name = "packaging"
1991
- version = "25.0"
1991
+ version = "26.0"
1992
1992
  source = { registry = "https://pypi.org/simple" }
1993
- sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" }
1993
+ sdist = { url = "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz", hash = "sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4", size = 143416, upload-time = "2026-01-21T20:50:39.064Z" }
1994
1994
  wheels = [
1995
- { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" },
1995
+ { url = "https://files.pythonhosted.org/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.0-py3-none-any.whl", hash = "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529", size = 74366, upload-time = "2026-01-21T20:50:37.788Z" },
1996
1996
  ]
1997
1997
 
1998
1998
  [[package]]
@@ -2520,11 +2520,11 @@ wheels = [
2520
2520
 
2521
2521
  [[package]]
2522
2522
  name = "pycparser"
2523
- version = "2.23"
2523
+ version = "3.0"
2524
2524
  source = { registry = "https://pypi.org/simple" }
2525
- sdist = { url = "https://files.pythonhosted.org/packages/fe/cf/d2d3b9f5699fb1e4615c8e32ff220203e43b248e1dfcc6736ad9057731ca/pycparser-2.23.tar.gz", hash = "sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2", size = 173734, upload-time = "2025-09-09T13:23:47.91Z" }
2525
+ sdist = { url = "https://files.pythonhosted.org/packages/1b/7d/92392ff7815c21062bea51aa7b87d45576f649f16458d78b7cf94b9ab2e6/pycparser-3.0.tar.gz", hash = "sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29", size = 103492, upload-time = "2026-01-21T14:26:51.89Z" }
2526
2526
  wheels = [
2527
- { url = "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl", hash = "sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934", size = 118140, upload-time = "2025-09-09T13:23:46.651Z" },
2527
+ { url = "https://files.pythonhosted.org/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl", hash = "sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992", size = 48172, upload-time = "2026-01-21T14:26:50.693Z" },
2528
2528
  ]
2529
2529
 
2530
2530
  [[package]]
@@ -3139,28 +3139,28 @@ wheels = [
3139
3139
 
3140
3140
  [[package]]
3141
3141
  name = "ruff"
3142
- version = "0.14.13"
3143
- source = { registry = "https://pypi.org/simple" }
3144
- sdist = { url = "https://files.pythonhosted.org/packages/50/0a/1914efb7903174b381ee2ffeebb4253e729de57f114e63595114c8ca451f/ruff-0.14.13.tar.gz", hash = "sha256:83cd6c0763190784b99650a20fec7633c59f6ebe41c5cc9d45ee42749563ad47", size = 6059504, upload-time = "2026-01-15T20:15:16.918Z" }
3145
- wheels = [
3146
- { url = "https://files.pythonhosted.org/packages/c3/ae/0deefbc65ca74b0ab1fd3917f94dc3b398233346a74b8bbb0a916a1a6bf6/ruff-0.14.13-py3-none-linux_armv6l.whl", hash = "sha256:76f62c62cd37c276cb03a275b198c7c15bd1d60c989f944db08a8c1c2dbec18b", size = 13062418, upload-time = "2026-01-15T20:14:50.779Z" },
3147
- { url = "https://files.pythonhosted.org/packages/47/df/5916604faa530a97a3c154c62a81cb6b735c0cb05d1e26d5ad0f0c8ac48a/ruff-0.14.13-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:914a8023ece0528d5cc33f5a684f5f38199bbb566a04815c2c211d8f40b5d0ed", size = 13442344, upload-time = "2026-01-15T20:15:07.94Z" },
3148
- { url = "https://files.pythonhosted.org/packages/4c/f3/e0e694dd69163c3a1671e102aa574a50357536f18a33375050334d5cd517/ruff-0.14.13-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d24899478c35ebfa730597a4a775d430ad0d5631b8647a3ab368c29b7e7bd063", size = 12354720, upload-time = "2026-01-15T20:15:09.854Z" },
3149
- { url = "https://files.pythonhosted.org/packages/c3/e8/67f5fcbbaee25e8fc3b56cc33e9892eca7ffe09f773c8e5907757a7e3bdb/ruff-0.14.13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9aaf3870f14d925bbaf18b8a2347ee0ae7d95a2e490e4d4aea6813ed15ebc80e", size = 12774493, upload-time = "2026-01-15T20:15:20.908Z" },
3150
- { url = "https://files.pythonhosted.org/packages/6b/ce/d2e9cb510870b52a9565d885c0d7668cc050e30fa2c8ac3fb1fda15c083d/ruff-0.14.13-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac5b7f63dd3b27cc811850f5ffd8fff845b00ad70e60b043aabf8d6ecc304e09", size = 12815174, upload-time = "2026-01-15T20:15:05.74Z" },
3151
- { url = "https://files.pythonhosted.org/packages/88/00/c38e5da58beebcf4fa32d0ddd993b63dfacefd02ab7922614231330845bf/ruff-0.14.13-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78d2b1097750d90ba82ce4ba676e85230a0ed694178ca5e61aa9b459970b3eb9", size = 13680909, upload-time = "2026-01-15T20:15:14.537Z" },
3152
- { url = "https://files.pythonhosted.org/packages/61/61/cd37c9dd5bd0a3099ba79b2a5899ad417d8f3b04038810b0501a80814fd7/ruff-0.14.13-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:7d0bf87705acbbcb8d4c24b2d77fbb73d40210a95c3903b443cd9e30824a5032", size = 15144215, upload-time = "2026-01-15T20:15:22.886Z" },
3153
- { url = "https://files.pythonhosted.org/packages/56/8a/85502d7edbf98c2df7b8876f316c0157359165e16cdf98507c65c8d07d3d/ruff-0.14.13-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a3eb5da8e2c9e9f13431032fdcbe7681de9ceda5835efee3269417c13f1fed5c", size = 14706067, upload-time = "2026-01-15T20:14:48.271Z" },
3154
- { url = "https://files.pythonhosted.org/packages/7e/2f/de0df127feb2ee8c1e54354dc1179b4a23798f0866019528c938ba439aca/ruff-0.14.13-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:642442b42957093811cd8d2140dfadd19c7417030a7a68cf8d51fcdd5f217427", size = 14133916, upload-time = "2026-01-15T20:14:57.357Z" },
3155
- { url = "https://files.pythonhosted.org/packages/0d/77/9b99686bb9fe07a757c82f6f95e555c7a47801a9305576a9c67e0a31d280/ruff-0.14.13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4acdf009f32b46f6e8864af19cbf6841eaaed8638e65c8dac845aea0d703c841", size = 13859207, upload-time = "2026-01-15T20:14:55.111Z" },
3156
- { url = "https://files.pythonhosted.org/packages/7d/46/2bdcb34a87a179a4d23022d818c1c236cb40e477faf0d7c9afb6813e5876/ruff-0.14.13-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:591a7f68860ea4e003917d19b5c4f5ac39ff558f162dc753a2c5de897fd5502c", size = 14043686, upload-time = "2026-01-15T20:14:52.841Z" },
3157
- { url = "https://files.pythonhosted.org/packages/1a/a9/5c6a4f56a0512c691cf143371bcf60505ed0f0860f24a85da8bd123b2bf1/ruff-0.14.13-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:774c77e841cc6e046fc3e91623ce0903d1cd07e3a36b1a9fe79b81dab3de506b", size = 12663837, upload-time = "2026-01-15T20:15:18.921Z" },
3158
- { url = "https://files.pythonhosted.org/packages/fe/bb/b920016ece7651fa7fcd335d9d199306665486694d4361547ccb19394c44/ruff-0.14.13-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:61f4e40077a1248436772bb6512db5fc4457fe4c49e7a94ea7c5088655dd21ae", size = 12805867, upload-time = "2026-01-15T20:14:59.272Z" },
3159
- { url = "https://files.pythonhosted.org/packages/7d/b3/0bd909851e5696cd21e32a8fc25727e5f58f1934b3596975503e6e85415c/ruff-0.14.13-py3-none-musllinux_1_2_i686.whl", hash = "sha256:6d02f1428357fae9e98ac7aa94b7e966fd24151088510d32cf6f902d6c09235e", size = 13208528, upload-time = "2026-01-15T20:15:03.732Z" },
3160
- { url = "https://files.pythonhosted.org/packages/3b/3b/e2d94cb613f6bbd5155a75cbe072813756363eba46a3f2177a1fcd0cd670/ruff-0.14.13-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:e399341472ce15237be0c0ae5fbceca4b04cd9bebab1a2b2c979e015455d8f0c", size = 13929242, upload-time = "2026-01-15T20:15:11.918Z" },
3161
- { url = "https://files.pythonhosted.org/packages/6a/c5/abd840d4132fd51a12f594934af5eba1d5d27298a6f5b5d6c3be45301caf/ruff-0.14.13-py3-none-win32.whl", hash = "sha256:ef720f529aec113968b45dfdb838ac8934e519711da53a0456038a0efecbd680", size = 12919024, upload-time = "2026-01-15T20:14:43.647Z" },
3162
- { url = "https://files.pythonhosted.org/packages/c2/55/6384b0b8ce731b6e2ade2b5449bf07c0e4c31e8a2e68ea65b3bafadcecc5/ruff-0.14.13-py3-none-win_amd64.whl", hash = "sha256:6070bd026e409734b9257e03e3ef18c6e1a216f0435c6751d7a8ec69cb59abef", size = 14097887, upload-time = "2026-01-15T20:15:01.48Z" },
3163
- { url = "https://files.pythonhosted.org/packages/4d/e1/7348090988095e4e39560cfc2f7555b1b2a7357deba19167b600fdf5215d/ruff-0.14.13-py3-none-win_arm64.whl", hash = "sha256:7ab819e14f1ad9fe39f246cfcc435880ef7a9390d81a2b6ac7e01039083dd247", size = 13080224, upload-time = "2026-01-15T20:14:45.853Z" },
3142
+ version = "0.14.14"
3143
+ source = { registry = "https://pypi.org/simple" }
3144
+ sdist = { url = "https://files.pythonhosted.org/packages/2e/06/f71e3a86b2df0dfa2d2f72195941cd09b44f87711cb7fa5193732cb9a5fc/ruff-0.14.14.tar.gz", hash = "sha256:2d0f819c9a90205f3a867dbbd0be083bee9912e170fd7d9704cc8ae45824896b", size = 4515732, upload-time = "2026-01-22T22:30:17.527Z" }
3145
+ wheels = [
3146
+ { url = "https://files.pythonhosted.org/packages/d2/89/20a12e97bc6b9f9f68343952da08a8099c57237aef953a56b82711d55edd/ruff-0.14.14-py3-none-linux_armv6l.whl", hash = "sha256:7cfe36b56e8489dee8fbc777c61959f60ec0f1f11817e8f2415f429552846aed", size = 10467650, upload-time = "2026-01-22T22:30:08.578Z" },
3147
+ { url = "https://files.pythonhosted.org/packages/a3/b1/c5de3fd2d5a831fcae21beda5e3589c0ba67eec8202e992388e4b17a6040/ruff-0.14.14-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:6006a0082336e7920b9573ef8a7f52eec837add1265cc74e04ea8a4368cd704c", size = 10883245, upload-time = "2026-01-22T22:30:04.155Z" },
3148
+ { url = "https://files.pythonhosted.org/packages/b8/7c/3c1db59a10e7490f8f6f8559d1db8636cbb13dccebf18686f4e3c9d7c772/ruff-0.14.14-py3-none-macosx_11_0_arm64.whl", hash = "sha256:026c1d25996818f0bf498636686199d9bd0d9d6341c9c2c3b62e2a0198b758de", size = 10231273, upload-time = "2026-01-22T22:30:34.642Z" },
3149
+ { url = "https://files.pythonhosted.org/packages/a1/6e/5e0e0d9674be0f8581d1f5e0f0a04761203affce3232c1a1189d0e3b4dad/ruff-0.14.14-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f666445819d31210b71e0a6d1c01e24447a20b85458eea25a25fe8142210ae0e", size = 10585753, upload-time = "2026-01-22T22:30:31.781Z" },
3150
+ { url = "https://files.pythonhosted.org/packages/23/09/754ab09f46ff1884d422dc26d59ba18b4e5d355be147721bb2518aa2a014/ruff-0.14.14-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3c0f18b922c6d2ff9a5e6c3ee16259adc513ca775bcf82c67ebab7cbd9da5bc8", size = 10286052, upload-time = "2026-01-22T22:30:24.827Z" },
3151
+ { url = "https://files.pythonhosted.org/packages/c8/cc/e71f88dd2a12afb5f50733851729d6b571a7c3a35bfdb16c3035132675a0/ruff-0.14.14-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1629e67489c2dea43e8658c3dba659edbfd87361624b4040d1df04c9740ae906", size = 11043637, upload-time = "2026-01-22T22:30:13.239Z" },
3152
+ { url = "https://files.pythonhosted.org/packages/67/b2/397245026352494497dac935d7f00f1468c03a23a0c5db6ad8fc49ca3fb2/ruff-0.14.14-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:27493a2131ea0f899057d49d303e4292b2cae2bb57253c1ed1f256fbcd1da480", size = 12194761, upload-time = "2026-01-22T22:30:22.542Z" },
3153
+ { url = "https://files.pythonhosted.org/packages/5b/06/06ef271459f778323112c51b7587ce85230785cd64e91772034ddb88f200/ruff-0.14.14-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:01ff589aab3f5b539e35db38425da31a57521efd1e4ad1ae08fc34dbe30bd7df", size = 12005701, upload-time = "2026-01-22T22:30:20.499Z" },
3154
+ { url = "https://files.pythonhosted.org/packages/41/d6/99364514541cf811ccc5ac44362f88df66373e9fec1b9d1c4cc830593fe7/ruff-0.14.14-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1cc12d74eef0f29f51775f5b755913eb523546b88e2d733e1d701fe65144e89b", size = 11282455, upload-time = "2026-01-22T22:29:59.679Z" },
3155
+ { url = "https://files.pythonhosted.org/packages/ca/71/37daa46f89475f8582b7762ecd2722492df26421714a33e72ccc9a84d7a5/ruff-0.14.14-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb8481604b7a9e75eff53772496201690ce2687067e038b3cc31aaf16aa0b974", size = 11215882, upload-time = "2026-01-22T22:29:57.032Z" },
3156
+ { url = "https://files.pythonhosted.org/packages/2c/10/a31f86169ec91c0705e618443ee74ede0bdd94da0a57b28e72db68b2dbac/ruff-0.14.14-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:14649acb1cf7b5d2d283ebd2f58d56b75836ed8c6f329664fa91cdea19e76e66", size = 11180549, upload-time = "2026-01-22T22:30:27.175Z" },
3157
+ { url = "https://files.pythonhosted.org/packages/fd/1e/c723f20536b5163adf79bdd10c5f093414293cdf567eed9bdb7b83940f3f/ruff-0.14.14-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:e8058d2145566510790eab4e2fad186002e288dec5e0d343a92fe7b0bc1b3e13", size = 10543416, upload-time = "2026-01-22T22:30:01.964Z" },
3158
+ { url = "https://files.pythonhosted.org/packages/3e/34/8a84cea7e42c2d94ba5bde1d7a4fae164d6318f13f933d92da6d7c2041ff/ruff-0.14.14-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:e651e977a79e4c758eb807f0481d673a67ffe53cfa92209781dfa3a996cf8412", size = 10285491, upload-time = "2026-01-22T22:30:29.51Z" },
3159
+ { url = "https://files.pythonhosted.org/packages/55/ef/b7c5ea0be82518906c978e365e56a77f8de7678c8bb6651ccfbdc178c29f/ruff-0.14.14-py3-none-musllinux_1_2_i686.whl", hash = "sha256:cc8b22da8d9d6fdd844a68ae937e2a0adf9b16514e9a97cc60355e2d4b219fc3", size = 10733525, upload-time = "2026-01-22T22:30:06.499Z" },
3160
+ { url = "https://files.pythonhosted.org/packages/6a/5b/aaf1dfbcc53a2811f6cc0a1759de24e4b03e02ba8762daabd9b6bd8c59e3/ruff-0.14.14-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:16bc890fb4cc9781bb05beb5ab4cd51be9e7cb376bf1dd3580512b24eb3fda2b", size = 11315626, upload-time = "2026-01-22T22:30:36.848Z" },
3161
+ { url = "https://files.pythonhosted.org/packages/2c/aa/9f89c719c467dfaf8ad799b9bae0df494513fb21d31a6059cb5870e57e74/ruff-0.14.14-py3-none-win32.whl", hash = "sha256:b530c191970b143375b6a68e6f743800b2b786bbcf03a7965b06c4bf04568167", size = 10502442, upload-time = "2026-01-22T22:30:38.93Z" },
3162
+ { url = "https://files.pythonhosted.org/packages/87/44/90fa543014c45560cae1fffc63ea059fb3575ee6e1cb654562197e5d16fb/ruff-0.14.14-py3-none-win_amd64.whl", hash = "sha256:3dde1435e6b6fe5b66506c1dff67a421d0b7f6488d466f651c07f4cab3bf20fd", size = 11630486, upload-time = "2026-01-22T22:30:10.852Z" },
3163
+ { url = "https://files.pythonhosted.org/packages/9e/6a/40fee331a52339926a92e17ae748827270b288a35ef4a15c9c8f2ec54715/ruff-0.14.14-py3-none-win_arm64.whl", hash = "sha256:56e6981a98b13a32236a72a8da421d7839221fa308b223b9283312312e5ac76c", size = 10920448, upload-time = "2026-01-22T22:30:15.417Z" },
3164
3164
  ]
3165
3165
 
3166
3166
  [[package]]
@@ -3550,11 +3550,11 @@ wheels = [
3550
3550
 
3551
3551
  [[package]]
3552
3552
  name = "wcwidth"
3553
- version = "0.2.14"
3553
+ version = "0.3.1"
3554
3554
  source = { registry = "https://pypi.org/simple" }
3555
- sdist = { url = "https://files.pythonhosted.org/packages/24/30/6b0809f4510673dc723187aeaf24c7f5459922d01e2f794277a3dfb90345/wcwidth-0.2.14.tar.gz", hash = "sha256:4d478375d31bc5395a3c55c40ccdf3354688364cd61c4f6adacaa9215d0b3605", size = 102293, upload-time = "2025-09-22T16:29:53.023Z" }
3555
+ sdist = { url = "https://files.pythonhosted.org/packages/25/6f/e1ea6dcb21da43d581284d8d5a715c2affb906aa3ed301f77f7f5ae0e7d5/wcwidth-0.3.1.tar.gz", hash = "sha256:5aedb626a9c0d941b990cfebda848d538d45c9493a3384d080aff809143bd3be", size = 233057, upload-time = "2026-01-22T22:08:25.231Z" }
3556
3556
  wheels = [
3557
- { url = "https://files.pythonhosted.org/packages/af/b5/123f13c975e9f27ab9c0770f514345bd406d0e8d3b7a0723af9d43f710af/wcwidth-0.2.14-py2.py3-none-any.whl", hash = "sha256:a7bb560c8aee30f9957e5f9895805edd20602f2d7f720186dfd906e82b4982e1", size = 37286, upload-time = "2025-09-22T16:29:51.641Z" },
3557
+ { url = "https://files.pythonhosted.org/packages/d7/9c/9d951691bf1224772f6082d3b2e8c110edfd9622627908ad75bb0f691979/wcwidth-0.3.1-py3-none-any.whl", hash = "sha256:b2d355df3ec5d51bfc973a22fb4ea9a03b12fdcbf00d0abd22a2c78b12ccc177", size = 85746, upload-time = "2026-01-22T22:08:23.564Z" },
3558
3558
  ]
3559
3559
 
3560
3560
  [[package]]
@@ -1 +0,0 @@
1
- __version__ = '0.1.5'
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes