dbus2mqtt 0.4.3__tar.gz → 0.4.4__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.

Potentially problematic release.


This version of dbus2mqtt might be problematic. Click here for more details.

Files changed (80) hide show
  1. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/.github/workflows/pre-commit.yml +7 -5
  2. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/.github/workflows/publish.yml +1 -1
  3. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/.pre-commit-config.yaml +9 -4
  4. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/PKG-INFO +2 -2
  5. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/docker/Dockerfile.dev +1 -1
  6. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/docker/Dockerfile.pypi +1 -1
  7. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/docs/examples/home_assistant_media_player.md +1 -1
  8. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/docs/hooks.py +1 -1
  9. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/pyproject.toml +6 -1
  10. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/renovate.json +8 -0
  11. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/src/dbus2mqtt/config/jsonarparse.py +2 -1
  12. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/src/dbus2mqtt/mqtt/mqtt_client.py +7 -7
  13. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/src/dbus2mqtt/template/templating.py +3 -2
  14. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/tests/config/fixtures/payload_template_jinja_expressions.yaml +7 -2
  15. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/tests/config/test_config.py +5 -0
  16. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/uv.lock +136 -91
  17. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/.dockerignore +0 -0
  18. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/.env.example +0 -0
  19. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  20. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  21. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/.github/release-drafter.yml +0 -0
  22. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/.github/scripts/release-versions.py +0 -0
  23. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/.github/workflows/ci.yml +0 -0
  24. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/.github/workflows/deploy-docs.yml +0 -0
  25. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/.github/workflows/docker-dev.yml +0 -0
  26. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/.github/workflows/docker-stable.yml +0 -0
  27. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/.github/workflows/release-drafter.yml +0 -0
  28. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/.github/workflows/trivy.yml +0 -0
  29. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/.gitignore +0 -0
  30. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/.python-version +0 -0
  31. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/.vscode/launch.json +0 -0
  32. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/.vscode/settings.json +0 -0
  33. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/.yamllint.yml +0 -0
  34. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/LICENSE +0 -0
  35. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/README.md +0 -0
  36. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/docs/developer/debugging_dbus.md +0 -0
  37. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/docs/developer/index.md +0 -0
  38. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/docs/examples/bluez.md +0 -0
  39. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/docs/examples/bluez.yaml +0 -0
  40. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/docs/examples/dbus2mqtt_internal_state.md +0 -0
  41. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/docs/examples/dbus2mqtt_internal_state.yaml +0 -0
  42. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/docs/examples/home_assistant_media_player.yaml +0 -0
  43. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/docs/examples/index.md +0 -0
  44. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/docs/examples/linux_desktop.md +0 -0
  45. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/docs/examples/linux_desktop.yaml +0 -0
  46. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/docs/flows/flow_actions.md +0 -0
  47. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/docs/flows/flow_triggers.md +0 -0
  48. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/docs/flows/index.md +0 -0
  49. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/docs/index.md +0 -0
  50. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/mkdocs.yml +0 -0
  51. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/src/dbus2mqtt/__init__.py +0 -0
  52. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/src/dbus2mqtt/__main__.py +0 -0
  53. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/src/dbus2mqtt/config/__init__.py +0 -0
  54. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/src/dbus2mqtt/dbus/dbus_client.py +0 -0
  55. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/src/dbus2mqtt/dbus/dbus_types.py +0 -0
  56. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/src/dbus2mqtt/dbus/dbus_util.py +0 -0
  57. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/src/dbus2mqtt/dbus/introspection_patches/mpris_playerctl.py +0 -0
  58. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/src/dbus2mqtt/dbus/introspection_patches/mpris_vlc.py +0 -0
  59. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/src/dbus2mqtt/event_broker.py +0 -0
  60. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/src/dbus2mqtt/flow/__init__.py +0 -0
  61. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/src/dbus2mqtt/flow/actions/context_set.py +0 -0
  62. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/src/dbus2mqtt/flow/actions/log_action.py +0 -0
  63. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/src/dbus2mqtt/flow/actions/mqtt_publish.py +0 -0
  64. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/src/dbus2mqtt/flow/flow_processor.py +0 -0
  65. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/src/dbus2mqtt/main.py +0 -0
  66. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/src/dbus2mqtt/template/dbus_template_functions.py +0 -0
  67. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/tests/__init__.py +0 -0
  68. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/tests/config/fixtures/payload_template_off.yaml +0 -0
  69. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/tests/config/fixtures/schedule_cron_trigger.yaml +0 -0
  70. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/tests/config/test_examples.py +0 -0
  71. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/tests/conftest.py +0 -0
  72. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/tests/dbus/test_dbus_client.py +0 -0
  73. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/tests/dbus/test_dbus_client_mqtt_command.py +0 -0
  74. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/tests/flow/actions/test_context_set.py +0 -0
  75. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/tests/flow/actions/test_log.py +0 -0
  76. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/tests/flow/actions/test_mqtt_publish.py +0 -0
  77. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/tests/flow/test_flow_processor.py +0 -0
  78. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/tests/flow/triggers/test_dbus_client_triggers.py +0 -0
  79. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/tests/template/test_templating.py +0 -0
  80. {dbus2mqtt-0.4.3 → dbus2mqtt-0.4.4}/tests/template/test_templating_config.py +0 -0
@@ -17,11 +17,13 @@ jobs:
17
17
 
18
18
  - name: Install uv
19
19
  uses: astral-sh/setup-uv@v6
20
-
21
- # - name: "Set up Python"
22
- # uses: actions/setup-python@v5
23
- # with:
24
- # python-version-file: ".python-version"
20
+ with:
21
+ activate-environment: true
22
+ enable-cache: true
23
+ cache-dependency-glob: |
24
+ **/uv.lock
25
+ **/pyproject.toml
26
+ **/.pre-commit-config.yaml
25
27
 
26
28
  - name: Uv sync
27
29
  run: uv sync
@@ -48,7 +48,7 @@ jobs:
48
48
 
49
49
  steps:
50
50
  - name: Retrieve release distributions
51
- uses: actions/download-artifact@v4
51
+ uses: actions/download-artifact@v5
52
52
  with:
53
53
  name: release-dists
54
54
  path: dist/
@@ -1,6 +1,6 @@
1
1
  repos:
2
2
  - repo: https://github.com/pre-commit/pre-commit-hooks
3
- rev: v5.0.0
3
+ rev: v6.0.0
4
4
  hooks:
5
5
  - id: check-case-conflict
6
6
  - id: check-executables-have-shebangs
@@ -33,7 +33,7 @@ repos:
33
33
  - --strict
34
34
 
35
35
  - repo: https://github.com/astral-sh/ruff-pre-commit
36
- rev: v0.12.3
36
+ rev: v0.12.10
37
37
  hooks:
38
38
  - id: ruff
39
39
  args:
@@ -42,11 +42,16 @@ repos:
42
42
  - I
43
43
 
44
44
  - repo: https://github.com/astral-sh/uv-pre-commit
45
- rev: 0.7.21
45
+ rev: 0.8.13
46
46
  hooks:
47
47
  - id: uv-lock
48
48
 
49
49
  - repo: https://github.com/RobertCraigie/pyright-python
50
- rev: v1.1.403
50
+ rev: v1.1.404
51
51
  hooks:
52
52
  - id: pyright
53
+
54
+ - repo: https://github.com/fpgmaas/deptry
55
+ rev: "0.23.1"
56
+ hooks:
57
+ - id: deptry
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dbus2mqtt
3
- Version: 0.4.3
3
+ Version: 0.4.4
4
4
  Summary: General purpose DBus to MQTT bridge - expose signals, methods and properties over MQTT - featuring jinja based templating, payload enrichment and MPRIS / BlueZ / Home Assistant ready examples
5
5
  Project-URL: Documentation, https://jwnmulder.github.io/dbus2mqtt
6
6
  Project-URL: Source, https://github.com/jwnmulder/dbus2mqtt
@@ -29,7 +29,7 @@ Requires-Dist: jsonargparse>=4.38.0
29
29
  Requires-Dist: paho-mqtt>=2.1.0
30
30
  Requires-Dist: pydantic>=2.11.3
31
31
  Requires-Dist: python-dotenv>=1.1.0
32
- Requires-Dist: schedule>=1.2.2
32
+ Requires-Dist: pyyaml>=6.0.2
33
33
  Description-Content-Type: text/markdown
34
34
 
35
35
  # dbus2mqtt
@@ -25,7 +25,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \
25
25
  uv sync --frozen --no-dev
26
26
 
27
27
  # Then, use a final image without uv
28
- FROM python:3.13-slim-bookworm@sha256:6544e0e002b40ae0f59bc3618b07c1e48064c4faed3a15ae2fbd2e8f663e8283
28
+ FROM python:3.13-slim-bookworm@sha256:9b8102b7b3a61db24fe58f335b526173e5aeaaf7d13b2fbfb514e20f84f5e386
29
29
  # It is important to use the image that matches the builder, as the path to the
30
30
  # Python executable must be the same, e.g., using `python:3.12-slim-bookworm`
31
31
  # will fail.
@@ -1,4 +1,4 @@
1
- FROM python:3.13-slim-bookworm@sha256:6544e0e002b40ae0f59bc3618b07c1e48064c4faed3a15ae2fbd2e8f663e8283
1
+ FROM python:3.13-slim-bookworm@sha256:9b8102b7b3a61db24fe58f335b526173e5aeaaf7d13b2fbfb514e20f84f5e386
2
2
 
3
3
  WORKDIR /app
4
4
 
@@ -95,7 +95,7 @@ media_player:
95
95
  - platform: media_player_template
96
96
  media_players:
97
97
  mpris_media_player:
98
- device_class: generic
98
+ device_class: receiver
99
99
  friendly_name: MPRIS Media Player
100
100
  value_template: "{{ states('sensor.mpris_media_player') }}"
101
101
 
@@ -5,7 +5,7 @@ from mkdocs.structure.pages import Page
5
5
 
6
6
  def on_page_markdown(markdown: str, page: Page, config: MkDocsConfig, files: Files):
7
7
 
8
- print(f"on_page_markdown: {page}")
8
+ # print(f"on_page_markdown: {page}")
9
9
  return markdown
10
10
 
11
11
  def on_page_content(html: str, page: Page, config: MkDocsConfig, files: Files):
@@ -49,7 +49,7 @@ dependencies = [
49
49
  "paho-mqtt>=2.1.0",
50
50
  "pydantic>=2.11.3",
51
51
  "python-dotenv>=1.1.0",
52
- "schedule>=1.2.2",
52
+ "pyyaml>=6.0.2",
53
53
  ]
54
54
 
55
55
  [dependency-groups]
@@ -65,6 +65,7 @@ dev = [
65
65
  "mkdocs>=1.6.1",
66
66
  "mkdocs-material>=9.6.15",
67
67
  "mkdocs-open-in-new-tab>=1.0.8",
68
+ "deptry>=0.23.0",
68
69
  ]
69
70
 
70
71
  [project.urls]
