arkitekt-spec
The wire format of an Arkitekt app: one definition of what an app is, shared by everything that produces or consumes it.
| Model | What it is | Produced by | Consumed by |
|---|---|---|---|
AppManifest, Requirement |
who the app is, which services it needs | arkitekt (from the App) |
kabinet |
Inspection |
what the app declares (rekuest's action language, carried as JSON) | arkitekt inspect all, inside the image |
arkitekt's plugin CLI, kabinet |
Selector (cpu, ram, cuda, rocm, oneapi, label) |
where a flavour may run | a flavour's config.yaml |
kabinet, deployers |
DeploymentsFile |
.arkitekt/deployments.yaml, the images a repo publishes |
arkitekt plugin publish |
kabinet's repo scan |
It depends only on pydantic and pyyaml. It deliberately does not depend on rekuest: the implementations, states, locks and bloks inside an inspection are rekuest's language, and each side validates them with its own rekuest models.
Compatibility
Every envelope model ignores unknown keys. An inspection is written by the arkitekt inside
an image and read by the host CLI, and deployments.yaml is written by the CLI and read by a
kabinet server that upgrades on its own schedule. Adding a field is therefore a minor change
an older reader survives. A change an older reader must refuse bumps spec_version.
Selectors are the exception: they refuse unknown keys, because they are written by hand and a typo must not silently widen a placement constraint.
from arkitekt_spec import load_deployments, dump_deployments
file = load_deployments(open(".arkitekt/deployments.yaml").read())
python -m arkitekt_spec prints the JSON Schema. The committed snapshot in
tests/fixtures/deployments.schema.json makes every format change show up in review.
Metadata
Release files for arkitekt-spec 1.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| arkitekt_spec-1.3.1.tar.gz | 147.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| arkitekt_spec-1.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 328.9 kB
Release files / arkitekt_spec-1.3.1.tar.gz
| Download URL | arkitekt_spec-1.3.1.tar.gz |
|---|---|
| Size | 147.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5c1e4b08a5c43d347dbf083d7fa8e6cda7cc802e97b63b41c9780c39d2e8c385
|
|
BLAKE2b-256 checksum How to use checksums |
93f5daa8406b53b348e7704f71ce76233782d305aae7ed35529029c221cfe7c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / arkitekt_spec-1.3.1-py3-none-any.whl
| Download URL | arkitekt_spec-1.3.1-py3-none-any.whl |
|---|---|
| Size | 181.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0dd7d5969b75f76f2c1c0212fa2499e583826b2cf9b3e3ecce5daf595db8cde9
|
|
BLAKE2b-256 checksum How to use checksums |
9b4ca95f6d7e3f5f8313d2b4a0e93ba8eae37b961471a8a34246b09f2da8bc42
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|