Skip to main content

KonfAI Apps

konfai-apps is the standalone package for packaged KonfAI workflows.

It is the layer you use when a low-level KonfAI workflow is already stable and you want a cleaner interface for:

  • local inference and evaluation
  • reusable app packaging
  • remote execution through a FastAPI server
  • integration in external tools such as 3D Slicer or lightweight clients

In the KonfAI repository, the split is intentional:

  • konfai = the low-level workflow engine
  • konfai-apps = the packaged app runtime
  • apps/ = a collection of concrete published apps

What This Package Provides

konfai-apps ships three interfaces:

  • konfai-apps for local or remote app execution
  • konfai-apps-server for hosting apps behind an HTTP API
  • the Python API under konfai_apps

This package depends on the core konfai framework, but it is versioned and tested as a separate runtime surface.

Installation

From PyPI:

python -m pip install konfai-apps

The HTTP job server is an extra; running apps, locally or against a server, does not need it:

python -m pip install "konfai-apps[server]"

From a local checkout of this monorepo:

git clone https://github.com/fideus-labs/KonfAI.git
cd KonfAI
python -m pip install -e .
python -m pip install -e "./konfai-apps[server]"

Check the entrypoints:

konfai-apps --help
konfai-apps-server --help

App Identifiers

The app argument accepted by konfai-apps supports three main forms:

  • Hugging Face app: repo_id:app_name
  • local app directory: /path/to/my_app
  • remote app execution: same app identifier, plus --host ...

Examples:

konfai-apps infer VBoussot/ImpactSynth:CBCT ...
konfai-apps infer /data/apps/MyApp ...
konfai-apps infer VBoussot/ImpactSynth:CBCT --host 127.0.0.1 --port 8000 ...

Quick Start

⚠️ Trust model. Resolving an app copies and imports its .py files, so it runs arbitrary code, and it pip-installs its requirements.txt by default (only missing or mismatched packages; core packages like torch/konfai are never touched; opt out with KONFAI_APPS_INSTALL_REQUIREMENTS=0). Only resolve apps from sources you trust.

Local inference

konfai-apps infer VBoussot/ImpactSynth:CBCT \
  -i input.mha \
  -o ./Output \
  --gpu 0

Evaluation

konfai-apps eval VBoussot/ImpactSynth:CBCT \
  -i input.mha \
  --gt gt.mha \
  --mask mask.mha \
  -o ./Evaluation \
  --gpu 0

Full pipeline

konfai-apps pipeline VBoussot/ImpactSynth:CBCT \
  -i input.mha \
  --gt gt.mha \
  --mask mask.mha \
  -o ./Output \
  -uncertainty \
  --gpu 0

Fine-tuning

konfai-apps fine-tune my_app MyCustomApp \
  -d ./Dataset \
  -o ./FineTune \
  --epochs 10 \
  --gpu 0

Main Commands

The CLI is organized around the packaged workflows available inside an app:

  • infer
  • eval
  • uncertainty
  • pipeline
  • fine-tune

Common execution options:

  • --gpu 0 or --gpu 0 1
  • --cpu N
  • --download
  • --force_update
  • --quiet

Workflow-specific config overrides:

  • --prediction-file
  • --evaluation-file
  • --uncertainty-file

Python API

The same runtime is available from Python:

from pathlib import Path

from konfai_apps import KonfAIApp

app = KonfAIApp("VBoussot/ImpactSynth:CBCT", download=False, force_update=False)
app.infer(
    inputs=[[Path("input.mha")]],
    output=Path("./Output"),
    gpu=[0],
    cpu=None,
    quiet=False,
    tmp_dir=None,
    ensemble=0,
    ensemble_models=[],
    tta=0,
    mc=0,
    uncertainty=False,
    prediction_file="Prediction.yml",
)

For remote execution:

from konfai import RemoteServer
from konfai_apps import KonfAIAppClient

client = KonfAIAppClient(
    "VBoussot/ImpactSynth:CBCT",
    RemoteServer("127.0.0.1", 8000, "secret"),
)

Remote Server

konfai-apps-server exposes packaged apps through a FastAPI service (the server extra).

Minimal example, apps.json listing the apps the server exposes:

echo '{"apps": ["VBoussot/ImpactSynth:CBCT"]}' > apps.json
export KONFAI_API_TOKEN="secret"
konfai-apps-server \
  --host 0.0.0.0 \
  --port 8000 \
  --apps apps.json

Once the server is running, the client switches to remote mode as soon as --host is provided:

konfai-apps infer VBoussot/ImpactSynth:CBCT \
  -i input.mha \
  -o ./Output \
  --host 127.0.0.1 \
  --port 8000 \
  --token secret \
  --cpu 1

The remote flow is:

  1. upload inputs and parameters
  2. schedule the job on the server
  3. stream logs back to the client
  4. download the packaged result archive
  5. extract the final outputs locally

What a KonfAI App Contains

A typical app directory contains:

my_app/
├── app.json
├── Prediction.yml
├── Evaluation.yml            # optional
├── Uncertainty.yml           # optional
├── checkpoint.pt             # one or more checkpoints
└── custom Python modules     # optional

app.json stores metadata such as:

  • display name
  • description
  • short description
  • TTA capability
  • MC-dropout capability
  • optional UI-oriented metadata

The exact app authoring model is documented in the main repository under apps/ and in the Sphinx docs.

Repository Layout

Inside this monorepo:

This is why the folder is named konfai-apps and not just apps: the package is the runtime, while apps/ is the catalog of concrete apps.

Development

Install both packages in editable mode:

python -m pip install -e .
python -m pip install -e "./konfai-apps[server]"

Run the package test suite:

pytest konfai-apps/tests

The tests are split into:

  • konfai-apps/tests/unit
  • konfai-apps/tests/integration

GitHub Actions also separates the package from the core repository workflow:

  • .github/workflows/konfai_ci.yml
  • .github/workflows/konfai_apps_ci.yml

Useful entry points in the main repository:

Current Scope

konfai-apps is intentionally focused on packaged workflow execution.

It is not meant to replace the low-level konfai workflow authoring interface

Its job is narrower and more operational: turn a mature KonfAI workflow into a reproducible, distributable application surface.

Metadata

Release files for konfai-apps 1.8.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for konfai-apps 1.8.7
File Size Uploaded
konfai_apps-1.8.7.tar.gz 179.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for konfai-apps 1.8.7
File Interpreter ABI Platform
konfai_apps-1.8.7-py3-none-any.whl Python 3 none any Details

Total release size: 286.9 kB

Release files / konfai_apps-1.8.7.tar.gz

Download URL konfai_apps-1.8.7.tar.gz
Size 179.4 kB
Tags Source
SHA-256 checksum
How to use checksums
6506f501955c88e85064f0001aff151b49f9e3d3216f16cee860d6fe56b7e13b
BLAKE2b-256 checksum
How to use checksums
f936661b10bf2a8fd1a5fb63bc7dd0deea106d87e9c1243e11ba588eedefc900
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / konfai_apps-1.8.7-py3-none-any.whl

Download URL konfai_apps-1.8.7-py3-none-any.whl
Size 107.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
427cb8867595548522c5c02d420842c3facbdfd3acee14b5181ecca5d664398e
BLAKE2b-256 checksum
How to use checksums
8d918e093de353d5dbd0f599be7e7f521a36ef788162f089f133214853b58ef2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.8.7 This release

2 release files

1.8.6

2 release files

1.8.5

2 release files

1.8.4

2 release files

1.8.3

2 release files

1.8.2

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.9

2 release files

1.5.8

2 release files

1.5.7

2 release files

1.5.6

2 release files

1.5.5

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page