smpclient 4.1.2__tar.gz → 4.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {smpclient-4.1.2 → smpclient-4.2.0}/PKG-INFO +4 -3
- {smpclient-4.1.2 → smpclient-4.2.0}/README.md +0 -1
- {smpclient-4.1.2 → smpclient-4.2.0}/pyproject.toml +6 -13
- smpclient-4.2.0/smpclient/requests/settings_management.py +30 -0
- smpclient-4.2.0/smpclient/requests/statistics_management.py +14 -0
- smpclient-4.2.0/smpclient/requests/zephyr_management.py +10 -0
- {smpclient-4.1.2 → smpclient-4.2.0}/LICENSE +0 -0
- {smpclient-4.1.2 → smpclient-4.2.0}/smpclient/__init__.py +0 -0
- {smpclient-4.1.2 → smpclient-4.2.0}/smpclient/exceptions.py +0 -0
- {smpclient-4.1.2 → smpclient-4.2.0}/smpclient/extensions/__init__.py +0 -0
- {smpclient-4.1.2 → smpclient-4.2.0}/smpclient/extensions/intercreate.py +0 -0
- {smpclient-4.1.2 → smpclient-4.2.0}/smpclient/generics.py +0 -0
- {smpclient-4.1.2 → smpclient-4.2.0}/smpclient/mcuboot.py +0 -0
- {smpclient-4.1.2 → smpclient-4.2.0}/smpclient/py.typed +0 -0
- {smpclient-4.1.2 → smpclient-4.2.0}/smpclient/requests/__init__.py +0 -0
- {smpclient-4.1.2 → smpclient-4.2.0}/smpclient/requests/file_management.py +0 -0
- {smpclient-4.1.2 → smpclient-4.2.0}/smpclient/requests/image_management.py +0 -0
- {smpclient-4.1.2 → smpclient-4.2.0}/smpclient/requests/os_management.py +0 -0
- {smpclient-4.1.2 → smpclient-4.2.0}/smpclient/requests/shell_management.py +0 -0
- {smpclient-4.1.2 → smpclient-4.2.0}/smpclient/requests/user/__init__.py +0 -0
- {smpclient-4.1.2 → smpclient-4.2.0}/smpclient/requests/user/intercreate.py +0 -0
- {smpclient-4.1.2 → smpclient-4.2.0}/smpclient/transport/__init__.py +0 -0
- {smpclient-4.1.2 → smpclient-4.2.0}/smpclient/transport/_udp_client.py +0 -0
- {smpclient-4.1.2 → smpclient-4.2.0}/smpclient/transport/ble.py +0 -0
- {smpclient-4.1.2 → smpclient-4.2.0}/smpclient/transport/serial.py +0 -0
- {smpclient-4.1.2 → smpclient-4.2.0}/smpclient/transport/udp.py +0 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: smpclient
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.2.0
|
|
4
4
|
Summary: Simple Management Protocol (SMP) Client for remotely managing MCU firmware
|
|
5
|
+
Home-page: https://github.com/intercreate/smpclient
|
|
5
6
|
License: Apache-2.0
|
|
6
7
|
Author: J.P. Hutchins
|
|
7
8
|
Author-email: jphutchins@gmail.com
|
|
@@ -16,7 +17,8 @@ Requires-Dist: async-timeout (>=4.0.3,<5.0.0) ; python_version < "3.11"
|
|
|
16
17
|
Requires-Dist: bleak (>=0.22.1,<0.23.0)
|
|
17
18
|
Requires-Dist: intelhex (>=2.3.0,<3.0.0)
|
|
18
19
|
Requires-Dist: pyserial (>=3.5,<4.0)
|
|
19
|
-
Requires-Dist: smp (>=3.
|
|
20
|
+
Requires-Dist: smp (>=3.1.1,<4.0.0)
|
|
21
|
+
Project-URL: Repository, https://github.com/intercreate/smpclient
|
|
20
22
|
Description-Content-Type: text/markdown
|
|
21
23
|
|
|
22
24
|
# Simple Management Protocol (SMP) Client
|
|
@@ -65,7 +67,6 @@ If you'd like an SMP CLI application instead of a library, then you should try
|
|
|
65
67
|
|
|
66
68
|
### Install Dependencies
|
|
67
69
|
|
|
68
|
-
- python >=3.8, <3.13
|
|
69
70
|
- poetry: https://python-poetry.org/docs/#installation
|
|
70
71
|
|
|
71
72
|
### Create the venv
|
|
@@ -4,13 +4,12 @@ version = "0"
|
|
|
4
4
|
description = "Simple Management Protocol (SMP) Client for remotely managing MCU firmware"
|
|
5
5
|
authors = [
|
|
6
6
|
"J.P. Hutchins <jphutchins@gmail.com>",
|
|
7
|
-
"J.P. Hutchins <jp@intercreate.io"
|
|
7
|
+
"J.P. Hutchins <jp@intercreate.io",
|
|
8
8
|
]
|
|
9
|
+
repository = "https://github.com/intercreate/smpclient"
|
|
9
10
|
readme = "README.md"
|
|
10
11
|
license = "Apache-2.0"
|
|
11
|
-
packages = [
|
|
12
|
-
{ include = "smpclient" },
|
|
13
|
-
]
|
|
12
|
+
packages = [{ include = "smpclient" }]
|
|
14
13
|
|
|
15
14
|
[tool.poetry.scripts]
|
|
16
15
|
mcuimg = "smpclient.mcuboot:mcuimg"
|
|
@@ -21,7 +20,7 @@ source = "git-tag"
|
|
|
21
20
|
[tool.poetry.dependencies]
|
|
22
21
|
python = ">=3.8.1, <3.13"
|
|
23
22
|
pyserial = "^3.5"
|
|
24
|
-
smp = "^3.
|
|
23
|
+
smp = "^3.1.1"
|
|
25
24
|
intelhex = "^2.3.0"
|
|
26
25
|
bleak = "^0.22.1"
|
|
27
26
|
async-timeout = { version = "^4.0.3", python = "<3.11" }
|
|
@@ -47,11 +46,7 @@ extend-exclude = "dutfirmware|.venv|tests/fixtures|.tox"
|
|
|
47
46
|
profile = "black"
|
|
48
47
|
line_length = 100
|
|
49
48
|
multi_line_output = 3
|
|
50
|
-
skip = [
|
|
51
|
-
".venv",
|
|
52
|
-
"dutfirmware",
|
|
53
|
-
".tox",
|
|
54
|
-
]
|
|
49
|
+
skip = [".venv", "dutfirmware", ".tox"]
|
|
55
50
|
|
|
56
51
|
[tool.mypy]
|
|
57
52
|
disallow_untyped_defs = true
|
|
@@ -59,9 +54,7 @@ exclude = ['.venv', 'dutfirmware', '.tox']
|
|
|
59
54
|
|
|
60
55
|
[tool.pytest.ini_options]
|
|
61
56
|
norecursedirs = "dutfirmware/*"
|
|
62
|
-
filterwarnings = [
|
|
63
|
-
"ignore:The --rsyncdir:DeprecationWarning",
|
|
64
|
-
]
|
|
57
|
+
filterwarnings = ["ignore:The --rsyncdir:DeprecationWarning"]
|
|
65
58
|
|
|
66
59
|
[tool.tox]
|
|
67
60
|
legacy_tox_ini = """
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import smp.settings_management as smpset
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class _GroupBase:
|
|
5
|
+
_ErrorV1 = smpset.SettingsManagementErrorV1
|
|
6
|
+
_ErrorV2 = smpset.SettingsManagementErrorV2
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class ReadSetting(smpset.ReadSettingRequest, _GroupBase):
|
|
10
|
+
_Response = smpset.ReadSettingResponse
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class WriteSetting(smpset.WriteSettingRequest, _GroupBase):
|
|
14
|
+
_Response = smpset.WriteSettingResponse
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class DeleteSetting(smpset.DeleteSettingRequest, _GroupBase):
|
|
18
|
+
_Response = smpset.DeleteSettingResponse
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class CommitSettings(smpset.CommitSettingsRequest, _GroupBase):
|
|
22
|
+
_Response = smpset.CommitSettingsResponse
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class LoadSettings(smpset.LoadSettingsRequest, _GroupBase):
|
|
26
|
+
_Response = smpset.LoadSettingsResponse
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class SaveSettings(smpset.SaveSettingsRequest, _GroupBase):
|
|
30
|
+
_Response = smpset.SaveSettingsResponse
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import smp.statistics_management as smpstat
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class _GroupBase:
|
|
5
|
+
_ErrorV1 = smpstat.StatisticsManagementErrorV1
|
|
6
|
+
_ErrorV2 = smpstat.StatisticsManagementErrorV2
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class GroupData(smpstat.GroupDataRequest, _GroupBase):
|
|
10
|
+
_Response = smpstat.GroupDataResponse
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ListOfGroups(smpstat.ListOfGroupsRequest, _GroupBase):
|
|
14
|
+
_Response = smpstat.ListOfGroupsResponse
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|