PyPlumIO 0.5.20__tar.gz → 0.5.22__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.
- {pyplumio-0.5.20 → pyplumio-0.5.22}/.github/workflows/documentation.yml +4 -2
- {pyplumio-0.5.20 → pyplumio-0.5.22}/.pre-commit-config.yaml +2 -2
- {pyplumio-0.5.20 → pyplumio-0.5.22}/PKG-INFO +8 -8
- {pyplumio-0.5.20 → pyplumio-0.5.22}/PyPlumIO.egg-info/PKG-INFO +8 -8
- {pyplumio-0.5.20 → pyplumio-0.5.22}/PyPlumIO.egg-info/SOURCES.txt +1 -1
- {pyplumio-0.5.20 → pyplumio-0.5.22}/PyPlumIO.egg-info/requires.txt +7 -7
- {pyplumio-0.5.20 → pyplumio-0.5.22}/docs/source/conf.py +4 -0
- pyplumio-0.5.22/docs/source/frames.rst +726 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/docs/source/index.rst +1 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/docs/source/protocol.rst +26 -27
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/__init__.py +2 -2
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/_version.py +2 -2
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/connection.py +2 -10
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/devices/__init__.py +14 -14
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/devices/ecomax.py +136 -126
- pyplumio-0.5.22/pyplumio/devices/mixer.py +96 -0
- pyplumio-0.5.22/pyplumio/devices/thermostat.py +76 -0
- pyplumio-0.5.22/pyplumio/exceptions.py +35 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/filters.py +56 -37
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/frames/__init__.py +6 -6
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/frames/messages.py +4 -6
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/helpers/data_types.py +8 -7
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/helpers/event_manager.py +43 -32
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/helpers/parameter.py +43 -16
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/helpers/task_manager.py +9 -5
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/helpers/timeout.py +0 -3
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/helpers/uid.py +2 -2
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/protocol.py +34 -33
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/stream.py +2 -2
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/alerts.py +40 -31
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/ecomax_parameters.py +321 -133
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/frame_versions.py +5 -6
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/lambda_sensor.py +6 -6
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/mixer_parameters.py +74 -28
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/network_info.py +5 -6
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/product_info.py +0 -4
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/program_version.py +24 -17
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/thermostat_parameters.py +25 -12
- pyplumio-0.5.22/pyplumio/utils.py +30 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyproject.toml +7 -7
- pyplumio-0.5.22/requirements.txt +2 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/requirements_docs.txt +1 -1
- {pyplumio-0.5.20 → pyplumio-0.5.22}/requirements_test.txt +6 -6
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/frames/test_init.py +1 -2
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/frames/test_messages.py +1 -1
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/frames/test_responses.py +1 -1
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/helpers/test_data_types.py +1 -3
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/helpers/test_event_manager.py +43 -16
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/helpers/test_parameter.py +35 -10
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/helpers/test_task_manager.py +2 -2
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/test_devices.py +3 -3
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/test_filters.py +1 -2
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/test_protocol.py +41 -24
- pyplumio-0.5.20/pyplumio/devices/mixer.py +0 -89
- pyplumio-0.5.20/pyplumio/devices/thermostat.py +0 -74
- pyplumio-0.5.20/pyplumio/exceptions.py +0 -35
- pyplumio-0.5.20/pyplumio/helpers/typing.py +0 -29
- pyplumio-0.5.20/pyplumio/utils.py +0 -25
- pyplumio-0.5.20/requirements.txt +0 -1
- {pyplumio-0.5.20 → pyplumio-0.5.22}/.gitattributes +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/.github/CODE_OF_CONDUCT.md +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/.github/dependabot.yml +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/.github/workflows/ci.yml +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/.github/workflows/codeql-analysis.yml +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/.github/workflows/deploy.yml +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/.gitignore +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/.vscode/settings.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/LICENSE +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/MANIFEST.in +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/PyPlumIO.egg-info/dependency_links.txt +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/PyPlumIO.egg-info/top_level.txt +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/README.md +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/docs/Makefile +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/docs/make.bat +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/docs/source/callbacks.rst +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/docs/source/connecting.rst +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/docs/source/mixers_thermostats.rst +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/docs/source/reading.rst +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/docs/source/schedules.rst +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/docs/source/writing.rst +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/images/ecomax.png +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/images/rs485.png +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/__main__.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/const.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/devices/ecoster.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/frames/requests.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/frames/responses.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/helpers/__init__.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/helpers/factory.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/helpers/schedule.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/py.typed +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/__init__.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/boiler_load.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/boiler_power.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/fan_power.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/fuel_consumption.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/fuel_level.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/mixer_sensors.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/modules.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/output_flags.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/outputs.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/pending_alerts.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/regulator_data.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/regulator_data_schema.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/schedules.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/statuses.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/temperatures.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/pyplumio/structures/thermostat_sensors.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/setup.cfg +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/__init__.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/conftest.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/frames/test_requests.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/helpers/__init__.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/helpers/test_factory.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/helpers/test_schedule.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/helpers/test_timeout.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/helpers/test_uid.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/ruff.toml +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/test_connection.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/test_init.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/test_main.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/test_stream.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/test_utils.py +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/messages/regulator_data.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/messages/sensor_data.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/requests/alerts.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/requests/ecomax_control.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/requests/ecomax_parameters.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/requests/mixer_parameters.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/requests/set_ecomax_parameter.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/requests/set_mixer_parameter.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/requests/set_schedule.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/requests/set_thermostat_parameter.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/requests/thermostat_parameters.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/responses/alerts.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/responses/device_available.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/responses/ecomax_parameters.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/responses/mixer_parameters.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/responses/password.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/responses/program_version.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/responses/regulator_data_schema.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/responses/schedules.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/responses/thermostat_parameters.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/responses/uid.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/unknown/unknown_ecomax_parameter.json +0 -0
- {pyplumio-0.5.20 → pyplumio-0.5.22}/tests/testdata/unknown/unknown_mixer_parameter.json +0 -0
@@ -17,11 +17,13 @@ jobs:
|
|
17
17
|
git fetch --depth=1 origin +refs/tags/*:refs/tags/*
|
18
18
|
|
19
19
|
- uses: actions/setup-python@v5
|
20
|
+
with:
|
21
|
+
python-version: "3.10"
|
20
22
|
|
21
23
|
- name: Install dependencies
|
22
24
|
run: |
|
23
25
|
python -m pip install --upgrade pip
|
24
|
-
python -m pip install pyplumio build -r requirements_docs.txt
|
26
|
+
python -m pip install pyplumio build -r requirements.txt -r requirements_docs.txt
|
25
27
|
|
26
28
|
- name: Sphinx build
|
27
29
|
run: |
|
@@ -29,7 +31,7 @@ jobs:
|
|
29
31
|
sphinx-build ./docs/source ./docs/build
|
30
32
|
|
31
33
|
- name: Deploy
|
32
|
-
uses: peaceiris/actions-gh-pages@
|
34
|
+
uses: peaceiris/actions-gh-pages@v4
|
33
35
|
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
|
34
36
|
with:
|
35
37
|
publish_branch: gh-pages
|
@@ -2,7 +2,7 @@
|
|
2
2
|
# See https://pre-commit.com/hooks.html for more hooks
|
3
3
|
repos:
|
4
4
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
5
|
-
rev: v0.
|
5
|
+
rev: v0.5.0
|
6
6
|
hooks:
|
7
7
|
- id: ruff
|
8
8
|
args:
|
@@ -12,6 +12,6 @@ repos:
|
|
12
12
|
hooks:
|
13
13
|
- id: codespell
|
14
14
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
15
|
-
rev: v1.10.
|
15
|
+
rev: v1.10.1
|
16
16
|
hooks:
|
17
17
|
- id: mypy
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: PyPlumIO
|
3
|
-
Version: 0.5.
|
3
|
+
Version: 0.5.22
|
4
4
|
Summary: PyPlumIO is a native ecoNET library for Plum ecoMAX controllers.
|
5
5
|
Author-email: Denis Paavilainen <denpa@denpa.pro>
|
6
6
|
License: MIT License
|
@@ -25,16 +25,16 @@ License-File: LICENSE
|
|
25
25
|
Requires-Dist: pyserial-asyncio==0.6
|
26
26
|
Provides-Extra: test
|
27
27
|
Requires-Dist: codespell==2.3.0; extra == "test"
|
28
|
-
Requires-Dist: coverage==7.
|
29
|
-
Requires-Dist: mypy==1.10.
|
30
|
-
Requires-Dist: pyserial-asyncio-fast==0.
|
31
|
-
Requires-Dist: pytest==8.2.
|
28
|
+
Requires-Dist: coverage==7.6.0; extra == "test"
|
29
|
+
Requires-Dist: mypy==1.10.1; extra == "test"
|
30
|
+
Requires-Dist: pyserial-asyncio-fast==0.13; extra == "test"
|
31
|
+
Requires-Dist: pytest==8.2.2; extra == "test"
|
32
32
|
Requires-Dist: pytest-asyncio==0.23.7; extra == "test"
|
33
|
-
Requires-Dist: ruff==0.
|
34
|
-
Requires-Dist: tox==4.
|
33
|
+
Requires-Dist: ruff==0.5.2; extra == "test"
|
34
|
+
Requires-Dist: tox==4.16.0; extra == "test"
|
35
35
|
Requires-Dist: types-pyserial==3.5.0.20240527; extra == "test"
|
36
36
|
Provides-Extra: docs
|
37
|
-
Requires-Dist: sphinx==7.
|
37
|
+
Requires-Dist: sphinx==7.4.0; extra == "docs"
|
38
38
|
Requires-Dist: sphinx_rtd_theme==2.0.0; extra == "docs"
|
39
39
|
Requires-Dist: readthedocs-sphinx-search==0.3.2; extra == "docs"
|
40
40
|
Provides-Extra: dev
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: PyPlumIO
|
3
|
-
Version: 0.5.
|
3
|
+
Version: 0.5.22
|
4
4
|
Summary: PyPlumIO is a native ecoNET library for Plum ecoMAX controllers.
|
5
5
|
Author-email: Denis Paavilainen <denpa@denpa.pro>
|
6
6
|
License: MIT License
|
@@ -25,16 +25,16 @@ License-File: LICENSE
|
|
25
25
|
Requires-Dist: pyserial-asyncio==0.6
|
26
26
|
Provides-Extra: test
|
27
27
|
Requires-Dist: codespell==2.3.0; extra == "test"
|
28
|
-
Requires-Dist: coverage==7.
|
29
|
-
Requires-Dist: mypy==1.10.
|
30
|
-
Requires-Dist: pyserial-asyncio-fast==0.
|
31
|
-
Requires-Dist: pytest==8.2.
|
28
|
+
Requires-Dist: coverage==7.6.0; extra == "test"
|
29
|
+
Requires-Dist: mypy==1.10.1; extra == "test"
|
30
|
+
Requires-Dist: pyserial-asyncio-fast==0.13; extra == "test"
|
31
|
+
Requires-Dist: pytest==8.2.2; extra == "test"
|
32
32
|
Requires-Dist: pytest-asyncio==0.23.7; extra == "test"
|
33
|
-
Requires-Dist: ruff==0.
|
34
|
-
Requires-Dist: tox==4.
|
33
|
+
Requires-Dist: ruff==0.5.2; extra == "test"
|
34
|
+
Requires-Dist: tox==4.16.0; extra == "test"
|
35
35
|
Requires-Dist: types-pyserial==3.5.0.20240527; extra == "test"
|
36
36
|
Provides-Extra: docs
|
37
|
-
Requires-Dist: sphinx==7.
|
37
|
+
Requires-Dist: sphinx==7.4.0; extra == "docs"
|
38
38
|
Requires-Dist: sphinx_rtd_theme==2.0.0; extra == "docs"
|
39
39
|
Requires-Dist: readthedocs-sphinx-search==0.3.2; extra == "docs"
|
40
40
|
Provides-Extra: dev
|
@@ -27,6 +27,7 @@ docs/make.bat
|
|
27
27
|
docs/source/callbacks.rst
|
28
28
|
docs/source/conf.py
|
29
29
|
docs/source/connecting.rst
|
30
|
+
docs/source/frames.rst
|
30
31
|
docs/source/index.rst
|
31
32
|
docs/source/mixers_thermostats.rst
|
32
33
|
docs/source/protocol.rst
|
@@ -63,7 +64,6 @@ pyplumio/helpers/parameter.py
|
|
63
64
|
pyplumio/helpers/schedule.py
|
64
65
|
pyplumio/helpers/task_manager.py
|
65
66
|
pyplumio/helpers/timeout.py
|
66
|
-
pyplumio/helpers/typing.py
|
67
67
|
pyplumio/helpers/uid.py
|
68
68
|
pyplumio/structures/__init__.py
|
69
69
|
pyplumio/structures/alerts.py
|
@@ -6,17 +6,17 @@ pre-commit==3.7.1
|
|
6
6
|
tomli==2.0.1
|
7
7
|
|
8
8
|
[docs]
|
9
|
-
sphinx==7.
|
9
|
+
sphinx==7.4.0
|
10
10
|
sphinx_rtd_theme==2.0.0
|
11
11
|
readthedocs-sphinx-search==0.3.2
|
12
12
|
|
13
13
|
[test]
|
14
14
|
codespell==2.3.0
|
15
|
-
coverage==7.
|
16
|
-
mypy==1.10.
|
17
|
-
pyserial-asyncio-fast==0.
|
18
|
-
pytest==8.2.
|
15
|
+
coverage==7.6.0
|
16
|
+
mypy==1.10.1
|
17
|
+
pyserial-asyncio-fast==0.13
|
18
|
+
pytest==8.2.2
|
19
19
|
pytest-asyncio==0.23.7
|
20
|
-
ruff==0.
|
21
|
-
tox==4.
|
20
|
+
ruff==0.5.2
|
21
|
+
tox==4.16.0
|
22
22
|
types-pyserial==3.5.0.20240527
|