@@ -75,6 +76,10 @@ Issues = "https://github.com/jwnmulder/dbus2mqtt/issues"
75
76
  [project.scripts]
76
77
  dbus2mqtt = "dbus2mqtt.main:main"
77
78
 
79
+ [tool.deptry.per_rule_ignores]
80
+ DEP003 = ["dbus2mqtt"]
81
+ DEP004 = ["mkdocs"]
82
+
78
83
  [tool.taskipy.tasks]
79
84
  lint-ruff = "ruff check"
80
85
  lint-pyright = "pyright"
@@ -26,10 +26,18 @@
26
26
  "pinDigests": true,
27
27
  "separateMinorPatch": true
28
28
  },
29
+ {
30
+ "matchDatasources": ["docker"],
31
+ "matchPackageNames": "python",
32
+ "matchUpdateTypes": ["major", "minor"],
33
+ "dependencyDashboardApproval": true
34
+ },
29
35
  {
30
36
  "matchDatasources": ["docker"],
31
37
  "matchPackageNames": "python",
32
38
  "matchUpdateTypes": ["patch", "pin", "digest"],
39
+ "automerge": true,
40
+ "addLabels": ["automerge"],
33
41
  "extends": ["schedule:weekly"]
34
42
  }
35
43
  ]
@@ -13,7 +13,8 @@ def _custom_yaml_load(stream):
13
13
  # Anoyingly, values starting with {{ and ending with }} are working with the default yaml_loader
14
14
  # from jsonargparse. Somehow its not when we use the custom yaml loader.
15
15
  # This fixes it
16
- if v.startswith("{{") or v.startswith("{%"):
16
+ first_line = v.splitlines()[0].strip()
17
+ if "#" not in first_line and ("{{" in first_line or first_line.startswith("{%")):
17
18
  return stream
18
19
 
19
20
  # Delegate to default yaml loader from jsonargparse
@@ -122,21 +122,21 @@ class MqttClient:
122
122
 
123
123
  def on_message(self, client: mqtt.Client, userdata: Any, msg: mqtt.MQTTMessage):
124
124
 
125
- # Skip retained messages
126
- payload = msg.payload.decode()
127
- if msg.retain:
128
- logger.info(f"on_message: skipping msg with retain=True, topic={msg.topic}, payload={payload}")
129
- return
130
-
131
125
  # Skip messages being sent by other dbus2mqtt clients
132
126
  if msg.properties:
133
127
  user_properties: list[tuple[str, object]] = getattr(msg.properties, "UserProperty", [])
134
128
  client_id = next((str(v) for k, v in user_properties if k == "client_id"), None)
135
129
  if client_id and client_id != self.client_id:
136
- logger.info(f"on_message: skipping msg from another dbus2mqtt client, topic={msg.topic}, client_id={client_id}")
130
+ logger.debug(f"on_message: skipping msg from another dbus2mqtt client, topic={msg.topic}, client_id={client_id}")
137
131
  if client_id and client_id.startswith(self.client_id_prefix):
138
132
  return
139
133
 
134
+ # Skip retained messages
135
+ payload = msg.payload.decode()
136
+ if msg.retain:
137
+ logger.info(f"on_message: skipping msg with retain=True, topic={msg.topic}, payload={payload}")
138
+ return
139
+
140
140
  try:
141
141
  json_payload = json.loads(payload) if payload else {}
142
142
  logger.debug(f"on_message: msg.topic={msg.topic}, msg.payload={json.dumps(json_payload)}")
@@ -5,6 +5,7 @@ from typing import Any, TypeVar
5
5
 
6
6
  from jinja2 import BaseLoader, StrictUndefined, TemplateError
7
7
  from jinja2.nativetypes import NativeEnvironment
8
+ from jinja2_ansible_filters import AnsibleCoreFiltersExtension
8
9
 
9
10
  TemplateResultType = TypeVar('TemplateResultType')
10
11
 
@@ -23,14 +24,14 @@ class TemplateEngine:
23
24
 
24
25
  self.jinja2_env = NativeEnvironment(
25
26
  loader=BaseLoader(),
26
- extensions=['jinja2_ansible_filters.AnsibleCoreFiltersExtension'],
27
+ extensions=[AnsibleCoreFiltersExtension],
27
28
  undefined=StrictUndefined,
28
29
  keep_trailing_newline=False
29
30
  )
30
31
 
31
32
  self.jinja2_async_env = NativeEnvironment(
32
33
  loader=BaseLoader(),
33
- extensions=['jinja2_ansible_filters.AnsibleCoreFiltersExtension'],
34
+ extensions=[AnsibleCoreFiltersExtension],
34
35
  undefined=StrictUndefined,
35
36
  enable_async=True
36
37
  )
@@ -1,5 +1,4 @@
1
- %YAML 1.2
2
- ---
1
+ # Intended comment as jinja expressions in comment in first line was tripping config parsing: {{ "shouldnotfail" }}
3
2
  dbus:
4
3
  subscriptions: []
5
4
  flows:
@@ -17,3 +16,9 @@ flows:
17
16
  topic: dbus2mqtt/org.mpris.MediaPlayer2/state
18
17
  payload_template: |-
19
18
  {% set val = "testvalue" %}
19
+ - name: "jinja expression in the middle"
20
+ triggers: []
21
+ actions:
22
+ - type: log
23
+ msg: |-
24
+ jinja value {{ "testvalue" }} in the middle of a string
@@ -49,6 +49,7 @@ def test_cron_trigger_string_value():
49
49
 
50
50
  def test_jsonargparse_jinja_expressions():
51
51
  """values starting with {{ are not parsed correctly
52
+ values containing {{ are not parsed correctly
52
53
  """
53
54
  dotenv.load_dotenv(".env.example")
54
55
 
@@ -68,3 +69,7 @@ def test_jsonargparse_jinja_expressions():
68
69
  action = config.flows[1].actions[0]
69
70
  assert action.type == "mqtt_publish"
70
71
  assert action.payload_template == """{% set val = "testvalue" %}"""
72
+
73
+ action = config.flows[2].actions[0]
74
+ assert action.type == "log"
75
+ assert action.msg == """jinja value {{ "testvalue" }} in the middle of a string"""
@@ -1,5 +1,5 @@
1
1
  version = 1
2
- revision = 2
2
+ revision = 3
3
3
  requires-python = ">=3.10"
4
4
 
5
5
  [[package]]
@@ -32,6 +32,15 @@ wheels = [
32
32
  { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537, upload-time = "2025-02-01T15:17:37.39Z" },
33
33
  ]
34
34
 
35
+ [[package]]
36
+ name = "backports-asyncio-runner"
37
+ version = "1.2.0"
38
+ source = { registry = "https://pypi.org/simple" }
39
+ sdist = { url = "https://files.pythonhosted.org/packages/8e/ff/70dca7d7cb1cbc0edb2c6cc0c38b65cba36cccc491eca64cabd5fe7f8670/backports_asyncio_runner-1.2.0.tar.gz", hash = "sha256:a5aa7b2b7d8f8bfcaa2b57313f70792df84e32a2a746f585213373f900b42162", size = 69893, upload-time = "2025-07-02T02:27:15.685Z" }
40
+ wheels = [
41
+ { url = "https://files.pythonhosted.org/packages/a0/59/76ab57e3fe74484f48a53f8e337171b4a2349e506eabe136d7e01d059086/backports_asyncio_runner-1.2.0-py3-none-any.whl", hash = "sha256:0da0a936a8aeb554eccb426dc55af3ba63bcdc69fa1a600b5bb305413a4477b5", size = 12313, upload-time = "2025-07-02T02:27:14.263Z" },
42
+ ]
43
+
35
44
  [[package]]
36
45
  name = "backrefs"
37
46
  version = "5.9"
@@ -127,14 +136,14 @@ wheels = [
127
136
 
128
137
  [[package]]
129
138
  name = "click"
130
- version = "8.2.1"
139
+ version = "8.2.2"
131
140
  source = { registry = "https://pypi.org/simple" }
132
141
  dependencies = [
133
142
  { name = "colorama", marker = "sys_platform == 'win32'" },
134
143
  ]
135
- sdist = { url = "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342, upload-time = "2025-05-20T23:19:49.832Z" }
144
+ sdist = { url = "https://files.pythonhosted.org/packages/e9/87/105111999772ec9730e3d4d910c723ea9763ece2ec441533a5cea1e87e3c/click-8.2.2.tar.gz", hash = "sha256:068616e6ef9705a07b6db727cb9c248f4eb9dae437a30239f56fa94b18b852ef", size = 263977, upload-time = "2025-08-02T02:23:41.102Z" }
136
145
  wheels = [
137
- { url = "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", size = 102215, upload-time = "2025-05-20T23:19:47.796Z" },
146
+ { url = "https://files.pythonhosted.org/packages/ec/85/e7297e34133ae1cfde3bffd30c24e1ef055248251baa877834e048687a28/click-8.2.2-py3-none-any.whl", hash = "sha256:52e1e9f5d3db8c85aa76968c7c67ed41ddbacb167f43201511c8fd61eb5ba2ca", size = 103900, upload-time = "2025-08-02T02:23:39.299Z" },
138
147
  ]
139
148
 
140
149
  [[package]]
@@ -160,43 +169,43 @@ wheels = [
160
169
 
161
170
  [[package]]
162
171
  name = "dbus-fast"
163
- version = "2.44.1"
164
- source = { registry = "https://pypi.org/simple" }
165
- sdist = { url = "https://files.pythonhosted.org/packages/c2/a1/9693ec018feed2a7d3420eac6c807eabc6eb84227913104123c0d2ea5737/dbus_fast-2.44.1.tar.gz", hash = "sha256:b027e96c39ed5622bb54d811dcdbbe9d9d6edec3454808a85a1ceb1867d9e25c", size = 72424, upload-time = "2025-04-03T19:07:20.042Z" }
166
- wheels = [
167
- { url = "https://files.pythonhosted.org/packages/77/c2/499a730f60ba13b1a0e9108f64fd9d1bdadfeffd4803e5a62aea7d7a074a/dbus_fast-2.44.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c78a004ba43aeaf203a19169d2b4be238375905645999da30cb0da730df80cf2", size = 703701, upload-time = "2025-04-03T19:21:42.172Z" },
168
- { url = "https://files.pythonhosted.org/packages/12/dd/ab0079fb27a2aaefffcb7362f3acd583d3eae6254ba856d51126a2ad6501/dbus_fast-2.44.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65a634286651398f3f1326e8200fc54289d52c2c00249d29cacfc691660a5da1", size = 880082, upload-time = "2025-04-03T19:21:43.611Z" },
169
- { url = "https://files.pythonhosted.org/packages/7f/d7/f55944dc56f58f051c74cee88104fe49cf243fed3a22d3ebe2d4cf8188c1/dbus_fast-2.44.1-cp310-cp310-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:0c4a128f8b29941307fc5722f37a1bb87ddcf733188d917ab374d9da0c6e1ce7", size = 948817, upload-time = "2025-04-03T19:21:45.712Z" },
170
- { url = "https://files.pythonhosted.org/packages/98/3d/573e98115119950965195b6000cf2cfe2ee762541a08c911dc9a70c8f40f/dbus_fast-2.44.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:adaf459fbce22a63d3578f3ec782c6978edf975eb06d71fb5b7a690496cf6bbe", size = 930452, upload-time = "2025-04-03T19:21:47.673Z" },
171
- { url = "https://files.pythonhosted.org/packages/2c/84/e1221f862c1e9f78291e724a5296e42e9f0edd712ac194ad50b1e28365ee/dbus_fast-2.44.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:de871cf722c436bdcceb96b2a3af7084e1fa468f7916ae278ec8ec49a6fa7eef", size = 898007, upload-time = "2025-04-03T19:21:49.237Z" },
172
- { url = "https://files.pythonhosted.org/packages/b0/47/a1506ab0571a4a2fc69b646facca04798f1f3812a783f5f9ceb059520b2c/dbus_fast-2.44.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b40863de172031bcc02f54c6f05cccb0b882dc2e1b09e11314a8ccf38c558760", size = 983105, upload-time = "2025-04-03T19:21:50.835Z" },
173
- { url = "https://files.pythonhosted.org/packages/86/4c/29228db1f8043b2e968198e076efe473490c643812f4b4410c8e946fc96d/dbus_fast-2.44.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8b7ae16555df6b56d3befcc51e036779ef47c0e954fdb9fb0821ac25212aefe9", size = 959658, upload-time = "2025-04-03T19:21:52.42Z" },
174
- { url = "https://files.pythonhosted.org/packages/3d/5a/814d00840c2a0d9af6f8983cac0e84ba7c93ffb0353f65de67b4b8c07385/dbus_fast-2.44.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a220a28e88062a2548f0c6da9eb15fb7e3af70eae56729fc3795ce3e3fba057d", size = 705072, upload-time = "2025-04-03T19:21:53.88Z" },
175
- { url = "https://files.pythonhosted.org/packages/c5/ea/a6edb9fa8485f002d8148b9cfe8872dc314a778ea5ae440b8f6d342c4e15/dbus_fast-2.44.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ec5db912bd4cfeadf7134163d6dde684271cd44cf26e3b4720107f3de406623", size = 879641, upload-time = "2025-04-03T19:21:55.33Z" },
176
- { url = "https://files.pythonhosted.org/packages/63/dd/e83ba0262b4d1f79468151d57e4719ec0ebd8aa1a529075f51bb1a6a661d/dbus_fast-2.44.1-cp311-cp311-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:6ad99f626837753b39a39e09facd2091ee4851ee1eb6ebec5fa9a9a231734254", size = 938034, upload-time = "2025-04-03T19:21:57.228Z" },
177
- { url = "https://files.pythonhosted.org/packages/7b/16/c0ffa2843616e8920800f806de2160a8a07a1c3e884eb7308602e41a5293/dbus_fast-2.44.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7aa157f689a114bfb5367c55884d35e25d57cf25202a6590ce05010f929e7df", size = 927438, upload-time = "2025-04-03T19:21:59.139Z" },
178
- { url = "https://files.pythonhosted.org/packages/7b/f6/8e984720ec59d79e7637c43feed1d73ebf81863dc7a516f782ceb14eb1fe/dbus_fast-2.44.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f961d8bcad80359f24c0156b3094f58a87d583d56139ee50922fe5894b6797cf", size = 900860, upload-time = "2025-04-03T19:22:00.984Z" },
179
- { url = "https://files.pythonhosted.org/packages/a0/4d/95e0ed9003f357c0f2fd18c52cdaf030410bf7bc914dd258258694061aa5/dbus_fast-2.44.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1f38fb5c31846c3ada8fc2b693d8d19953d376a9ea21079e3686e93faa1f8a0f", size = 982869, upload-time = "2025-04-03T19:22:02.547Z" },
180
- { url = "https://files.pythonhosted.org/packages/2e/9c/2fa2de83e90921addf77f1b2baa3489d2f174c8ccd1c7a59d00303eccade/dbus_fast-2.44.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:35e3cde53cc9180ce95c6c84a1e8d1ded429031e4a0a182606e8d22cf57d3294", size = 961978, upload-time = "2025-04-03T19:22:04.46Z" },
181
- { url = "https://files.pythonhosted.org/packages/c1/db/204cbbcfccb29642efabdb07e123fe20cc1830311ef5f06c51c2db4c36e5/dbus_fast-2.44.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f3f30fb09f1ea13658fb4316511e27d6b94f8363b16f2d093efe73e6e289b740", size = 705494, upload-time = "2025-04-03T19:22:06.104Z" },
182
- { url = "https://files.pythonhosted.org/packages/3a/e9/b7b02aa77c66491b87f6720a025ffb99afd6a91c00d3425b221058d3cff6/dbus_fast-2.44.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3dd0f8d41f6ab9d4a782c116470bc319d690f9b50c97b6debc6d1fef08e4615a", size = 840421, upload-time = "2025-04-03T19:22:08.242Z" },
183
- { url = "https://files.pythonhosted.org/packages/35/79/c9bc498e959ae983e1772e4e4ae320342829f21186fd4c6a65369e63c1fc/dbus_fast-2.44.1-cp312-cp312-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:9d6e386658343db380b9e4e81b3bf4e3c17135dbb5889173b1f2582b675b9a8c", size = 912296, upload-time = "2025-04-03T19:22:09.873Z" },
184
- { url = "https://files.pythonhosted.org/packages/cc/a5/948a8cc0861893c6de8746d83cc900e7fd5229b97ed4c9092152b866459e/dbus_fast-2.44.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3bd27563c11219b6fde7a5458141d860d8445c2defb036bab360d1f9bf1dfae0", size = 895027, upload-time = "2025-04-03T19:22:11.803Z" },
185
- { url = "https://files.pythonhosted.org/packages/c2/d3/daa69f8253a6c41aedf517befdbed514e9cf96ebe7cbcfa5de154acff877/dbus_fast-2.44.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0272784aceac821dd63c8187a8860179061a850269617ff5c5bd25ca37bf9307", size = 855338, upload-time = "2025-04-03T19:22:13.793Z" },
186
- { url = "https://files.pythonhosted.org/packages/6b/44/adec235f8765a88a7b8ddd49c6592371f7ff126e928d03a98baf4ff1bf9d/dbus_fast-2.44.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:eed613a909a45f0e0a415c88b373024f007a9be56b1316812ed616d69a3b9161", size = 944282, upload-time = "2025-04-03T19:22:15.395Z" },
187
- { url = "https://files.pythonhosted.org/packages/ba/dd/a6f764c46f14214bdab2ab58820b5ff78e234a74246cc6069232d3aaf9e5/dbus_fast-2.44.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0d4288f2cba4f8309dcfd9f4392e0f4f2b5be6c796dfdb0c5e03228b1ab649b1", size = 923505, upload-time = "2025-04-03T19:22:16.992Z" },
188
- { url = "https://files.pythonhosted.org/packages/bb/a2/7803e3c25cb481b219cd4130cbe480ef48f57f36fe4b9765eed41efa0fff/dbus_fast-2.44.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50a9a4c6921f4b7446717fb4869750f54b561ce486b25b36550cb2a910c988d9", size = 696348, upload-time = "2025-04-03T19:22:18.854Z" },
189
- { url = "https://files.pythonhosted.org/packages/a5/ee/78bf56862fd6ae87998f1ef1d47849a9c5915abb4f0449a72b2c0885482b/dbus_fast-2.44.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89dc5db158bf9838979f732acc39e0e1ecd7e3295a09fa8adb93b09c097615a4", size = 834865, upload-time = "2025-04-03T19:22:20.408Z" },
190
- { url = "https://files.pythonhosted.org/packages/1b/67/2c0ef231189ff63fa49687f8529ad6bb5afc3bbfda5ba65d9ce3e816cfb8/dbus_fast-2.44.1-cp313-cp313-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:f11878c0c089d278861e48c02db8002496c2233b0f605b5630ef61f0b7fb0ea3", size = 905859, upload-time = "2025-04-03T19:22:22.106Z" },
191
- { url = "https://files.pythonhosted.org/packages/01/ef/9435eae3a658202c4342559b1dad82eb04edfa69fd803325e742c7627c6e/dbus_fast-2.44.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd81f483b3ffb71e88478cfabccc1fab8d7154fccb1c661bfafcff9b0cfd996", size = 888654, upload-time = "2025-04-03T19:22:24.06Z" },
192
- { url = "https://files.pythonhosted.org/packages/80/08/9e870f0c4d82f7d6c224f502e51416d9855b2580093bb21b0fc240077a93/dbus_fast-2.44.1-cp313-cp313-manylinux_2_36_x86_64.whl", hash = "sha256:ad499de96a991287232749c98a59f2436ed260f6fd9ad4cb3b04a4b1bbbef148", size = 891721, upload-time = "2025-04-03T19:07:18.264Z" },
193
- { url = "https://files.pythonhosted.org/packages/53/d2/256fe23f403f8bb22d4fb67b6ad21bcc1c98e4528e2d30a4ae9851fac066/dbus_fast-2.44.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:36c44286b11e83977cd29f9551b66b446bb6890dff04585852d975aa3a038ca2", size = 850255, upload-time = "2025-04-03T19:22:25.959Z" },
194
- { url = "https://files.pythonhosted.org/packages/28/ae/5d9964738bc9a59c9bb01bb4e196c541ed3495895297355c09283934756b/dbus_fast-2.44.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:89f2f6eccbb0e464b90e5a8741deb9d6a91873eeb41a8c7b963962b39eb1e0cd", size = 939093, upload-time = "2025-04-03T19:22:27.481Z" },
195
- { url = "https://files.pythonhosted.org/packages/f5/3e/1c97abdf0f19ce26ac2f7f18c141495fc7459679d016475f4ad5dedef316/dbus_fast-2.44.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:bb74a227b071e1a7c517bf3a3e4a5a0a2660620084162e74f15010075534c9d5", size = 915980, upload-time = "2025-04-03T19:22:29.067Z" },
196
- { url = "https://files.pythonhosted.org/packages/c5/fc/e54adf7db30c30a591bd59bdbd212b2221808455bc14ae95d316dd0b27b9/dbus_fast-2.44.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:80e3f42f982af45bcfa0ff23e808f3aa54a45fe4bf43aadd3beb5ace816fba76", size = 615859, upload-time = "2025-04-03T19:22:44.148Z" },
197
- { url = "https://files.pythonhosted.org/packages/81/9f/03b8e92fa6655e33b56c5172c9ccc95093850986ab706bd235b91bdc5653/dbus_fast-2.44.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f29a81d86c9ce3020a5df8c1e5557edaa00e1e00c9804ec874d46c99d967a686", size = 720870, upload-time = "2025-04-03T19:22:46.192Z" },
198
- { url = "https://files.pythonhosted.org/packages/39/af/c8ef58a4a4584db520b654731bfe35923c73bb769386411d8fecdeb016e3/dbus_fast-2.44.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:5dec134715457601c0fa8df3040a56d319de1a152464ae4d4bfc53bbb5c02e04", size = 767585, upload-time = "2025-04-03T19:22:48.875Z" },
199
- { url = "https://files.pythonhosted.org/packages/8c/e2/9e3ef29e40b44556f16756cd70ae8e7ec3b5fceec1b78c5e4849ed15f926/dbus_fast-2.44.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:893509b516f2f24b4e3f09a6b1f3a30f856cf237cd773cdc505ea7ab4fa3c863", size = 754941, upload-time = "2025-04-03T19:22:50.46Z" },
172
+ version = "2.44.2"
173
+ source = { registry = "https://pypi.org/simple" }
174
+ sdist = { url = "https://files.pythonhosted.org/packages/64/ad/d8198bfe02788590916aedf439c082e887b05458bf9317c28bbefc69385b/dbus_fast-2.44.2.tar.gz", hash = "sha256:752f355c32e28468ba9f57b509e2694c4ba0d3d55ae6eb0035511c226438eb35", size = 72452, upload-time = "2025-07-22T23:56:44.091Z" }
175
+ wheels = [
176
+ { url = "https://files.pythonhosted.org/packages/a4/4a/57db62d3bd0e69976457414f8561a1d8f29e6471464c16e465236cc14dab/dbus_fast-2.44.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a07e3a66c0ac5fb0ae6f296f7f659c759347e739a5b6c5faf5fd470209715436", size = 703408, upload-time = "2025-07-23T00:11:09.6Z" },
177
+ { url = "https://files.pythonhosted.org/packages/b0/f4/1eff64592958cd603b84885f5cc3fe94b3cb7ab1ecd0afeed5b1164a6683/dbus_fast-2.44.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c10160e8e25a80b7b84363c82f43bafbba3ba320869f33dcf46eb68172f97d9a", size = 880218, upload-time = "2025-07-23T00:11:12.677Z" },
178
+ { url = "https://files.pythonhosted.org/packages/b4/81/403e1ffd70cdc3ae1a905a5addd4a996fb21b5452a2bbe11f816c5adede7/dbus_fast-2.44.2-cp310-cp310-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:526674fbb9de53e2538c513c2d1025985d0fd99b2f97855120a308eab8a90b82", size = 948517, upload-time = "2025-07-23T00:11:14.309Z" },
179
+ { url = "https://files.pythonhosted.org/packages/8c/22/b3bf80be6fc8a092314396a4e1a6a4e4ddb3b9e7287b1d6b64b1abc60b0a/dbus_fast-2.44.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5c46a6698a31ff3f2600e75b39adf79a9db32ecac84a9eff6fbca41dfef6b51", size = 930146, upload-time = "2025-07-23T00:11:16.105Z" },
180
+ { url = "https://files.pythonhosted.org/packages/fd/9e/2b9868f0d78dfb4d853c9b4d5b0b26df2052991f346a8534acdb40a3c310/dbus_fast-2.44.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a5ff265dec3afe1f37d8f7da57f7e0b544479d8e29e126fbcecf0f539e13215", size = 896880, upload-time = "2025-07-23T00:11:17.647Z" },
181
+ { url = "https://files.pythonhosted.org/packages/19/d1/1877a7b936ba5dbed9f9007bb58f4c2ec80199b4d95fafa719fc00f8128c/dbus_fast-2.44.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b9ec223b9c83a3dde27602000a273e48de17b76f9f1cd16f8df2fd536b391891", size = 982699, upload-time = "2025-07-23T00:11:20.21Z" },
182
+ { url = "https://files.pythonhosted.org/packages/7c/53/1569866112f0984f8918ad58cbc72e686456ad3ee9db3908479860a0539b/dbus_fast-2.44.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c037f93fe754399a52e0c0d049e30d2768009249ccaa065c47358625007e37c1", size = 959443, upload-time = "2025-07-23T00:11:21.857Z" },
183
+ { url = "https://files.pythonhosted.org/packages/86/20/ee3b1f8bd175a7fbf9f318821911239dd743d666e41a3b9c8f55125d7bb0/dbus_fast-2.44.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b9e0f153165e6e4571d7611a9f1d34ace4168f0304a33c43ff9fad8c5855cef5", size = 704770, upload-time = "2025-07-23T00:11:23.394Z" },
184
+ { url = "https://files.pythonhosted.org/packages/15/4a/f14dfcc35ec94f400efbeedb6ecd48316acb121c3f5719954c6454e6e79d/dbus_fast-2.44.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ce7bccaefe0461138c17d414762a84751b4071fe2383f577b8437c0594caad4", size = 879671, upload-time = "2025-07-23T00:11:25.124Z" },
185
+ { url = "https://files.pythonhosted.org/packages/d5/5d/f6df9b4c50184ab34603178e66f813d2354f2f7ef7f64377d43a3cbc9214/dbus_fast-2.44.2-cp311-cp311-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:0ef232a0e5713e47a4f7201484646f2034606ea09d60a1bc9d79444bfc9052fe", size = 937734, upload-time = "2025-07-23T00:11:27.386Z" },
186
+ { url = "https://files.pythonhosted.org/packages/07/e7/60fb87c86186ed68e51f6fd8387bfe19e9dbb28be9319380cd84f3bff887/dbus_fast-2.44.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c3f940a48543e364f241cac0279c568fde7d748dc79c97cc5606823ec3035f2", size = 927391, upload-time = "2025-07-23T00:11:28.973Z" },
187
+ { url = "https://files.pythonhosted.org/packages/a9/b0/581e4a121eac511aaa343a3fd63d4927c5d2a148f892369f3c6ffe55cc05/dbus_fast-2.44.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9c4079ee0da668cde461b72b072cf29061c96bff1210aa79d48aafea598fea5d", size = 900707, upload-time = "2025-07-23T00:11:30.42Z" },
188
+ { url = "https://files.pythonhosted.org/packages/16/87/b70bdfb357485d1a31bc69bfb048e26ac9a573e351fba9b5e76d755c19e2/dbus_fast-2.44.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e6f5ac08cbe344ab47c1e5f5b5912028403edd79a08c610c919ffc6f3346c959", size = 983208, upload-time = "2025-07-23T00:11:32.39Z" },
189
+ { url = "https://files.pythonhosted.org/packages/e7/2c/c546d1107fa578acf3c928ccdb02caa7763b8cfc60f145988830cab9725a/dbus_fast-2.44.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:170fdbb232c060b885cb7329feab34d253d4705b4429727b431fddd0cd928bc4", size = 961846, upload-time = "2025-07-23T00:11:34.421Z" },
190
+ { url = "https://files.pythonhosted.org/packages/45/de/8931ff070f9a085eaa04f5e60bad78120d693652495887d185492b3f4af3/dbus_fast-2.44.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:567c2c7b1499e08f1bf3f6dee6dacac17f04d46c7b89984647f7923bfaf81e51", size = 705370, upload-time = "2025-07-23T00:11:36.463Z" },
191
+ { url = "https://files.pythonhosted.org/packages/28/d9/321cab9ea10035202f0df56534aed5d15b7b851d002cd599b1b536f6b7ee/dbus_fast-2.44.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ee39aa85d4b997726efe8698f82942e4988399abf85a1ad4c463f95e725110", size = 840601, upload-time = "2025-07-23T00:11:38.04Z" },
192
+ { url = "https://files.pythonhosted.org/packages/5f/55/668d560f8a5ef6d2d0cd7922a7c8216c4228491c876a2b1dbc331c0df058/dbus_fast-2.44.2-cp312-cp312-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:a0afe5cd44d1ee196dc02e81e4932fdf1fdbf5ca3ce8afbb439a1d9ddc33d6b5", size = 912192, upload-time = "2025-07-23T00:11:40.22Z" },
193
+ { url = "https://files.pythonhosted.org/packages/46/c9/54b8cfca9eccf1ec0d9c14126ed93fb9510e8bf9ad480021b47374e540d1/dbus_fast-2.44.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:482b467685e9554c2515c528a7302b57edb2c9dd962d04379c2e22ab489680f5", size = 895003, upload-time = "2025-07-23T00:11:42.746Z" },
194
+ { url = "https://files.pythonhosted.org/packages/c6/38/9944418457872be9ff7804720e8a6b1bfef5a6a54ed5a93531dc58a17c76/dbus_fast-2.44.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:613e0e3360c6c9a3a75ad1c90b5eee5ba2f4af405dd532c0cc0fc44ca6c82374", size = 855215, upload-time = "2025-07-23T00:11:44.379Z" },
195
+ { url = "https://files.pythonhosted.org/packages/ad/de/d0af157736226af0b1fb3c6334600b1df73bd760019197e38830f38d6e75/dbus_fast-2.44.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0a66b495be204716f6d51b3da58d8315f75288b85fe53fe7dc2ee97e3cafcab8", size = 944136, upload-time = "2025-07-23T00:11:46.016Z" },
196
+ { url = "https://files.pythonhosted.org/packages/ef/b3/8979348ceee7e3737c729bbea6d438005f02868e9ab1026c99a12f4164f6/dbus_fast-2.44.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4b5c2ccdffd547bb362671eb9cb251728077b8588701cb9bbe18f49f6362d182", size = 923453, upload-time = "2025-07-23T00:11:47.566Z" },
197
+ { url = "https://files.pythonhosted.org/packages/bd/52/d4df53f4660a4d0237d167b5153cf6177605c56aad4f67e85f8ba00fbd9f/dbus_fast-2.44.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:13704054d837e51e74524cec0fbccb7318342f6d3aac430075c69f24e1664993", size = 696210, upload-time = "2025-07-23T00:11:49.245Z" },
198
+ { url = "https://files.pythonhosted.org/packages/7f/0d/da2ad66f7b1a6fe9866e6098407af8e4c8b666a56f451208aa7bdb07d379/dbus_fast-2.44.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fcc5bf32596b0a2de7f3f708745203e1846be35949b621edf03a14732dcf0f8d", size = 835136, upload-time = "2025-07-23T00:11:51.057Z" },
199
+ { url = "https://files.pythonhosted.org/packages/c5/36/4804fa2dc2ad8fd21536638b942928710a8f57985ff0f218bfc37950aed3/dbus_fast-2.44.2-cp313-cp313-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:95263c7ffb07641341a4d58a0e371d8a5eaac3e05df33b4b6b407166e678594d", size = 905656, upload-time = "2025-07-23T00:11:53.186Z" },
200
+ { url = "https://files.pythonhosted.org/packages/1d/cd/c03134deda9cbb50609056a7e06b65c049e66b9c01ace3bc4079d6ecca43/dbus_fast-2.44.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1477afc3456a237a68cd1bb0e9d41f8cf721718f564ba92839d0b3db8435d6a4", size = 888549, upload-time = "2025-07-23T00:12:03.862Z" },
201
+ { url = "https://files.pythonhosted.org/packages/ef/80/a822fa4169f75fed6f65dd7ee349139f54ad653d6c0b4cd44f9d7a1d382f/dbus_fast-2.44.2-cp313-cp313-manylinux_2_36_x86_64.whl", hash = "sha256:b697ab2c32937af8ca7ea2029a7f81cea4b560ca6b33d2f10a6d97c897e104ba", size = 891602, upload-time = "2025-07-22T23:56:40.923Z" },
202
+ { url = "https://files.pythonhosted.org/packages/b5/9a/9f00d163a6a0354686186cabdf90cbd2339fcb3f70b8308888f805ad718b/dbus_fast-2.44.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6b8886ddeb1a8db48490a7609a0559dc27dccd73a62f189ce2cf7f1a96afbcdf", size = 850351, upload-time = "2025-07-23T00:12:06.212Z" },
203
+ { url = "https://files.pythonhosted.org/packages/a9/3a/9c75485b04eaf0113147cd6497e3e0f0658669bc1ba3932f85040db79e2e/dbus_fast-2.44.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b6ccd00ae8f42d6d098f8252d56f1101c1a876adda94d1909e6c50ea71f79907", size = 939215, upload-time = "2025-07-23T00:12:07.945Z" },
204
+ { url = "https://files.pythonhosted.org/packages/10/d3/00d73b095c70224a3d5a9971e7d1ce8937f71cc3efa647f8c78def14dcff/dbus_fast-2.44.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:bdf0014cd60a6de1cff80abdd7aa508bfc71bbd9d447bb69c061c6c77173ed13", size = 915915, upload-time = "2025-07-23T00:12:09.65Z" },
205
+ { url = "https://files.pythonhosted.org/packages/a9/d7/1e1f0b0a5a8f931ac1d114c7bdd8190663ccaee9e9cbb338d9c1d77a29a1/dbus_fast-2.44.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:206dc3b9a8619b932f234e55d39fe30c914adcd6bec70bd89ded71d382d2f46a", size = 615556, upload-time = "2025-07-23T00:12:25.343Z" },
206
+ { url = "https://files.pythonhosted.org/packages/6b/47/a8fd762d82aaf2ef1ace0fc772e7e3722041481339d921fe33b96b060a24/dbus_fast-2.44.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96a33d043763b1ee17c2b1e9c5108e34b4091e3323f638af8b3e0e7bd441f667", size = 720857, upload-time = "2025-07-23T00:12:27.126Z" },
207
+ { url = "https://files.pythonhosted.org/packages/70/84/a9b20b85bc49d3cacd63aa3bfbf9eb8e30ba552b1fb725d05f45a840457d/dbus_fast-2.44.2-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:713de29c3fc122726f871bffffd0ac5ecf2e578bd9031c1388d271b757571776", size = 767388, upload-time = "2025-07-23T00:12:28.922Z" },
208
+ { url = "https://files.pythonhosted.org/packages/cb/f0/39e4a5e8aa12def97e3f7dc3d8ffaaeaa42a2f9bb532d527afa983ec7b49/dbus_fast-2.44.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e46159b0f236ba2b8f7ec5b02eed5c1fd5fa6e4485c89f082887b071ce3ff3df", size = 754846, upload-time = "2025-07-23T00:12:30.712Z" },
200
209
  ]
201
210
 
202
211
  [[package]]
@@ -213,11 +222,12 @@ dependencies = [
213
222
  { name = "paho-mqtt" },
214
223
  { name = "pydantic" },
215
224
  { name = "python-dotenv" },
216
- { name = "schedule" },
225
+ { name = "pyyaml" },
217
226
  ]
218
227
 
219
228
  [package.dev-dependencies]
220
229
  dev = [
230
+ { name = "deptry" },
221
231
  { name = "mkdocs" },
222
232
  { name = "mkdocs-material" },
223
233
  { name = "mkdocs-open-in-new-tab" },
@@ -243,11 +253,12 @@ requires-dist = [
243
253
  { name = "paho-mqtt", specifier = ">=2.1.0" },
244
254
  { name = "pydantic", specifier = ">=2.11.3" },
245
255
  { name = "python-dotenv", specifier = ">=1.1.0" },
246
- { name = "schedule", specifier = ">=1.2.2" },
256
+ { name = "pyyaml", specifier = ">=6.0.2" },
247
257
  ]
248
258
 
249
259
  [package.metadata.requires-dev]
250
260
  dev = [
261
+ { name = "deptry", specifier = ">=0.23.0" },
251
262
  { name = "mkdocs", specifier = ">=1.6.1" },
252
263
  { name = "mkdocs-material", specifier = ">=9.6.15" },
253
264
  { name = "mkdocs-open-in-new-tab", specifier = ">=1.0.8" },
@@ -261,13 +272,43 @@ dev = [
261
272
  { name = "types-pyyaml", specifier = ">=6.0.12.20241230" },
262
273
  ]
263
274
 
275
+ [[package]]
276
+ name = "deptry"
277
+ version = "0.23.1"
278
+ source = { registry = "https://pypi.org/simple" }
279
+ dependencies = [
280
+ { name = "click" },
281
+ { name = "colorama", marker = "sys_platform == 'win32'" },
282
+ { name = "packaging" },
283
+ { name = "requirements-parser" },
284
+ { name = "tomli", marker = "python_full_version < '3.11'" },
285
+ ]
286
+ sdist = { url = "https://files.pythonhosted.org/packages/a3/31/3e2f4a9b43bd807b28a49d673b9b5f8dcc7265d43950b24e875ba90e6205/deptry-0.23.1.tar.gz", hash = "sha256:5d23e0ef25f3c56405c05383a476edda55944563c5c47a3e9249ed3ec860d382", size = 460016, upload-time = "2025-07-31T05:54:49.681Z" }
287
+ wheels = [
288
+ { url = "https://files.pythonhosted.org/packages/cb/d0/9785c0e7fdab12f5324467d70ba65ad03b9d4071a13fc182b6d98bab6208/deptry-0.23.1-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:f0b231d098fb5b48d8973c9f192c353ffdd395770063424969fa7f15ddfea7d8", size = 1768731, upload-time = "2025-07-31T05:54:47.348Z" },
289
+ { url = "https://files.pythonhosted.org/packages/c5/4b/46aded35e0de153936b2214e49e5935179eed9f23cbd3a9a0cd9a5ab0abd/deptry-0.23.1-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:bf057f514bb2fa18a2b192a7f7372bd14577ff46b11486933e8383dfef461983", size = 1667240, upload-time = "2025-07-31T05:54:43.956Z" },
290
+ { url = "https://files.pythonhosted.org/packages/ef/f7/206330f68280a1af7edb8bea87f383dbaa4e3b02b37199d40f86e4c43048/deptry-0.23.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ee3f5663bb1c048e2aaf25a4d9e6d09cc1f3b3396ee248980878c6a6c9c0e21", size = 1772019, upload-time = "2025-07-31T05:54:31.165Z" },
291
+ { url = "https://files.pythonhosted.org/packages/c5/80/51a9e94349b47013e2fd78fd221b12202a7866cd2e0882cfd87d63055e88/deptry-0.23.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae0366dc5f50a5fb29cf90de1110c5e368513de6c1b2dac439f2817f3f752616", size = 1855973, upload-time = "2025-07-31T05:54:37.733Z" },
292
+ { url = "https://files.pythonhosted.org/packages/d5/7a/bff10ddd26ce39c56a9a35bdc98fcf44c2befe5954c8da4bb895e3f750bb/deptry-0.23.1-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:ab156a90a9eda5819aeb1c1da585dd4d5ec509029399a38771a49e78f40db90f", size = 1946957, upload-time = "2025-07-31T05:54:34.567Z" },
293
+ { url = "https://files.pythonhosted.org/packages/7e/b6/c80b190cbd817d1f75f8d02d4b6f4d430b2f3014a09d3895684e291e473b/deptry-0.23.1-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:651c7eb168233755152fcc468713c024d64a03069645187edb4a17ba61ce6133", size = 2025282, upload-time = "2025-07-31T05:54:40.906Z" },
294
+ { url = "https://files.pythonhosted.org/packages/3c/58/1dfb7a6c4ec2daf123264d2c30f53f45791fee46cd0244be5bf97597d2aa/deptry-0.23.1-cp39-abi3-win_amd64.whl", hash = "sha256:8da1e8f70e7086ebc228f3a4a3cfb5aa127b09b5eef60d694503d6bb79809025", size = 1631377, upload-time = "2025-07-31T05:54:51.951Z" },
295
+ { url = "https://files.pythonhosted.org/packages/18/d3/667b974cf42fc50245a8028beb9966643ee214ca567cc6df6e876feca5ed/deptry-0.23.1-cp39-abi3-win_arm64.whl", hash = "sha256:f589497a5809717db4dcf2aa840f2847c0a4c489331608e538850b6a9ab1c30b", size = 1551113, upload-time = "2025-07-31T05:54:50.679Z" },
296
+ { url = "https://files.pythonhosted.org/packages/1a/9f/94f582b1134ce7b5bb1ddacc6d421294064c74451744cebdf7acd009c545/deptry-0.23.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:6af91d86380ef703adb6ae65f273d88e3cca7fd315c4c309da857a0cfa728244", size = 1768259, upload-time = "2025-07-31T05:54:48.529Z" },
297
+ { url = "https://files.pythonhosted.org/packages/5b/e7/07f43e87e3eef96d1ddd52610de2b125f8a562f7585be027f2f1d4fff03d/deptry-0.23.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:42a249d317c3128c286035a1f7aaa41a0c3c967f17848817c2e07ca50d5ed450", size = 1667238, upload-time = "2025-07-31T05:54:45.675Z" },
298
+ { url = "https://files.pythonhosted.org/packages/80/4f/4ae155a301fdeddfde724540495bb359774065947cbd4ce31b62cf23719e/deptry-0.23.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d988c7c75201997970bae1e8d564b4c7a14d350556c4f7c269fd33f3b081c314", size = 1771347, upload-time = "2025-07-31T05:54:33.254Z" },
299
+ { url = "https://files.pythonhosted.org/packages/ea/7d/3e2ee4de068a72a960dddb985d9a0198d3c7db261d7cd6ea8bb967161068/deptry-0.23.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae13d8e65ae88b77632c45edb4038301a6f9efcac06715abfde9a029e5879698", size = 1855446, upload-time = "2025-07-31T05:54:39.418Z" },
300
+ { url = "https://files.pythonhosted.org/packages/14/35/018016d88c6602755a75cbb9013c5822f4bacf329a501b638365351f3e44/deptry-0.23.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:40058a7a3fe9dacb745668897ee992e58daf5aac406b668ff2eaaf0f6f586550", size = 1946581, upload-time = "2025-07-31T05:54:36.206Z" },
301
+ { url = "https://files.pythonhosted.org/packages/90/d0/ee75b72ffdebe73ef6a8e1d3960cbdabecd39358516592c1b17ea65f1e98/deptry-0.23.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:d111cf4261eeadbdb20051d8d542f04deb3cfced0cb280ece8d654f7f6055921", size = 2024895, upload-time = "2025-07-31T05:54:42.178Z" },
302
+ { url = "https://files.pythonhosted.org/packages/32/72/ac643d909da2e50b1fb78143591079f21649f60572d8224be4ba4d795c2c/deptry-0.23.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:9f9bbb92f95ada9ccfa5ecefee05ba3c39cfa0734b5483a3a1a3c4eeb9c99054", size = 1631828, upload-time = "2025-07-31T05:54:53.486Z" },
303
+ ]
304
+
264
305
  [[package]]
265
306
  name = "distlib"
266
- version = "0.3.9"
307
+ version = "0.4.0"
267
308
  source = { registry = "https://pypi.org/simple" }
268
- sdist = { url = "https://files.pythonhosted.org/packages/0d/dd/1bec4c5ddb504ca60fc29472f3d27e8d4da1257a854e1d96742f15c1d02d/distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403", size = 613923, upload-time = "2024-10-09T18:35:47.551Z" }
309
+ sdist = { url = "https://files.pythonhosted.org/packages/96/8e/709914eb2b5749865801041647dc7f4e6d00b549cfe88b65ca192995f07c/distlib-0.4.0.tar.gz", hash = "sha256:feec40075be03a04501a973d81f633735b4b69f98b05450592310c0f401a4e0d", size = 614605, upload-time = "2025-07-17T16:52:00.465Z" }
269
310
  wheels = [
270
- { url = "https://files.pythonhosted.org/packages/91/a1/cf2472db20f7ce4a6be1253a81cfdf85ad9c7885ffbed7047fb72c24cf87/distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87", size = 468973, upload-time = "2024-10-09T18:35:44.272Z" },
311
+ { url = "https://files.pythonhosted.org/packages/33/6b/e0547afaf41bf2c42e52430072fa5658766e3d65bd4b03a563d1b6336f57/distlib-0.4.0-py2.py3-none-any.whl", hash = "sha256:9659f7d87e46584a30b5780e43ac7a2143098441670ff0a49d5f9034c54a6c16", size = 469047, upload-time = "2025-07-17T16:51:58.613Z" },
271
312
  ]
272
313
 
273
314
  [[package]]
@@ -366,14 +407,14 @@ wheels = [
366
407
 
367
408
  [[package]]
368
409
  name = "jsonargparse"
369
- version = "4.40.0"
410
+ version = "4.40.1"
370
411
  source = { registry = "https://pypi.org/simple" }
371
412
  dependencies = [
372
413
  { name = "pyyaml" },
373
414
  ]
374
- sdist = { url = "https://files.pythonhosted.org/packages/ec/e6/6a296858db86228a7484753fb7d79d92ba29820acfc7d8bff05ab13e8f1b/jsonargparse-4.40.0.tar.gz", hash = "sha256:fa6d748b48e36c0dadadc744c9d7bab3812785e7f4cee27fb0239b8301c808a1", size = 203052, upload-time = "2025-05-16T04:55:26.626Z" }
415
+ sdist = { url = "https://files.pythonhosted.org/packages/ce/39/e6e0e68b5ca5eb1e679581d0d9010c2ff84c8b0caedc04865c98c4a6bd16/jsonargparse-4.40.1.tar.gz", hash = "sha256:a83f189b945341da6210a391f75f94ae796b4e5cd6dd21e0f1c5efb93f8056bc", size = 203320, upload-time = "2025-07-24T05:13:19.764Z" }
375
416
  wheels = [
376
- { url = "https://files.pythonhosted.org/packages/cc/b7/1cd333988594bf4b2cf6aa92073ebb57e7db15bcd6ef8ef45b6e68caeb9c/jsonargparse-4.40.0-py3-none-any.whl", hash = "sha256:5822a84efa7d10d2a5aacc3fc6c6414ea2919419a398c06d9e8ac79a420365af", size = 224276, upload-time = "2025-05-16T04:55:24.901Z" },
417
+ { url = "https://files.pythonhosted.org/packages/6b/6f/1a29f913e14d41c91e56b1b2b2bd4647ebb641d3d5ef69412eb6e61829d4/jsonargparse-4.40.1-py3-none-any.whl", hash = "sha256:a7ae8eb9afbbb3e089657cb7ff6c271d8712f76af27d3542dc68a80a8c955c01", size = 224555, upload-time = "2025-07-24T05:13:17.81Z" },
377
418
  ]
378
419
 
379
420
  [[package]]
@@ -492,7 +533,7 @@ wheels = [
492
533
 
493
534
  [[package]]
494
535
  name = "mkdocs-material"
495
- version = "9.6.15"
536
+ version = "9.6.16"
496
537
  source = { registry = "https://pypi.org/simple" }
497
538
  dependencies = [
498
539
  { name = "babel" },
@@ -507,9 +548,9 @@ dependencies = [
507
548
  { name = "pymdown-extensions" },
508
549
  { name = "requests" },
509
550
  ]
510
- sdist = { url = "https://files.pythonhosted.org/packages/95/c1/f804ba2db2ddc2183e900befe7dad64339a34fa935034e1ab405289d0a97/mkdocs_material-9.6.15.tar.gz", hash = "sha256:64adf8fa8dba1a17905b6aee1894a5aafd966d4aeb44a11088519b0f5ca4f1b5", size = 3951836, upload-time = "2025-07-01T10:14:15.671Z" }
551
+ sdist = { url = "https://files.pythonhosted.org/packages/dd/84/aec27a468c5e8c27689c71b516fb5a0d10b8fca45b9ad2dd9d6e43bc4296/mkdocs_material-9.6.16.tar.gz", hash = "sha256:d07011df4a5c02ee0877496d9f1bfc986cfb93d964799b032dd99fe34c0e9d19", size = 4028828, upload-time = "2025-07-26T15:53:47.542Z" }
511
552
  wheels = [
512
- { url = "https://files.pythonhosted.org/packages/1d/30/dda19f0495a9096b64b6b3c07c4bfcff1c76ee0fc521086d53593f18b4c0/mkdocs_material-9.6.15-py3-none-any.whl", hash = "sha256:ac969c94d4fe5eb7c924b6d2f43d7db41159ea91553d18a9afc4780c34f2717a", size = 8716840, upload-time = "2025-07-01T10:14:13.18Z" },
553
+ { url = "https://files.pythonhosted.org/packages/65/f4/90ad67125b4dd66e7884e4dbdfab82e3679eb92b751116f8bb25ccfe2f0c/mkdocs_material-9.6.16-py3-none-any.whl", hash = "sha256:8d1a1282b892fe1fdf77bfeb08c485ba3909dd743c9ba69a19a40f637c6ec18c", size = 9223743, upload-time = "2025-07-26T15:53:44.236Z" },
513
554
  ]
514
555
 
515
556
  [[package]]
@@ -589,11 +630,11 @@ wheels = [
589
630
 
590
631
  [[package]]
591
632
  name = "pip"
592
- version = "25.1.1"
633
+ version = "25.2"
593
634
  source = { registry = "https://pypi.org/simple" }
594
- sdist = { url = "https://files.pythonhosted.org/packages/59/de/241caa0ca606f2ec5fe0c1f4261b0465df78d786a38da693864a116c37f4/pip-25.1.1.tar.gz", hash = "sha256:3de45d411d308d5054c2168185d8da7f9a2cd753dbac8acbfa88a8909ecd9077", size = 1940155, upload-time = "2025-05-02T15:14:02.057Z" }
635
+ sdist = { url = "https://files.pythonhosted.org/packages/20/16/650289cd3f43d5a2fadfd98c68bd1e1e7f2550a1a5326768cddfbcedb2c5/pip-25.2.tar.gz", hash = "sha256:578283f006390f85bb6282dffb876454593d637f5d1be494b5202ce4877e71f2", size = 1840021, upload-time = "2025-07-30T21:50:15.401Z" }
595
636
  wheels = [
596
- { url = "https://files.pythonhosted.org/packages/29/a2/d40fb2460e883eca5199c62cfc2463fd261f760556ae6290f88488c362c0/pip-25.1.1-py3-none-any.whl", hash = "sha256:2913a38a2abf4ea6b64ab507bd9e967f3b53dc1ede74b01b0931e1ce548751af", size = 1825227, upload-time = "2025-05-02T15:13:59.102Z" },
637
+ { url = "https://files.pythonhosted.org/packages/b7/3f/945ef7ab14dc4f9d7f40288d2df998d1837ee0888ec3659c813487572faa/pip-25.2-py3-none-any.whl", hash = "sha256:6d67a2b4e7f14d8b31b8b52648866fa717f45a1eb70e83002f4331d07e953717", size = 1752557, upload-time = "2025-07-30T21:50:13.323Z" },
597
638
  ]
598
639
 
599
640
  [[package]]
@@ -758,15 +799,15 @@ wheels = [
758
799
 
759
800
  [[package]]
760
801
  name = "pymdown-extensions"
761
- version = "10.16"
802
+ version = "10.16.1"
762
803
  source = { registry = "https://pypi.org/simple" }
763
804
  dependencies = [
764
805
  { name = "markdown" },
765
806
  { name = "pyyaml" },
766
807
  ]
767
- sdist = { url = "https://files.pythonhosted.org/packages/1a/0a/c06b542ac108bfc73200677309cd9188a3a01b127a63f20cadc18d873d88/pymdown_extensions-10.16.tar.gz", hash = "sha256:71dac4fca63fabeffd3eb9038b756161a33ec6e8d230853d3cecf562155ab3de", size = 853197, upload-time = "2025-06-21T17:56:36.974Z" }
808
+ sdist = { url = "https://files.pythonhosted.org/packages/55/b3/6d2b3f149bc5413b0a29761c2c5832d8ce904a1d7f621e86616d96f505cc/pymdown_extensions-10.16.1.tar.gz", hash = "sha256:aace82bcccba3efc03e25d584e6a22d27a8e17caa3f4dd9f207e49b787aa9a91", size = 853277, upload-time = "2025-07-28T16:19:34.167Z" }
768
809
  wheels = [
769
- { url = "https://files.pythonhosted.org/packages/98/d4/10bb14004d3c792811e05e21b5e5dcae805aacb739bd12a0540967b99592/pymdown_extensions-10.16-py3-none-any.whl", hash = "sha256:f5dd064a4db588cb2d95229fc4ee63a1b16cc8b4d0e6145c0899ed8723da1df2", size = 266143, upload-time = "2025-06-21T17:56:35.356Z" },
810
+ { url = "https://files.pythonhosted.org/packages/e4/06/43084e6cbd4b3bc0e80f6be743b2e79fbc6eed8de9ad8c629939fa55d972/pymdown_extensions-10.16.1-py3-none-any.whl", hash = "sha256:d6ba157a6c03146a7fb122b2b9a121300056384eafeec9c9f9e584adfdb2a32d", size = 266178, upload-time = "2025-07-28T16:19:31.401Z" },
770
811
  ]
771
812
 
772
813
  [[package]]
@@ -802,14 +843,15 @@ wheels = [
802
843
 
803
844
  [[package]]
804
845
  name = "pytest-asyncio"
805
- version = "1.0.0"
846
+ version = "1.1.0"
806
847
  source = { registry = "https://pypi.org/simple" }
807
848
  dependencies = [
849
+ { name = "backports-asyncio-runner", marker = "python_full_version < '3.11'" },
808
850
  { name = "pytest" },
809
851
  ]
810
- sdist = { url = "https://files.pythonhosted.org/packages/d0/d4/14f53324cb1a6381bef29d698987625d80052bb33932d8e7cbf9b337b17c/pytest_asyncio-1.0.0.tar.gz", hash = "sha256:d15463d13f4456e1ead2594520216b225a16f781e144f8fdf6c5bb4667c48b3f", size = 46960, upload-time = "2025-05-26T04:54:40.484Z" }
852
+ sdist = { url = "https://files.pythonhosted.org/packages/4e/51/f8794af39eeb870e87a8c8068642fc07bce0c854d6865d7dd0f2a9d338c2/pytest_asyncio-1.1.0.tar.gz", hash = "sha256:796aa822981e01b68c12e4827b8697108f7205020f24b5793b3c41555dab68ea", size = 46652, upload-time = "2025-07-16T04:29:26.393Z" }
811
853
  wheels = [
812
- { url = "https://files.pythonhosted.org/packages/30/05/ce271016e351fddc8399e546f6e23761967ee09c8c568bbfbecb0c150171/pytest_asyncio-1.0.0-py3-none-any.whl", hash = "sha256:4f024da9f1ef945e680dc68610b52550e36590a67fd31bb3b4943979a1f90ef3", size = 15976, upload-time = "2025-05-26T04:54:39.035Z" },
854
+ { url = "https://files.pythonhosted.org/packages/c7/9d/bf86eddabf8c6c9cb1ea9a869d6873b46f105a5d292d3a6f7071f5b07935/pytest_asyncio-1.1.0-py3-none-any.whl", hash = "sha256:5fe2d69607b0bd75c656d1211f969cadba035030156745ee09e7d71740e58ecf", size = 15157, upload-time = "2025-07-16T04:29:24.929Z" },
813
855
  ]
814
856
 
815
857
  [[package]]
@@ -905,37 +947,40 @@ wheels = [
905
947
  ]
906
948
 
907
949
  [[package]]
908
- name = "ruff"
909
- version = "0.12.3"
950
+ name = "requirements-parser"
951
+ version = "0.13.0"
910
952
  source = { registry = "https://pypi.org/simple" }
911
- sdist = { url = "https://files.pythonhosted.org/packages/c3/2a/43955b530c49684d3c38fcda18c43caf91e99204c2a065552528e0552d4f/ruff-0.12.3.tar.gz", hash = "sha256:f1b5a4b6668fd7b7ea3697d8d98857390b40c1320a63a178eee6be0899ea2d77", size = 4459341, upload-time = "2025-07-11T13:21:16.086Z" }
953
+ dependencies = [
954
+ { name = "packaging" },
955
+ ]
956
+ sdist = { url = "https://files.pythonhosted.org/packages/95/96/fb6dbfebb524d5601d359a47c78fe7ba1eef90fc4096404aa60c9a906fbb/requirements_parser-0.13.0.tar.gz", hash = "sha256:0843119ca2cb2331de4eb31b10d70462e39ace698fd660a915c247d2301a4418", size = 22630, upload-time = "2025-05-21T13:42:05.464Z" }
912
957
  wheels = [
913
- { url = "https://files.pythonhosted.org/packages/e2/fd/b44c5115539de0d598d75232a1cc7201430b6891808df111b8b0506aae43/ruff-0.12.3-py3-none-linux_armv6l.whl", hash = "sha256:47552138f7206454eaf0c4fe827e546e9ddac62c2a3d2585ca54d29a890137a2", size = 10430499, upload-time = "2025-07-11T13:20:26.321Z" },
914
- { url = "https://files.pythonhosted.org/packages/43/c5/9eba4f337970d7f639a37077be067e4ec80a2ad359e4cc6c5b56805cbc66/ruff-0.12.3-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:0a9153b000c6fe169bb307f5bd1b691221c4286c133407b8827c406a55282041", size = 11213413, upload-time = "2025-07-11T13:20:30.017Z" },
915
- { url = "https://files.pythonhosted.org/packages/e2/2c/fac3016236cf1fe0bdc8e5de4f24c76ce53c6dd9b5f350d902549b7719b2/ruff-0.12.3-py3-none-macosx_11_0_arm64.whl", hash = "sha256:fa6b24600cf3b750e48ddb6057e901dd5b9aa426e316addb2a1af185a7509882", size = 10586941, upload-time = "2025-07-11T13:20:33.046Z" },
916
- { url = "https://files.pythonhosted.org/packages/c5/0f/41fec224e9dfa49a139f0b402ad6f5d53696ba1800e0f77b279d55210ca9/ruff-0.12.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2506961bf6ead54887ba3562604d69cb430f59b42133d36976421bc8bd45901", size = 10783001, upload-time = "2025-07-11T13:20:35.534Z" },
917
- { url = "https://files.pythonhosted.org/packages/0d/ca/dd64a9ce56d9ed6cad109606ac014860b1c217c883e93bf61536400ba107/ruff-0.12.3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c4faaff1f90cea9d3033cbbcdf1acf5d7fb11d8180758feb31337391691f3df0", size = 10269641, upload-time = "2025-07-11T13:20:38.459Z" },
918
- { url = "https://files.pythonhosted.org/packages/63/5c/2be545034c6bd5ce5bb740ced3e7014d7916f4c445974be11d2a406d5088/ruff-0.12.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40dced4a79d7c264389de1c59467d5d5cefd79e7e06d1dfa2c75497b5269a5a6", size = 11875059, upload-time = "2025-07-11T13:20:41.517Z" },
919
- { url = "https://files.pythonhosted.org/packages/8e/d4/a74ef1e801ceb5855e9527dae105eaff136afcb9cc4d2056d44feb0e4792/ruff-0.12.3-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:0262d50ba2767ed0fe212aa7e62112a1dcbfd46b858c5bf7bbd11f326998bafc", size = 12658890, upload-time = "2025-07-11T13:20:44.442Z" },
920
- { url = "https://files.pythonhosted.org/packages/13/c8/1057916416de02e6d7c9bcd550868a49b72df94e3cca0aeb77457dcd9644/ruff-0.12.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12371aec33e1a3758597c5c631bae9a5286f3c963bdfb4d17acdd2d395406687", size = 12232008, upload-time = "2025-07-11T13:20:47.374Z" },
921
- { url = "https://files.pythonhosted.org/packages/f5/59/4f7c130cc25220392051fadfe15f63ed70001487eca21d1796db46cbcc04/ruff-0.12.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:560f13b6baa49785665276c963edc363f8ad4b4fc910a883e2625bdb14a83a9e", size = 11499096, upload-time = "2025-07-11T13:20:50.348Z" },
922
- { url = "https://files.pythonhosted.org/packages/d4/01/a0ad24a5d2ed6be03a312e30d32d4e3904bfdbc1cdbe63c47be9d0e82c79/ruff-0.12.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:023040a3499f6f974ae9091bcdd0385dd9e9eb4942f231c23c57708147b06311", size = 11688307, upload-time = "2025-07-11T13:20:52.945Z" },
923
- { url = "https://files.pythonhosted.org/packages/93/72/08f9e826085b1f57c9a0226e48acb27643ff19b61516a34c6cab9d6ff3fa/ruff-0.12.3-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:883d844967bffff5ab28bba1a4d246c1a1b2933f48cb9840f3fdc5111c603b07", size = 10661020, upload-time = "2025-07-11T13:20:55.799Z" },
924
- { url = "https://files.pythonhosted.org/packages/80/a0/68da1250d12893466c78e54b4a0ff381370a33d848804bb51279367fc688/ruff-0.12.3-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:2120d3aa855ff385e0e562fdee14d564c9675edbe41625c87eeab744a7830d12", size = 10246300, upload-time = "2025-07-11T13:20:58.222Z" },
925
- { url = "https://files.pythonhosted.org/packages/6a/22/5f0093d556403e04b6fd0984fc0fb32fbb6f6ce116828fd54306a946f444/ruff-0.12.3-py3-none-musllinux_1_2_i686.whl", hash = "sha256:6b16647cbb470eaf4750d27dddc6ebf7758b918887b56d39e9c22cce2049082b", size = 11263119, upload-time = "2025-07-11T13:21:01.503Z" },
926
- { url = "https://files.pythonhosted.org/packages/92/c9/f4c0b69bdaffb9968ba40dd5fa7df354ae0c73d01f988601d8fac0c639b1/ruff-0.12.3-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:e1417051edb436230023575b149e8ff843a324557fe0a265863b7602df86722f", size = 11746990, upload-time = "2025-07-11T13:21:04.524Z" },
927
- { url = "https://files.pythonhosted.org/packages/fe/84/7cc7bd73924ee6be4724be0db5414a4a2ed82d06b30827342315a1be9e9c/ruff-0.12.3-py3-none-win32.whl", hash = "sha256:dfd45e6e926deb6409d0616078a666ebce93e55e07f0fb0228d4b2608b2c248d", size = 10589263, upload-time = "2025-07-11T13:21:07.148Z" },
928
- { url = "https://files.pythonhosted.org/packages/07/87/c070f5f027bd81f3efee7d14cb4d84067ecf67a3a8efb43aadfc72aa79a6/ruff-0.12.3-py3-none-win_amd64.whl", hash = "sha256:a946cf1e7ba3209bdef039eb97647f1c77f6f540e5845ec9c114d3af8df873e7", size = 11695072, upload-time = "2025-07-11T13:21:11.004Z" },
929
- { url = "https://files.pythonhosted.org/packages/e0/30/f3eaf6563c637b6e66238ed6535f6775480db973c836336e4122161986fc/ruff-0.12.3-py3-none-win_arm64.whl", hash = "sha256:5f9c7c9c8f84c2d7f27e93674d27136fbf489720251544c4da7fb3d742e011b1", size = 10805855, upload-time = "2025-07-11T13:21:13.547Z" },
958
+ { url = "https://files.pythonhosted.org/packages/bd/60/50fbb6ffb35f733654466f1a90d162bcbea358adc3b0871339254fbc37b2/requirements_parser-0.13.0-py3-none-any.whl", hash = "sha256:2b3173faecf19ec5501971b7222d38f04cb45bb9d87d0ad629ca71e2e62ded14", size = 14782, upload-time = "2025-05-21T13:42:04.007Z" },
930
959
  ]
931
960
 
932
961
  [[package]]
933
- name = "schedule"
934
- version = "1.2.2"
935
- source = { registry = "https://pypi.org/simple" }
936
- sdist = { url = "https://files.pythonhosted.org/packages/0c/91/b525790063015759f34447d4cf9d2ccb52cdee0f1dd6ff8764e863bcb74c/schedule-1.2.2.tar.gz", hash = "sha256:15fe9c75fe5fd9b9627f3f19cc0ef1420508f9f9a46f45cd0769ef75ede5f0b7", size = 26452, upload-time = "2024-06-18T20:03:14.633Z" }
937
- wheels = [
938
- { url = "https://files.pythonhosted.org/packages/20/a7/84c96b61fd13205f2cafbe263cdb2745965974bdf3e0078f121dfeca5f02/schedule-1.2.2-py3-none-any.whl", hash = "sha256:5bef4a2a0183abf44046ae0d164cadcac21b1db011bdd8102e4a0c1e91e06a7d", size = 12220, upload-time = "2024-05-25T18:41:59.121Z" },
962
+ name = "ruff"
963
+ version = "0.12.7"
964
+ source = { registry = "https://pypi.org/simple" }
965
+ sdist = { url = "https://files.pythonhosted.org/packages/a1/81/0bd3594fa0f690466e41bd033bdcdf86cba8288345ac77ad4afbe5ec743a/ruff-0.12.7.tar.gz", hash = "sha256:1fc3193f238bc2d7968772c82831a4ff69252f673be371fb49663f0068b7ec71", size = 5197814, upload-time = "2025-07-29T22:32:35.877Z" }
966
+ wheels = [
967
+ { url = "https://files.pythonhosted.org/packages/e1/d2/6cb35e9c85e7a91e8d22ab32ae07ac39cc34a71f1009a6f9e4a2a019e602/ruff-0.12.7-py3-none-linux_armv6l.whl", hash = "sha256:76e4f31529899b8c434c3c1dede98c4483b89590e15fb49f2d46183801565303", size = 11852189, upload-time = "2025-07-29T22:31:41.281Z" },
968
+ { url = "https://files.pythonhosted.org/packages/63/5b/a4136b9921aa84638f1a6be7fb086f8cad0fde538ba76bda3682f2599a2f/ruff-0.12.7-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:789b7a03e72507c54fb3ba6209e4bb36517b90f1a3569ea17084e3fd295500fb", size = 12519389, upload-time = "2025-07-29T22:31:54.265Z" },
969
+ { url = "https://files.pythonhosted.org/packages/a8/c9/3e24a8472484269b6b1821794141f879c54645a111ded4b6f58f9ab0705f/ruff-0.12.7-py3-none-macosx_11_0_arm64.whl", hash = "sha256:2e1c2a3b8626339bb6369116e7030a4cf194ea48f49b64bb505732a7fce4f4e3", size = 11743384, upload-time = "2025-07-29T22:31:59.575Z" },
970
+ { url = "https://files.pythonhosted.org/packages/26/7c/458dd25deeb3452c43eaee853c0b17a1e84169f8021a26d500ead77964fd/ruff-0.12.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32dec41817623d388e645612ec70d5757a6d9c035f3744a52c7b195a57e03860", size = 11943759, upload-time = "2025-07-29T22:32:01.95Z" },
971
+ { url = "https://files.pythonhosted.org/packages/7f/8b/658798472ef260ca050e400ab96ef7e85c366c39cf3dfbef4d0a46a528b6/ruff-0.12.7-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:47ef751f722053a5df5fa48d412dbb54d41ab9b17875c6840a58ec63ff0c247c", size = 11654028, upload-time = "2025-07-29T22:32:04.367Z" },
972
+ { url = "https://files.pythonhosted.org/packages/a8/86/9c2336f13b2a3326d06d39178fd3448dcc7025f82514d1b15816fe42bfe8/ruff-0.12.7-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a828a5fc25a3efd3e1ff7b241fd392686c9386f20e5ac90aa9234a5faa12c423", size = 13225209, upload-time = "2025-07-29T22:32:06.952Z" },
973
+ { url = "https://files.pythonhosted.org/packages/76/69/df73f65f53d6c463b19b6b312fd2391dc36425d926ec237a7ed028a90fc1/ruff-0.12.7-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:5726f59b171111fa6a69d82aef48f00b56598b03a22f0f4170664ff4d8298efb", size = 14182353, upload-time = "2025-07-29T22:32:10.053Z" },
974
+ { url = "https://files.pythonhosted.org/packages/58/1e/de6cda406d99fea84b66811c189b5ea139814b98125b052424b55d28a41c/ruff-0.12.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:74e6f5c04c4dd4aba223f4fe6e7104f79e0eebf7d307e4f9b18c18362124bccd", size = 13631555, upload-time = "2025-07-29T22:32:12.644Z" },
975
+ { url = "https://files.pythonhosted.org/packages/6f/ae/625d46d5164a6cc9261945a5e89df24457dc8262539ace3ac36c40f0b51e/ruff-0.12.7-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d0bfe4e77fba61bf2ccadf8cf005d6133e3ce08793bbe870dd1c734f2699a3e", size = 12667556, upload-time = "2025-07-29T22:32:15.312Z" },
976
+ { url = "https://files.pythonhosted.org/packages/55/bf/9cb1ea5e3066779e42ade8d0cd3d3b0582a5720a814ae1586f85014656b6/ruff-0.12.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06bfb01e1623bf7f59ea749a841da56f8f653d641bfd046edee32ede7ff6c606", size = 12939784, upload-time = "2025-07-29T22:32:17.69Z" },
977
+ { url = "https://files.pythonhosted.org/packages/55/7f/7ead2663be5627c04be83754c4f3096603bf5e99ed856c7cd29618c691bd/ruff-0.12.7-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:e41df94a957d50083fd09b916d6e89e497246698c3f3d5c681c8b3e7b9bb4ac8", size = 11771356, upload-time = "2025-07-29T22:32:20.134Z" },
978
+ { url = "https://files.pythonhosted.org/packages/17/40/a95352ea16edf78cd3a938085dccc55df692a4d8ba1b3af7accbe2c806b0/ruff-0.12.7-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:4000623300563c709458d0ce170c3d0d788c23a058912f28bbadc6f905d67afa", size = 11612124, upload-time = "2025-07-29T22:32:22.645Z" },
979
+ { url = "https://files.pythonhosted.org/packages/4d/74/633b04871c669e23b8917877e812376827c06df866e1677f15abfadc95cb/ruff-0.12.7-py3-none-musllinux_1_2_i686.whl", hash = "sha256:69ffe0e5f9b2cf2b8e289a3f8945b402a1b19eff24ec389f45f23c42a3dd6fb5", size = 12479945, upload-time = "2025-07-29T22:32:24.765Z" },
980
+ { url = "https://files.pythonhosted.org/packages/be/34/c3ef2d7799c9778b835a76189c6f53c179d3bdebc8c65288c29032e03613/ruff-0.12.7-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:a07a5c8ffa2611a52732bdc67bf88e243abd84fe2d7f6daef3826b59abbfeda4", size = 12998677, upload-time = "2025-07-29T22:32:27.022Z" },
981
+ { url = "https://files.pythonhosted.org/packages/77/ab/aca2e756ad7b09b3d662a41773f3edcbd262872a4fc81f920dc1ffa44541/ruff-0.12.7-py3-none-win32.whl", hash = "sha256:c928f1b2ec59fb77dfdf70e0419408898b63998789cc98197e15f560b9e77f77", size = 11756687, upload-time = "2025-07-29T22:32:29.381Z" },
982
+ { url = "https://files.pythonhosted.org/packages/b4/71/26d45a5042bc71db22ddd8252ca9d01e9ca454f230e2996bb04f16d72799/ruff-0.12.7-py3-none-win_amd64.whl", hash = "sha256:9c18f3d707ee9edf89da76131956aba1270c6348bfee8f6c647de841eac7194f", size = 12912365, upload-time = "2025-07-29T22:32:31.517Z" },
983
+ { url = "https://files.pythonhosted.org/packages/4c/9b/0b8aa09817b63e78d94b4977f18b1fcaead3165a5ee49251c5d5c245bb2d/ruff-0.12.7-py3-none-win_arm64.whl", hash = "sha256:dfce05101dbd11833a0776716d5d1578641b7fddb537fe7fa956ab85d1769b69", size = 11982083, upload-time = "2025-07-29T22:32:33.881Z" },
939
984
  ]
940
985
 
941
986
  [[package]]
@@ -955,7 +1000,7 @@ dependencies = [
955
1000
  { name = "colorama" },
956
1001
  { name = "mslex", marker = "sys_platform == 'win32'" },
957
1002
  { name = "psutil" },
958
- { name = "tomli", marker = "python_full_version < '4.0'" },
1003
+ { name = "tomli", marker = "python_full_version < '4'" },
959
1004
  ]
960
1005
  sdist = { url = "https://files.pythonhosted.org/packages/c7/44/572261df3db9c6c3332f8618fafeb07a578fd18b06673c73f000f3586749/taskipy-1.14.1.tar.gz", hash = "sha256:410fbcf89692dfd4b9f39c2b49e1750b0a7b81affd0e2d7ea8c35f9d6a4774ed", size = 14475, upload-time = "2024-11-26T16:37:46.155Z" }
961
1006
  wheels = [
@@ -1063,16 +1108,16 @@ wheels = [
1063
1108
 
1064
1109
  [[package]]
1065
1110
  name = "virtualenv"
1066
- version = "20.31.2"
1111
+ version = "20.32.0"
1067
1112
  source = { registry = "https://pypi.org/simple" }
1068
1113
  dependencies = [
1069
1114
  { name = "distlib" },
1070
1115
  { name = "filelock" },
1071
1116
  { name = "platformdirs" },
1072
1117
  ]
1073
- sdist = { url = "https://files.pythonhosted.org/packages/56/2c/444f465fb2c65f40c3a104fd0c495184c4f2336d65baf398e3c75d72ea94/virtualenv-20.31.2.tar.gz", hash = "sha256:e10c0a9d02835e592521be48b332b6caee6887f332c111aa79a09b9e79efc2af", size = 6076316, upload-time = "2025-05-08T17:58:23.811Z" }
1118
+ sdist = { url = "https://files.pythonhosted.org/packages/a9/96/0834f30fa08dca3738614e6a9d42752b6420ee94e58971d702118f7cfd30/virtualenv-20.32.0.tar.gz", hash = "sha256:886bf75cadfdc964674e6e33eb74d787dff31ca314ceace03ca5810620f4ecf0", size = 6076970, upload-time = "2025-07-21T04:09:50.985Z" }
1074
1119
  wheels = [
1075
- { url = "https://files.pythonhosted.org/packages/f3/40/b1c265d4b2b62b58576588510fc4d1fe60a86319c8de99fd8e9fec617d2c/virtualenv-20.31.2-py3-none-any.whl", hash = "sha256:36efd0d9650ee985f0cad72065001e66d49a6f24eb44d98980f630686243cf11", size = 6057982, upload-time = "2025-05-08T17:58:21.15Z" },
1120
+ { url = "https://files.pythonhosted.org/packages/5c/c6/f8f28009920a736d0df434b52e9feebfb4d702ba942f15338cb4a83eafc1/virtualenv-20.32.0-py3-none-any.whl", hash = "sha256:2c310aecb62e5aa1b06103ed7c2977b81e042695de2697d01017ff0f1034af56", size = 6057761, upload-time = "2025-07-21T04:09:48.059Z" },
1076
1121
  ]
1077
1122
 
1078
1123
  [[package]]
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
File without changes
File without changes
File without changes