hypercli-cli 0.7.0__tar.gz → 0.7.1__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,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hypercli-cli
3
- Version: 0.7.0
3
+ Version: 0.7.1
4
4
  Summary: CLI for HyperCLI - GPU orchestration and LLM API
5
5
  Project-URL: Homepage, https://hypercli.com
6
6
  Project-URL: Documentation, https://docs.hypercli.com
@@ -8,7 +8,7 @@ Project-URL: Repository, https://github.com/HyperCLI/hypercli
8
8
  Author-email: HyperCLI <support@hypercli.com>
9
9
  License-Expression: MIT
10
10
  Requires-Python: >=3.10
11
- Requires-Dist: hypercli-sdk>=0.7.0
11
+ Requires-Dist: hypercli-sdk>=0.7.1
12
12
  Requires-Dist: mutagen>=1.47.0
13
13
  Requires-Dist: openai>=2.8.1
14
14
  Requires-Dist: rich>=14.2.0
@@ -17,17 +17,18 @@ Requires-Dist: websocket-client>=1.6.0
17
17
  Provides-Extra: all
18
18
  Requires-Dist: argon2-cffi>=25.0.0; extra == 'all'
19
19
  Requires-Dist: eth-account>=0.13.0; extra == 'all'
20
- Requires-Dist: hypercli-sdk[comfyui]>=0.7.0; extra == 'all'
20
+ Requires-Dist: hypercli-sdk[comfyui]>=0.7.1; extra == 'all'
21
21
  Requires-Dist: web3>=7.0.0; extra == 'all'
22
22
  Requires-Dist: x402[httpx]>=2.0.0; extra == 'all'
23
23
  Provides-Extra: comfyui
24
- Requires-Dist: hypercli-sdk[comfyui]>=0.7.0; extra == 'comfyui'
24
+ Requires-Dist: hypercli-sdk[comfyui]>=0.7.1; extra == 'comfyui'
25
25
  Provides-Extra: dev
26
26
  Requires-Dist: pytest>=8.0.0; extra == 'dev'
27
27
  Requires-Dist: ruff>=0.3.0; extra == 'dev'
28
28
  Provides-Extra: wallet
29
29
  Requires-Dist: argon2-cffi>=25.0.0; extra == 'wallet'
30
30
  Requires-Dist: eth-account>=0.13.0; extra == 'wallet'
31
+ Requires-Dist: qrcode[pil]>=7.4.0; extra == 'wallet'
31
32
  Requires-Dist: web3>=7.0.0; extra == 'wallet'
32
33
  Requires-Dist: x402[httpx]>=2.0.0; extra == 'wallet'
33
34
  Description-Content-Type: text/markdown
@@ -78,6 +78,22 @@ def create():
78
78
  console.print(f"\n[green]✓[/green] Keystore saved to [bold]{WALLET_PATH}[/bold]")
79
79
  console.print(f"[green]✓[/green] Address: [bold]{account.address}[/bold]")
80
80
  console.print("\n[yellow]⚠️ Fund this address with USDC on Base to use for payments![/yellow]")
81
+
82
+ # Show QR code for easy mobile scanning
83
+ try:
84
+ import qrcode
85
+ console.print("\n[bold]Scan to send USDC:[/bold]\n")
86
+ qr_obj = qrcode.QRCode(
87
+ version=1,
88
+ error_correction=qrcode.constants.ERROR_CORRECT_L,
89
+ box_size=1,
90
+ border=1,
91
+ )
92
+ qr_obj.add_data(account.address)
93
+ qr_obj.make(fit=True)
94
+ qr_obj.print_ascii(invert=True)
95
+ except ImportError:
96
+ console.print("\n[dim]Tip: run 'hyper wallet qr' to display address as QR code[/dim]")
81
97
 
82
98
 
83
99
  @app.command("address")
@@ -97,6 +113,75 @@ def address():
97
113
  console.print(f"\n[bold]Wallet address:[/bold] 0x{addr}")
98
114
 
99
115
 
116
+ @app.command("qr")
117
+ def qr(
118
+ output: str = typer.Option(None, "--output", "-o", help="Save QR code as PNG file"),
119
+ ):
120
+ """Display wallet address as QR code (for easy mobile scanning)"""
121
+ require_wallet_deps()
122
+
123
+ try:
124
+ import qrcode
125
+ except ImportError:
126
+ console.print("[red]❌ QR code support requires the qrcode package[/red]")
127
+ console.print("\nInstall with:")
128
+ console.print(" [bold]pip install 'hypercli-cli[wallet]'[/bold]")
129
+ raise typer.Exit(1)
130
+
131
+ if not WALLET_PATH.exists():
132
+ console.print(f"[red]❌ No wallet found at {WALLET_PATH}[/red]")
133
+ console.print("Create one with: [bold]hyper wallet create[/bold]")
134
+ raise typer.Exit(1)
135
+
136
+ with open(WALLET_PATH) as f:
137
+ keystore = json.load(f)
138
+
139
+ addr = "0x" + keystore.get("address", "")
140
+
141
+ if output:
142
+ # Save as PNG
143
+ try:
144
+ qr_obj = qrcode.QRCode(
145
+ version=1,
146
+ error_correction=qrcode.constants.ERROR_CORRECT_L,
147
+ box_size=10,
148
+ border=2,
149
+ )
150
+ qr_obj.add_data(addr)
151
+ qr_obj.make(fit=True)
152
+
153
+ img = qr_obj.make_image(fill_color="black", back_color="white")
154
+
155
+ # Ensure .png extension
156
+ if not output.lower().endswith('.png'):
157
+ output = output + '.png'
158
+
159
+ img.save(output)
160
+ console.print(f"[green]✓[/green] QR code saved to [bold]{output}[/bold]")
161
+ console.print(f"[dim]Address: {addr}[/dim]")
162
+ except Exception as e:
163
+ console.print(f"[red]❌ Failed to save PNG: {e}[/red]")
164
+ console.print("[dim]Try: pip install pillow[/dim]")
165
+ raise typer.Exit(1)
166
+ else:
167
+ # Print ASCII to terminal
168
+ console.print(f"\n[bold]Wallet Address:[/bold] {addr}")
169
+ console.print("[dim]Scan to send USDC on Base network[/dim]\n")
170
+
171
+ qr_obj = qrcode.QRCode(
172
+ version=1,
173
+ error_correction=qrcode.constants.ERROR_CORRECT_L,
174
+ box_size=1,
175
+ border=1,
176
+ )
177
+ qr_obj.add_data(addr)
178
+ qr_obj.make(fit=True)
179
+ qr_obj.print_ascii(invert=True)
180
+
181
+ console.print(f"\n[bold]{addr}[/bold]")
182
+ console.print("\n[dim]Tip: use --output wallet.png to save as image[/dim]")
183
+
184
+
100
185
  @app.command("balance")
101
186
  def balance():
102
187
  """Check USDC balance on Base"""
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "hypercli-cli"
7
- version = "0.7.0"
7
+ version = "0.7.1"
8
8
  description = "CLI for HyperCLI - GPU orchestration and LLM API"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -13,7 +13,7 @@ authors = [
13
13
  { name = "HyperCLI", email = "support@hypercli.com" }
14
14
  ]
15
15
  dependencies = [
16
- "hypercli-sdk>=0.7.0",
16
+ "hypercli-sdk>=0.7.1",
17
17
  "openai>=2.8.1",
18
18
  "typer>=0.20.0",
19
19
  "rich>=14.2.0",
@@ -23,16 +23,17 @@ dependencies = [
23
23
 
24
24
  [project.optional-dependencies]
25
25
  comfyui = [
26
- "hypercli-sdk[comfyui]>=0.7.0",
26
+ "hypercli-sdk[comfyui]>=0.7.1",
27
27
  ]
28
28
  wallet = [
29
29
  "x402[httpx]>=2.0.0",
30
30
  "eth-account>=0.13.0",
31
31
  "web3>=7.0.0",
32
32
  "argon2-cffi>=25.0.0",
33
+ "qrcode[pil]>=7.4.0",
33
34
  ]
34
35
  all = [
35
- "hypercli-sdk[comfyui]>=0.7.0",
36
+ "hypercli-sdk[comfyui]>=0.7.1",
36
37
  "x402[httpx]>=2.0.0",
37
38
  "eth-account>=0.13.0",
38
39
  "web3>=7.0.0",
File without changes
File without changes