Deploy and verify signed Knowledge Graphs against a SKI Model runtime.
Project description
ski-model-deploy
Install from PyPI:
pip install ski-model-deploy(publishing starts with the first release after June 2026).
⚠ STATUS: EARLY ALPHA (v0.1.0a0). Alpha-quality tooling. See the repo root
README.mdfor the project-wide status.
Deploy and configure the SKI Model inference engine on-premise.
ski-model-deploy is the deployment toolkit for the SKI Framework v2.1
runtime. (In pre-v2.1 docs this tool was called milm-deploy.)
What it does
- Generate a deployment configuration for a sector deployment.
- Verify the Ed25519 signature of a Knowledge Graph and register it
with the deployment. Signature verification is mandatory — there is
no
--no-verifyescape hatch. - Stand up the SKI Model stack via Docker (Kubernetes manifests planned for v0.2).
- Surface deployment status and a basic health view.
Installation
pip install -e tools/ski-model-deploy
Quick start
# 1. Initialise a deployment config (writes deployment-config.yaml).
ski-model-deploy init --name energy-prod --sector energy
# 2. Load a SIGNED Knowledge Graph (this will refuse to load an unsigned KG).
ski-model-deploy load-kg \
--config deployment-config.yaml \
--kg /path/to/signed-kg.json
# 3. Start the stack.
ski-model-deploy start --config deployment-config.yaml
# 4. Status.
ski-model-deploy status --config deployment-config.yaml
Commands
| Command | Purpose |
|---|---|
init |
Create a new deployment configuration. |
load-kg |
Verify a signed KG and register it. Signature verification is mandatory. |
start |
Bring up the stack (docker compose for the alpha; k8s planned). |
stop |
Tear down the stack. |
status |
Report deployment status as JSON. |
--help is supported on every command.
Environment variables
The runtime (the SKI Model service itself) reads its own environment
variables documented in
reference-implementation/.env.example. The deployer cares about a
small subset relevant to its own operation:
| Variable | Default | Notes |
|---|---|---|
SKI_API_KEY |
required | Used for --api-key on status health probes. |
LEDGER_DSN |
required | Audit ledger DSN. |
OLLAMA_BASE_URL |
http://ollama:11434 |
Default inference backend URL. |
SKI_MODEL_NAME |
qwen2.5:7b-instruct |
Model the runtime should use. |
SKI_MODEL_FILE_SHA256 |
optional | If set, the runtime refuses to start unless the pulled model artefact matches. |
A non-conformant anthropic demo backend exists in the runtime. The
deployer does not encourage or wire it in. It is intentionally
inconvenient to enable.
Signature verification — mandatory
This tool will REFUSE to load a Knowledge Graph that:
- has no
signatureblock, or - has
algorithm: "DEMO_UNSIGNED", or - has a signature that does not verify under the embedded public key.
There is no --no-verify, no verify_signature=False, no override flag.
If you absolutely need to load an unsigned KG (for local prototyping
only), you must set KG_REQUIRE_SIGNATURE=false on the runtime, which
makes the deployment non-conformant and is reported as such by the
conformance test suite.
Licensing
Apache 2.0. See ../../LICENSE.
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 ski_model_deploy-3.1.0a2.tar.gz.
File metadata
- Download URL: ski_model_deploy-3.1.0a2.tar.gz
- Upload date:
- Size: 11.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e21f0345312ad44c69869b1766f93dc5818f6242bc50427c28c767ec3279376
|
|
| MD5 |
86ba4553e04033953e50a906c3fbf253
|
|
| BLAKE2b-256 |
c905bbb525f66beb6aed2c4ecef65940efb6fb473bda641844ef92d7f2563755
|
Provenance
The following attestation bundles were made for ski_model_deploy-3.1.0a2.tar.gz:
Publisher:
release.yml on kpifinity/ski-framework
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ski_model_deploy-3.1.0a2.tar.gz -
Subject digest:
8e21f0345312ad44c69869b1766f93dc5818f6242bc50427c28c767ec3279376 - Sigstore transparency entry: 1783545253
- Sigstore integration time:
-
Permalink:
kpifinity/ski-framework@27183abcb92f5c251093a72a88f4d58a626cdf1f -
Branch / Tag:
refs/tags/v3.1.0-alpha.2 - Owner: https://github.com/kpifinity
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@27183abcb92f5c251093a72a88f4d58a626cdf1f -
Trigger Event:
push
-
Statement type:
File details
Details for the file ski_model_deploy-3.1.0a2-py3-none-any.whl.
File metadata
- Download URL: ski_model_deploy-3.1.0a2-py3-none-any.whl
- Upload date:
- Size: 11.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5785974cebe0800d695accd6ae3db2319bc0c8139ac4d13cde0198d93441c83e
|
|
| MD5 |
86c92aeb2142eda0fe1ac7f1198433ee
|
|
| BLAKE2b-256 |
a1c76e38360ff40d2fe0e0a0b24d8692d685bdad2c709ba82e402705fdbfbf80
|
Provenance
The following attestation bundles were made for ski_model_deploy-3.1.0a2-py3-none-any.whl:
Publisher:
release.yml on kpifinity/ski-framework
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ski_model_deploy-3.1.0a2-py3-none-any.whl -
Subject digest:
5785974cebe0800d695accd6ae3db2319bc0c8139ac4d13cde0198d93441c83e - Sigstore transparency entry: 1783546565
- Sigstore integration time:
-
Permalink:
kpifinity/ski-framework@27183abcb92f5c251093a72a88f4d58a626cdf1f -
Branch / Tag:
refs/tags/v3.1.0-alpha.2 - Owner: https://github.com/kpifinity
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@27183abcb92f5c251093a72a88f4d58a626cdf1f -
Trigger Event:
push
-
Statement type: