socketry 0.2.2__tar.gz → 0.2.3__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.
@@ -1,15 +1,16 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: socketry
3
- Version: 0.2.2
3
+ Version: 0.2.3
4
4
  Summary: Python API and CLI for controlling Jackery portable power stations
5
5
  Author: Jesus Lopez
6
6
  Author-email: Jesus Lopez <jesus@jesusla.com>
7
7
  License-Expression: MIT
8
- Requires-Dist: typer>=0.9
9
8
  Requires-Dist: aiomqtt>=2.0
10
9
  Requires-Dist: aiohttp>=3.9
11
10
  Requires-Dist: pycryptodome>=3.19
11
+ Requires-Dist: typer>=0.9 ; extra == 'cli'
12
12
  Requires-Python: >=3.11
13
+ Provides-Extra: cli
13
14
  Description-Content-Type: text/markdown
14
15
 
15
16
  # socketry
@@ -27,14 +28,14 @@ the device or its firmware.
27
28
  ## Quick start
28
29
 
29
30
  ```bash
30
- uvx socketry login --email you@example.com --password 'yourpass'
31
- uvx socketry get
31
+ uvx 'socketry[cli]' login --email you@example.com --password 'yourpass'
32
+ uvx 'socketry[cli]' get
32
33
  ```
33
34
 
34
35
  Or install it once and use `socketry` directly:
35
36
 
36
37
  ```bash
37
- uv tool install socketry
38
+ uv tool install 'socketry[cli]'
38
39
  socketry login --email you@example.com --password 'yourpass'
39
40
  socketry get
40
41
  ```
@@ -63,13 +64,16 @@ properties returned by newer firmware are displayed as raw key/value pairs.
63
64
 
64
65
  ```bash
65
66
  # Install as a CLI tool
66
- uv tool install socketry
67
+ uv tool install 'socketry[cli]'
67
68
 
68
69
  # Or run directly without installing
69
- uvx socketry --help
70
+ uvx 'socketry[cli]' --help
70
71
 
71
- # Or install as a library
72
+ # Or install as a library only (no CLI dependencies)
72
73
  pip install socketry
74
+
75
+ # Or install with CLI included
76
+ pip install 'socketry[cli]'
73
77
  ```
74
78
 
75
79
  ## CLI usage
@@ -13,14 +13,14 @@ the device or its firmware.
13
13
  ## Quick start
14
14
 
15
15
  ```bash
16
- uvx socketry login --email you@example.com --password 'yourpass'
17
- uvx socketry get
16
+ uvx 'socketry[cli]' login --email you@example.com --password 'yourpass'
17
+ uvx 'socketry[cli]' get
18
18
  ```
19
19
 
20
20
  Or install it once and use `socketry` directly:
21
21
 
22
22
  ```bash
23
- uv tool install socketry
23
+ uv tool install 'socketry[cli]'
24
24
  socketry login --email you@example.com --password 'yourpass'
25
25
  socketry get
26
26
  ```
@@ -49,13 +49,16 @@ properties returned by newer firmware are displayed as raw key/value pairs.
49
49
 
50
50
  ```bash
51
51
  # Install as a CLI tool
52
- uv tool install socketry
52
+ uv tool install 'socketry[cli]'
53
53
 
54
54
  # Or run directly without installing
55
- uvx socketry --help
55
+ uvx 'socketry[cli]' --help
56
56
 
57
- # Or install as a library
57
+ # Or install as a library only (no CLI dependencies)
58
58
  pip install socketry
59
+
60
+ # Or install with CLI included
61
+ pip install 'socketry[cli]'
59
62
  ```
60
63
 
61
64
  ## CLI usage
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "socketry"
3
- version = "0.2.2"
3
+ version = "0.2.3"
4
4
  description = "Python API and CLI for controlling Jackery portable power stations"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -9,12 +9,14 @@ authors = [
9
9
  requires-python = ">=3.11"
10
10
  license = "MIT"
11
11
  dependencies = [
12
- "typer>=0.9",
13
12
  "aiomqtt>=2.0",
14
13
  "aiohttp>=3.9",
15
14
  "pycryptodome>=3.19",
16
15
  ]
17
16
 
17
+ [project.optional-dependencies]
18
+ cli = ["typer>=0.9"]
19
+
18
20
  [project.scripts]
19
21
  socketry = "socketry.cli:app"
20
22
 
@@ -24,6 +26,7 @@ build-backend = "uv_build"
24
26
 
25
27
  [dependency-groups]
26
28
  dev = [
29
+ "socketry[cli]",
27
30
  "aioresponses>=0.7",
28
31
  "mypy>=1.19.1",
29
32
  "pre-commit>=4.5.1",
@@ -8,7 +8,10 @@ import json
8
8
  import sys
9
9
  from datetime import datetime
10
10
 
11
- import typer
11
+ try:
12
+ import typer
13
+ except ImportError:
14
+ raise SystemExit("socketry CLI requires the 'cli' extra: pip install socketry[cli]") from None
12
15
 
13
16
  from socketry.client import Client
14
17
  from socketry.properties import GROUP_TITLES, MODEL_NAMES, PROPERTIES, Setting, resolve
File without changes