Metadata-Version: 2.5
Name: arkitekt-runtime
Version: 1.0.2
Summary: the execution core of an Arkitekt app: agent, actors, tasks, journal, state and structure serialization, shared by every runtime
Author-email: jhnnsrs <jhnnsrs@gmail.com>
License-Expression: MIT
Requires-Python: >=3.11
Requires-Dist: arkitekt-spec>=1.1
Requires-Dist: janus>=2.0.0
Requires-Dist: jsonpatch>=1.33
Requires-Dist: koil>=3.3.3
Requires-Dist: pydantic>=2.11
Provides-Extra: qt
Requires-Dist: qtpy>=2.4; extra == 'qt'
Description-Content-Type: text/markdown

# arkitekt-runtime

The execution core of an Arkitekt app: what every runtime needs to *run* a declared app.

An app is declared with [arkitekt-spec](../arkitekt-spec). A runtime executes it:
[rekuest](../rekuest) in distributed mode (a socket agent registered with a rekuest server),
[arkitekt-fastapi](../arkitekt-fastapi) in server mode (an HTTP service). Both build on this
package: the agent's assignment handling, actors, `Task`, the journal, state, locks, hook
runners and structure serialization.

It carries no transport and no client -- no websockets, rath or graphql-core. A runtime plugs
in its transport (`agents.transport.base.AgentTransport`), its caller (to call other actions)
and its task scope (e.g. rath's, so service clients attribute requests to the running task).
