pyhubblenetwork 0.2.0__tar.gz → 0.4.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.
- {pyhubblenetwork-0.2.0 → pyhubblenetwork-0.4.0}/.gitignore +4 -1
- {pyhubblenetwork-0.2.0 → pyhubblenetwork-0.4.0}/PKG-INFO +15 -2
- {pyhubblenetwork-0.2.0 → pyhubblenetwork-0.4.0}/README.md +13 -1
- {pyhubblenetwork-0.2.0 → pyhubblenetwork-0.4.0}/pyproject.toml +3 -1
- {pyhubblenetwork-0.2.0 → pyhubblenetwork-0.4.0}/src/hubblenetwork/__init__.py +4 -1
- {pyhubblenetwork-0.2.0 → pyhubblenetwork-0.4.0}/src/hubblenetwork/cli.py +344 -63
- {pyhubblenetwork-0.2.0 → pyhubblenetwork-0.4.0}/src/hubblenetwork/cloud.py +13 -3
- {pyhubblenetwork-0.2.0 → pyhubblenetwork-0.4.0}/src/hubblenetwork/crypto.py +17 -7
- {pyhubblenetwork-0.2.0 → pyhubblenetwork-0.4.0}/src/hubblenetwork/device.py +12 -0
- {pyhubblenetwork-0.2.0 → pyhubblenetwork-0.4.0}/src/hubblenetwork/errors.py +10 -0
- {pyhubblenetwork-0.2.0 → pyhubblenetwork-0.4.0}/src/hubblenetwork/org.py +34 -5
- {pyhubblenetwork-0.2.0 → pyhubblenetwork-0.4.0}/src/hubblenetwork/packets.py +14 -0
- pyhubblenetwork-0.4.0/src/hubblenetwork/sat.py +229 -0
- pyhubblenetwork-0.4.0/tests/test_cli_payload.py +249 -0
- {pyhubblenetwork-0.2.0 → pyhubblenetwork-0.4.0}/tests/test_cloud_integration.py +90 -0
- pyhubblenetwork-0.4.0/tests/test_counter_eid.py +214 -0
- pyhubblenetwork-0.4.0/tests/test_sat.py +257 -0
- {pyhubblenetwork-0.2.0 → pyhubblenetwork-0.4.0}/LICENSE +0 -0
- {pyhubblenetwork-0.2.0 → pyhubblenetwork-0.4.0}/plugins/pyhubblenetwork/skills/hubble-ready-test/README.md +0 -0
- {pyhubblenetwork-0.2.0 → pyhubblenetwork-0.4.0}/src/hubblenetwork/ble.py +0 -0
- {pyhubblenetwork-0.2.0 → pyhubblenetwork-0.4.0}/src/hubblenetwork/ready.py +0 -0
- {pyhubblenetwork-0.2.0 → pyhubblenetwork-0.4.0}/tests/__init__.py +0 -0
- {pyhubblenetwork-0.2.0 → pyhubblenetwork-0.4.0}/tests/conftest.py +0 -0
|
@@ -157,4 +157,7 @@ cython_debug/
|
|
|
157
157
|
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
|
158
158
|
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
|
159
159
|
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
|
160
|
-
#.idea/
|
|
160
|
+
#.idea/
|
|
161
|
+
|
|
162
|
+
# Git worktrees
|
|
163
|
+
.worktrees/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyhubblenetwork
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
4
4
|
Summary: Hubble SDK host-side tools
|
|
5
5
|
Author-email: Paul Buckley <paul@hubble.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -10,6 +10,7 @@ Classifier: Programming Language :: Python :: 3
|
|
|
10
10
|
Requires-Python: >=3.9
|
|
11
11
|
Requires-Dist: bleak
|
|
12
12
|
Requires-Dist: click
|
|
13
|
+
Requires-Dist: docker>=7.0
|
|
13
14
|
Requires-Dist: httpx>=0.27
|
|
14
15
|
Requires-Dist: pycryptodome
|
|
15
16
|
Requires-Dist: questionary>=2.0.0
|
|
@@ -139,8 +140,20 @@ If installed, the `hubblenetwork` command is available:
|
|
|
139
140
|
```bash
|
|
140
141
|
hubblenetwork --help
|
|
141
142
|
hubblenetwork ble scan
|
|
143
|
+
hubblenetwork ble scan --payload-format hex
|
|
144
|
+
hubblenetwork org get-packets --payload-format string
|
|
142
145
|
```
|
|
143
146
|
|
|
147
|
+
### Payload format option
|
|
148
|
+
|
|
149
|
+
Commands that output packet data (`ble scan`, `ble detect`, `org get-packets`) support the `--payload-format` flag to control how payloads are displayed:
|
|
150
|
+
|
|
151
|
+
* `base64` (default) — encode payloads as base64
|
|
152
|
+
* `hex` — display payloads as hexadecimal
|
|
153
|
+
* `string` — decode payloads as UTF-8 text (falls back to `<invalid UTF-8>` if bytes are not valid UTF-8)
|
|
154
|
+
|
|
155
|
+
This applies to all output formats (tabular, json, csv).
|
|
156
|
+
|
|
144
157
|
## Configuration
|
|
145
158
|
|
|
146
159
|
Some functions read defaults from environment variables if not provided explicitly. Suggested variables:
|
|
@@ -207,5 +220,5 @@ ruff check src
|
|
|
207
220
|
## Releases & versioning
|
|
208
221
|
|
|
209
222
|
* Follows **SemVer** (MAJOR.MINOR.PATCH).
|
|
210
|
-
* Tagged releases (e.g., `v0.
|
|
223
|
+
* Tagged releases (e.g., `v0.3.0`) publish wheels/sdists to PyPI.
|
|
211
224
|
* Release process: (add short steps for how to cut a release—tagging, CI release job, PyPI publish credentials).
|
|
@@ -116,8 +116,20 @@ If installed, the `hubblenetwork` command is available:
|
|
|
116
116
|
```bash
|
|
117
117
|
hubblenetwork --help
|
|
118
118
|
hubblenetwork ble scan
|
|
119
|
+
hubblenetwork ble scan --payload-format hex
|
|
120
|
+
hubblenetwork org get-packets --payload-format string
|
|
119
121
|
```
|
|
120
122
|
|
|
123
|
+
### Payload format option
|
|
124
|
+
|
|
125
|
+
Commands that output packet data (`ble scan`, `ble detect`, `org get-packets`) support the `--payload-format` flag to control how payloads are displayed:
|
|
126
|
+
|
|
127
|
+
* `base64` (default) — encode payloads as base64
|
|
128
|
+
* `hex` — display payloads as hexadecimal
|
|
129
|
+
* `string` — decode payloads as UTF-8 text (falls back to `<invalid UTF-8>` if bytes are not valid UTF-8)
|
|
130
|
+
|
|
131
|
+
This applies to all output formats (tabular, json, csv).
|
|
132
|
+
|
|
121
133
|
## Configuration
|
|
122
134
|
|
|
123
135
|
Some functions read defaults from environment variables if not provided explicitly. Suggested variables:
|
|
@@ -184,5 +196,5 @@ ruff check src
|
|
|
184
196
|
## Releases & versioning
|
|
185
197
|
|
|
186
198
|
* Follows **SemVer** (MAJOR.MINOR.PATCH).
|
|
187
|
-
* Tagged releases (e.g., `v0.
|
|
199
|
+
* Tagged releases (e.g., `v0.3.0`) publish wheels/sdists to PyPI.
|
|
188
200
|
* Release process: (add short steps for how to cut a release—tagging, CI release job, PyPI publish credentials).
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pyhubblenetwork"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.4.0"
|
|
8
8
|
requires-python = ">=3.9"
|
|
9
9
|
authors = [
|
|
10
10
|
{ name="Paul Buckley", email="paul@hubble.com" },
|
|
@@ -21,6 +21,7 @@ dependencies = [
|
|
|
21
21
|
"httpx>=0.27",
|
|
22
22
|
"bleak",
|
|
23
23
|
"click",
|
|
24
|
+
"docker>=7.0",
|
|
24
25
|
"pycryptodome",
|
|
25
26
|
"questionary>=2.0.0",
|
|
26
27
|
"tabulate>=0.9.0",
|
|
@@ -45,6 +46,7 @@ include = [
|
|
|
45
46
|
# ---- Testing & dev tooling ----
|
|
46
47
|
[tool.pytest.ini_options]
|
|
47
48
|
testpaths = ["tests"]
|
|
49
|
+
pythonpath = ["src"]
|
|
48
50
|
markers = [
|
|
49
51
|
"ble: tests that require BLE hardware/permissions",
|
|
50
52
|
"integration: slow or environment-dependent tests",
|
|
@@ -7,8 +7,9 @@ Import from here; internal module layout may change without notice.
|
|
|
7
7
|
from . import ble
|
|
8
8
|
from . import cloud
|
|
9
9
|
from . import ready
|
|
10
|
+
from . import sat
|
|
10
11
|
|
|
11
|
-
from .packets import Location, EncryptedPacket, DecryptedPacket
|
|
12
|
+
from .packets import Location, EncryptedPacket, DecryptedPacket, SatellitePacket
|
|
12
13
|
from .device import Device
|
|
13
14
|
from .org import Organization
|
|
14
15
|
from .crypto import decrypt
|
|
@@ -19,7 +20,9 @@ __all__ = [
|
|
|
19
20
|
"ble",
|
|
20
21
|
"cloud",
|
|
21
22
|
"ready",
|
|
23
|
+
"sat",
|
|
22
24
|
"decrypt",
|
|
25
|
+
"SatellitePacket",
|
|
23
26
|
"Location",
|
|
24
27
|
"EncryptedPacket",
|
|
25
28
|
"DecryptedPacket",
|