Kartikeya — a standalone bubblewrap-sandboxed task queue and worker. Backend-agnostic (SQLite or Postgres); the execution engine formerly known as Kart.
Project description
Kartikeya
Skanda · Murugan — the six-faced commander of the divine armies, born to lead the devas. The engine that marshals and runs a fleet's tasks. Colloquially: Kart.
A standalone, host-agnostic task queue + sandboxed worker. Submit shell (or, optionally, LLM-workflow) tasks to a queue; a worker claims them and runs each in a bubblewrap sandbox with an explicit mount/credential/network policy.
Kartikeya is the execution engine extracted from the Willow fleet
(willow-2.0/core/kart_*) and made to stand on its own — no fleet, no specific
host, no required database server.
Status
Pre-alpha, under active extraction. This repo is the target of a staged lift
described in docs/DESIGN.md. The scaffold and the TaskQueue interface are in
place; the sandbox/worker/execute core is being decoupled from its origin and
brought over next.
Design goals
- Host-agnostic. The only coupling — "where do tasks live" — is a small
TaskQueueinterface a host implements. Kartikeya owns the sandbox, worker loop, lanes, and command scan; the host owns storage and file roots. - Zero-infra by default. Ships a reference
SqliteTaskQueue, sopip install kartikeyacan execute tasks with no Postgres and no fleet. - Backend-swappable. SQLite (bundled), Postgres, or a custom backend behind the same interface.
- Sandboxed and network-gated. Tasks run network-isolated unless the stored
task text carries a
# allow_netdirective; credentials reach only network- enabled tasks. (Who is allowed to write that directive is the host's call — see the security note indocs/DESIGN.md.)
Install
pip install kartikeya # base: shell tasks, SQLite backend
pip install "kartikeya[postgres]" # + Postgres backend helpers
pip install "kartikeya[llm]" # + LLM-workflow task type
Quickstart
Coming with stage 2 — once the worker core lands, this section documents
kartikeya worker end to end (submit → worker runs → poll).
License
MIT © Sean Campbell
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kartikeya-0.0.1.tar.gz.
File metadata
- Download URL: kartikeya-0.0.1.tar.gz
- Upload date:
- Size: 40.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e05d97d7f2a21d24cc700f72583d7681adaf3dcbd9544b9ee0dba68fcbf438e5
|
|
| MD5 |
f327a8e808329981fc4c61b39e11d671
|
|
| BLAKE2b-256 |
640b8ca4d25f9feb7f2f15b24f992e79caf902d2953c9cb8164e99cdfef1911a
|
File details
Details for the file kartikeya-0.0.1-py3-none-any.whl.
File metadata
- Download URL: kartikeya-0.0.1-py3-none-any.whl
- Upload date:
- Size: 37.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d78a5cfff2217355c664162249d66342cc2ffce55ff2d2626f45c2bc6c8406b
|
|
| MD5 |
698d32fd0d6f0bbe8e7098c4c55706a4
|
|
| BLAKE2b-256 |
94fa27bd01d52ce970415c779b4da2c70f672358a4ac6cdb861e5b8a3e937fb1
|