Skip to main content

A framework for building portable, self-contained DAG workflows decoupled from orchestration.

Project description

Fluxly Logo

Python 3.10+

Fluxly — Lightweight framework for portable, self-contained DAG workflows, decoupled from orchestration.


🚀 Introduction

Fluxly is a lightweight framework for building and running directed acyclic graph (DAG)-based workflows.

The entire workflow acts as a self-contained execution endpoint:

  • Run them locally or via CLI commands, API calls, or environment triggers.
  • Package them in containers for portability.
  • Integrate seamlessly with higher-level orchestrators (Argo, Airflow, Prefect, CI/CD) without extra glue code.

With Fluxly, pipelines are highly structured, enabling safer execution, easier debugging, and better modularity.
Workflows can run standalone or as part of a larger system, making Fluxly both lightweight and flexible.

❓ Why Fluxly (the problem it solves)

  • Unstructured container pipelines tend to become spaghetti: ad‑hoc scripts across containers, inconsistent inputs/outputs, and scattered retries/timeouts/logging with no shared wrapper.
  • Heavyweight orchestrators like Airflow add operational burden (schedulers, DBs, webservers, DAG deployment) when all you need is a simple, portable workflow image.
  • Orchestrator‑coupled SDKs (e.g., Prefect) optimize for remote control planes and persistent backends, introducing communication channels and runtime coupling that don’t fit autonomous, fire‑and‑forget jobs.
  • Fluxly keeps logic structured and isolated inside a single codebase and container: typed I/O models, explicit DAG, uniform entrypoints (CLI/API/env), and clear node boundaries. Any scheduler can trigger it, but your workflow remains clean and portable.
  • Best when each Docker stays simple and self‑sufficient, and you want clarity, low overhead, and no hidden glue.
  • In monorepos—or by wrapping Fluxly—you can centralize shared services, typed inputs, validations, outputs, and metadata to fit your org standards. This thin wrapper standardizes containers and removes boilerplate across pipelines.

Complex Workflow Diagram

🔌 Generated Entrypoints (CLI and API)

The package automatically exposes a CLI command and API endpoints for each registered workflow.

Fluxly CLI Menu

Auto-generated CLI commands per workflow.

Fluxly Swagger UI

Auto-generated API endpoints per workflow in Swagger UI.


📚 Documentation

Comprehensive documentation for Fluxly is available online:


✨ Key Features

  • Flexible entrypoints – workflows can be triggered via CLI, API calls, or environment variables.
  • DAG-based workflows – define arbitrary connections between nodes and their dependencies.
  • Highly structured workflows – strict validation ensures safer pipelines, easier debugging, and predictable behavior.
  • Self-orchestrated nodes – each node manages its own execution, retries, and dependencies.
  • Lightweight building blocks – workflows are self-contained units that can run independently in any environment.
  • Extensible by design – wrap workflows with custom classes to add logging, metrics, or integrations.
  • Local-first development – debug and run workflows standalone, then scale seamlessly to CI/CD or external orchestrators.

🛠️ Technology Stack

  • Pydantic: Strict data validation and schema for inputs/outputs.
  • Typer: Easy wrapper for building great CLIs.
  • FastAPI: Modern, high-performance web framework for building APIs.
  • Uvicorn: Lightning-fast ASGI server for running FastAPI apps.
  • Loguru: Simple, efficient logging for Python.
  • Diagrams: Auto-generate DAG diagrams as code.
  • Pixi: Cross-platform package and environment management.
  • Ruff: Lightning-fast linting.
  • Mypy: Static type checking for Python, enforcing type safety and correctness.
  • Coverage.py: Measures code coverage of tests for quality assurance.
  • Pytest: Testing framework.
  • MkDocs: Documentation generator for Markdown-based docs.
  • Material for MkDocs: Modern, responsive theme for MkDocs.
  • GitHub CI/CD: Continuous integration and deployment.

📦 Installation

Install with pip:

pip install fluxly

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

fluxly-0.3.1.tar.gz (530.0 kB view details)

Uploaded Source

Built Distribution

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

fluxly-0.3.1-py3-none-any.whl (33.3 kB view details)

Uploaded Python 3

File details

Details for the file fluxly-0.3.1.tar.gz.

File metadata

  • Download URL: fluxly-0.3.1.tar.gz
  • Upload date:
  • Size: 530.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fluxly-0.3.1.tar.gz
Algorithm Hash digest
SHA256 023327d6bcd7158776c5933e370f03b637d27d13cfbb82bca6bacdabff980e98
MD5 b2881f36e278f2785593a8508f969a4a
BLAKE2b-256 aabad0c5a60c70b07355c3d632c68392edbd6894e49e2fbe6aafb809c7c20bb4

See more details on using hashes here.

Provenance

The following attestation bundles were made for fluxly-0.3.1.tar.gz:

Publisher: deploy.yml on ShaharBand/fluxly

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fluxly-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: fluxly-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 33.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fluxly-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f60de455e1228a1a0a0ef0e5cbf9d41ca10af7b8c94f808ce61267303e618fa1
MD5 9f2512958b9d05c758f0c4b44b5ce08e
BLAKE2b-256 0402ede366cbab71da76564e366f7523c7aa47509913a6b2c6864ed8befbe2f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for fluxly-0.3.1-py3-none-any.whl:

Publisher: deploy.yml on ShaharBand/fluxly

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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