clikernel 0.2.7__tar.gz → 0.2.8__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.
@@ -2,6 +2,13 @@
2
2
 
3
3
  <!-- do not remove -->
4
4
 
5
+ ## 0.2.8
6
+
7
+ ### New Features
8
+
9
+ - Stream worker iterates run() directly ([#46](https://github.com/AnswerDotAI/clikernel/pull/46)), thanks to [@jph00](https://github.com/jph00)
10
+
11
+
5
12
  ## 0.2.7
6
13
 
7
14
  ### New Features
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clikernel
3
- Version: 0.2.7
3
+ Version: 0.2.8
4
4
  Summary: Serve persistent Jupyter kernels to LLMs as concise text, over MCP or a plain stream protocol
5
5
  Author: clikernel contributors
6
6
  License: Apache-2.0
@@ -12,7 +12,7 @@ Requires-Python: >=3.11
12
12
  Description-Content-Type: text/markdown
13
13
  License-File: LICENSE
14
14
  Requires-Dist: fastcore>=2.2.2
15
- Requires-Dist: jupyasyncclient>=0.2.9
15
+ Requires-Dist: jupyasyncclient>=0.2.10
16
16
  Requires-Dist: fastspec>=0.2.2
17
17
  Requires-Dist: mcpmini>=0.0.3
18
18
  Requires-Dist: aidialog>=0.0.7
@@ -8,4 +8,4 @@ Modules:
8
8
  - `clikernel.skill`: Use the `clikernel` MCP session as the default workspace for Python work: reading and changing files, notebook work, trying things out, checking how a library behaves, and reshaping data. One session stays open, so imports and variables carry between calls. Read this before writing, running, or debugging Python code in a session with `clikernel` connected.
9
9
  - `clikernel.stream`: Streaming JSON-lines worker protocol: nbformat-shaped output events, and a supervisor for select-based UIs."""
10
10
 
11
- __version__ = "0.2.7"
11
+ __version__ = "0.2.8"
@@ -22,9 +22,8 @@ def _emit(obj):
22
22
 
23
23
  async def _do_exec(kc, req):
24
24
  rid = req.get('id')
25
- def _out(m):
25
+ async for m in kc.run(req['code']):
26
26
  if m['msg_type'] in OUTPUT_MSGS: _emit(dict(ev='out', id=rid, output=msg2out(m)))
27
- await kc.run(req['code'], on_output=_out)
28
27
  _emit({'ev':'done','id':rid})
29
28
 
30
29
  async def _do_complete(kc, req):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clikernel
3
- Version: 0.2.7
3
+ Version: 0.2.8
4
4
  Summary: Serve persistent Jupyter kernels to LLMs as concise text, over MCP or a plain stream protocol
5
5
  Author: clikernel contributors
6
6
  License: Apache-2.0
@@ -12,7 +12,7 @@ Requires-Python: >=3.11
12
12
  Description-Content-Type: text/markdown
13
13
  License-File: LICENSE
14
14
  Requires-Dist: fastcore>=2.2.2
15
- Requires-Dist: jupyasyncclient>=0.2.9
15
+ Requires-Dist: jupyasyncclient>=0.2.10
16
16
  Requires-Dist: fastspec>=0.2.2
17
17
  Requires-Dist: mcpmini>=0.0.3
18
18
  Requires-Dist: aidialog>=0.0.7
@@ -1,5 +1,5 @@
1
1
  fastcore>=2.2.2
2
- jupyasyncclient>=0.2.9
2
+ jupyasyncclient>=0.2.10
3
3
  fastspec>=0.2.2
4
4
  mcpmini>=0.0.3
5
5
  aidialog>=0.0.7
@@ -17,7 +17,7 @@ classifiers = [
17
17
 
18
18
  dependencies = [
19
19
  "fastcore>=2.2.2",
20
- "jupyasyncclient>=0.2.9",
20
+ "jupyasyncclient>=0.2.10",
21
21
  "fastspec>=0.2.2",
22
22
  "mcpmini>=0.0.3",
23
23
  "aidialog>=0.0.7",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes