Skip to main content

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 TaskQueue interface 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, so pip install kartikeya can 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_net directive; credentials reach only network- enabled tasks. (Who is allowed to write that directive is the host's call — see the security note in docs/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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kartikeya-0.0.1.tar.gz (40.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kartikeya-0.0.1-py3-none-any.whl (37.4 kB view details)

Uploaded Python 3

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

Hashes for kartikeya-0.0.1.tar.gz
Algorithm Hash digest
SHA256 e05d97d7f2a21d24cc700f72583d7681adaf3dcbd9544b9ee0dba68fcbf438e5
MD5 f327a8e808329981fc4c61b39e11d671
BLAKE2b-256 640b8ca4d25f9feb7f2f15b24f992e79caf902d2953c9cb8164e99cdfef1911a

See more details on using hashes here.

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

Hashes for kartikeya-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2d78a5cfff2217355c664162249d66342cc2ffce55ff2d2626f45c2bc6c8406b
MD5 698d32fd0d6f0bbe8e7098c4c55706a4
BLAKE2b-256 94fa27bd01d52ce970415c779b4da2c70f672358a4ac6cdb861e5b8a3e937fb1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page