Add a Python getting-started Jupyter notebook and reorganize the Python examples under examples/python/. - examples/python/getting_started.ipynb: add notebook demonstrating the single-threaded tick loop (`spawn`/`send`/`tick`/`inbox`/`try_recv`) and the multi-threaded path via `RuntimeConfig` + `rt.run()`/`handle.shutdown()` - examples/: relocate `hello_async.py` and `hello_single_thread.py` under `examples/python/` - pyproject.toml: add a `dev` dependency group containing jupyter and ipykernel - uv.lock: regenerate the lockfile for the new dev dependencies (2452 lines) Signed-off-by: Zachery Aaron Shores-Chmielewski <zacheryasc@gmail.com>
13 lines
323 B
Python
13 lines
323 B
Python
"""Hello world: spawn an echo actor, send a message, get it back."""
|
|
|
|
from swactor import Runtime
|
|
|
|
def echo(ctx, msg):
|
|
ctx.send(msg["reply_to"], f"hello, {msg['name']}!")
|
|
|
|
rt = Runtime()
|
|
addr = rt.spawn(echo)
|
|
inbox = rt.inbox()
|
|
rt.send(addr, {"name": "world", "reply_to": inbox.addr})
|
|
rt.tick()
|
|
print(inbox.try_recv())
|