Skip to content

Commit c450018

Browse files
committed
bring in some content from kallichore-builds
1 parent 415f837 commit c450018

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

README.md

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
# Kallichore <img src="doc/Kallichore.webp" align="right" height=160 />
22

3-
Kallichore is an experimental, headless supervisor for Jupyter kernels.
4-
5-
It exposes a JSON API (described with OpenAPI) that can be used to start kernel sessions and query for their status. It also provides a WebSocket interface for sending and receiving Jupyter messages.
6-
7-
Multiple kernels/sessions can be supervised at once; each receives its own interface.
3+
Kallichore is an experimental, headless supervisor for Jupyter kernels. It [exposes a JSON API](https://github.com/posit-dev/kallichore/blob/main/kallichore.json) that can be used to start kernel sessions and query for their status. It also provides a WebSocket interface for sending and receiving Jupyter messages.
84

95
```mermaid
106
graph LR
@@ -17,6 +13,25 @@ ki1 -- zeromq --> k1[kernel 1]
1713
ki2 -- zeromq --> k2[kernel 2]
1814
```
1915

16+
Kallichore's primary residence is in [the Positron IDE](https://github.com/posit-dev/positron), where it provides durable Jupyter kernel sessions, especially in [Posit Workbench](https://posit.co/products/enterprise/workbench/). It takes care of much of the minutiae of Jupyter kernel management (ZeroMQ, process interop, lifecycle supervision, etc.) and exposes a high-level API that Positron uses to control kernel sessions and to send and receive Jupyter messages.
17+
18+
It is a companion to Posit's [Amalthea and Ark](https://github.com/posit-dev/ark) projects. Like Amalthea, it is a Jupyter-adjacent project named after [one of Jupiter's moons](https://science.nasa.gov/jupiter/moons/kallichore/). Kallichore is also [one of the Muses](https://en.wikipedia.org/wiki/Callichore).
19+
20+
Here's how Kallichore functions in the larger Positron ecosystem for e.g. an R session:
21+
22+
```mermaid
23+
graph TD
24+
p[Positron] -- Positron API --> r[R Language Pack]
25+
r -- Positron API --> p
26+
r --> kp[Kallichore Plugin]
27+
kp --> r
28+
kp -- Kallichore API --> k[Kallichore]
29+
k -- Kallichore API --> kp
30+
k -- Jupyter over ZeroMQ --> rk[R Kernel]
31+
rk -- Jupyter over ZeroMQ --> k
32+
kp -- Jupyter over WebSocket --> k
33+
rk -- LSP over TCP --> r
34+
2035
## Compiling and Running
2136
2237
### Compiling

0 commit comments

Comments
 (0)