Skip to main content

fiatlight: shine light inside your algorithm pipelines

Project description

Fiatlight

Turn Python functions into interactive apps in one line.

Visual pipelines, persistent state, zero UI code.

Fiatlight auto-generates rich user interfaces from your Python functions and structured data (dataclasses, pydantic models). Chain functions as visual node pipelines, tweak parameters in real time, and let Fiatlight handle state persistence — all without writing any UI code. Think of it as ComfyUI, generalized to any Python function.

From Idea to App in Minutes

The application below combines two functions — generate_image (AI image generation) and add_meme_text (text overlay) — into a visual pipeline, with just 4 lines of code:

import fiatlight as fl
from fiatlight.fiat_kits.fiat_ai import invoke_sdxl_turbo
from fiatlight.fiat_kits.fiat_image.add_meme_text import add_meme_text
fl.run([invoke_sdxl_turbo, add_meme_text], app_name="Old school meme generator")
AI meme generator: two connected function nodes generating and captioning an image

Key Features

  • Automatic GUI generation — pass any typed Python function to fl.run() and get an interactive UI with appropriate widgets for each parameter
  • Visual function pipelines — chain multiple functions as connected nodes with automatic data flow between them
  • Real-time feedback — built on Dear ImGui Bundle, applications run at 120 FPS with immediate-mode rendering
  • State persistence — all inputs, preferences, and window layouts are automatically saved and restored; users can save/load different application states
  • Visual debugging — inspect intermediate internal variables of your functions, and replay exceptions with the exact same inputs
  • Domain-specific kits — pre-built widgets for images (OpenCV), Matplotlib, ImPlot, Pandas DataFrames, and AI (Stable Diffusion)
  • Web deployment — applications can run locally or be deployed as static web pages via Pyodide, with no server-side component

Visualize and Debug Function Internals

Fiatlight lets you inspect the intermediate states of complex functions. Below, the add_toon_edges function's internal variables (edge detection, dilation) are displayed visually — even though they are not returned by the function:

Image processing pipeline showing intermediate edge detection and dilation steps

Quick Install

git clone https://github.com/pthom/fiatlight.git
cd fiatlight
pip install -r requirements.txt
pip install -v -e .

Optional dependencies are available for AI (requirements-ai.txt), audio (requirements-audio.txt), and development (requirements-dev.txt).

Who Is It For?

Fiatlight is suited for hobbyists, educators, researchers, data scientists, and developers who want to rapidly create interactive applications, tune algorithms with visual feedback, or build shareable demos — without writing boilerplate UI code.

Links

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

fiatlight-0.7.2.tar.gz (3.3 MB view details)

Uploaded Source

Built Distribution

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

fiatlight-0.7.2-py3-none-any.whl (3.1 MB view details)

Uploaded Python 3

File details

Details for the file fiatlight-0.7.2.tar.gz.

File metadata

  • Download URL: fiatlight-0.7.2.tar.gz
  • Upload date:
  • Size: 3.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for fiatlight-0.7.2.tar.gz
Algorithm Hash digest
SHA256 ac95841e92a3599807f2f41f0fdbc6dc0f1c07bee6224f36e083dedff5165386
MD5 54e249d4bc8cb19710cfb7fb7a1452d2
BLAKE2b-256 4e6aff3a15980427b149c2745b0df9266c215ea9014a87475bc33ee4947972d5

See more details on using hashes here.

File details

Details for the file fiatlight-0.7.2-py3-none-any.whl.

File metadata

  • Download URL: fiatlight-0.7.2-py3-none-any.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for fiatlight-0.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e4122e7f365f60750b239d2c12536e98d131fa003af5da9db85ff2b9d0657ce8
MD5 78eec7c814fc2a720f91ebb2177c3ead
BLAKE2b-256 5007460b43f08c0641fd17cd193038a2941b9844f0a258ab9c1fcebf700e2626

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