pythonhere 0.3.0__py3-none-any.whl → 0.3.1__py3-none-any.whl

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.
@@ -66,9 +66,11 @@ They complement rather than restrict normal Python:
66
66
  These helpers may be called on Kivy's main thread or from a worker. Worker calls
67
67
  are transparently marshaled to Kivy's thread and block that worker until Kivy
68
68
  finishes the operation, normally on its next frame. Continue to prefer normal
69
- foreground `there get` and `there run` for quick UI operations. Background
70
- execution is useful when surrounding work would otherwise block the UI; it does
71
- not make other Kivy access thread-safe.
69
+ foreground `there get` and `there run` for quick UI operations. Add `--worker`
70
+ to `get` or `run` when surrounding slow or blocking work would otherwise block
71
+ the UI. The CLI remains attached, waits for completion, and then returns the
72
+ value or captured output. Worker execution does not make other Kivy access
73
+ thread-safe.
72
74
 
73
75
  Do not call a worker-marshaled helper while Kivy's main thread is synchronously
74
76
  waiting for that same worker. Neither side can progress in that cross-thread
@@ -179,7 +181,9 @@ there --json run --code "from tools_here import pin_shortcut; pin_shortcut('demo
179
181
  - Keep callbacks non-blocking and marshal UI changes to the Kivy thread.
180
182
  4. For more than a short expression, create a local UTF-8 Python file and run it
181
183
  with `there --json run FILE`. Prefer a file over fragile shell quoting or a
182
- long `--code` value. Keep within the installed CLI's input limit.
184
+ long `--code` value. Keep within the installed CLI's input limit. Add
185
+ `--worker` for slow or blocking code that should not occupy Kivy's main
186
+ thread.
183
187
  5. Make only the requested live-app mutation. Reuse existing state when
184
188
  practical and provide cleanup helpers for scheduled events, sensors,
185
189
  Bluetooth, MIDI, files, or other held resources.
@@ -223,6 +227,13 @@ Run a prepared UI change:
223
227
  there --json run /tmp/pythonhere-ui.py
224
228
  ```
225
229
 
230
+ Run slow or blocking non-UI work without freezing Kivy, while waiting for its
231
+ buffered output:
232
+
233
+ ```console
234
+ there --json run --worker /tmp/pythonhere-long-task.py
235
+ ```
236
+
226
237
  Verify a named status left by that code:
227
238
 
228
239
  ```console
@@ -1 +1 @@
1
- __version__ = "0.3.0"
1
+ __version__ = "0.3.1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pythonhere
3
- Version: 0.3.0
3
+ Version: 0.3.1
4
4
  Summary: Here is the Kivy based app to run code from the Jupyter magic %there
5
5
  Author-email: b3b <ash.b3b@gmail.com>
6
6
  License-Expression: MIT
@@ -16,7 +16,7 @@ Classifier: Programming Language :: Python :: 3.14
16
16
  Requires-Python: >=3.10
17
17
  Description-Content-Type: text/x-rst
18
18
  License-File: LICENSE
19
- Requires-Dist: herethere[magic]>=0.3.1
19
+ Requires-Dist: herethere[magic]>=0.3.2
20
20
  Requires-Dist: ipython
21
21
  Requires-Dist: ipywidgets
22
22
  Requires-Dist: Pillow
@@ -10,9 +10,9 @@ pythonhere/patches_here.py,sha256=zB7Ohbk5PIXt0imnnrV5Mtl-Y7jpD_p5IBPlijQcCCQ,17
10
10
  pythonhere/pythonhere.kv,sha256=x1xwiKvJAevqBhtXGLb_axIf-VRos4V_jM9Q2i44f2U,1453
11
11
  pythonhere/server_here.py,sha256=dhNMJj1Abz6RZq6SGqkh8-PVOxKThpI519Msoy5WCgM,1862
12
12
  pythonhere/tools_here.py,sha256=RWPBX309d7E4mjkiszzsoJwdaSwXZIqb7ODcRBljC0Y,11437
13
- pythonhere/version_here.py,sha256=VrXpHDu3erkzwl_WXrqINBm9xWkcyUy53IQOj042dOs,22
13
+ pythonhere/version_here.py,sha256=r4xAFihOf72W9TD-lpMi6ntWSTKTP2SlzKP1ytkjRbI,22
14
14
  pythonhere/window_here.py,sha256=oFPoNMGafGo4Eij3iU1WwaftmRa05Thm1jzuEAQIwK8,2584
15
- pythonhere/.agents/skills/pythonhere/SKILL.md,sha256=WLYmv0ntjVsK4EOKhVdpylp9Tc6pyeWRuos-oeJg_so,10542
15
+ pythonhere/.agents/skills/pythonhere/SKILL.md,sha256=pLQbCWq7fWrFZ58Fy--tzxJ2UYWwwyn6h6yqxI7FrsM,10927
16
16
  pythonhere/.agents/skills/pythonhere/agents/openai.yaml,sha256=LuAs_jPFRl9Mhvb8bU8E8JSnCc8uc5JYFqYxlhd5elw,210
17
17
  pythonhere/.agents/skills/pythonhere/references/able.md,sha256=3KFblzcGy8VDmriqgcWtqyfZZXoYfDV7kZyKIESCZ_c,22918
18
18
  pythonhere/.agents/skills/pythonhere/references/android-media.md,sha256=vM55sxJmvkLQmKAjHZYL_z0F0SR__PjOHSXtGIgP1BI,6631
@@ -51,8 +51,8 @@ pythonhere/ui_here/server_screen_here.kv,sha256=x0Se8hmgjS57gFIPa1r2lf6yJchs3lXO
51
51
  pythonhere/ui_here/server_screen_here.py,sha256=2zQv1YFmiKNxa__7UZDYbAAAwYFLoZPSZPhr7vjCAkU,925
52
52
  pythonhere/ui_here/settings_here.kv,sha256=stMcDq8dCYjay4idK30_7EUu5edkMDAQVPv0H0GuAcM,710
53
53
  pythonhere/ui_here/settings_here.py,sha256=7NflZBUqY2ANZaSEuubaX9wIKniqbekcNQkUbqhhmto,4093
54
- pythonhere-0.3.0.dist-info/licenses/LICENSE,sha256=nW9_eVi3dSMOkr6xghsobAovBEJiffjl_5WjujJTa74,1071
55
- pythonhere-0.3.0.dist-info/METADATA,sha256=atBipqGUbZ_WsS26XcbpouMep9sQpyQaPaIrz0Y5RNc,5348
56
- pythonhere-0.3.0.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
57
- pythonhere-0.3.0.dist-info/top_level.txt,sha256=dvkfRGF1tFbkjXzD9vwqXTge1Znkv7ga5fRJy5yhJsE,11
58
- pythonhere-0.3.0.dist-info/RECORD,,
54
+ pythonhere-0.3.1.dist-info/licenses/LICENSE,sha256=nW9_eVi3dSMOkr6xghsobAovBEJiffjl_5WjujJTa74,1071
55
+ pythonhere-0.3.1.dist-info/METADATA,sha256=RJucgFL5w5WwQ9g6zcWOcWJOS4-wj4LxnabwupsSxF4,5348
56
+ pythonhere-0.3.1.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
57
+ pythonhere-0.3.1.dist-info/top_level.txt,sha256=dvkfRGF1tFbkjXzD9vwqXTge1Znkv7ga5fRJy5yhJsE,11
58
+ pythonhere-0.3.1.dist-info/RECORD,,