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.1.1.tar.gz (527.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.1.1-py3-none-any.whl (33.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for fluxly-0.1.1.tar.gz
Algorithm Hash digest
SHA256 93ec926d469c04c92bd2000eee0fb9951248a82730a7a7e98d9689eea733cbae
MD5 bfe04112b121a0a2f2c12cf1c9cddcae
BLAKE2b-256 cdc1b14c7928ea5c54b27a331e3a86313871b1b2ba6fc665a66b55ff372bd048

See more details on using hashes here.

Provenance

The following attestation bundles were made for fluxly-0.1.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.1.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for fluxly-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cd3b13a9069cddc688dce1cb76afe34227717a13e22ae73872679e88fff115eb
MD5 3ac1c1a8595444adf872e60455c5c21b
BLAKE2b-256 32d87478b12630fdb12caf827f4fa620c59ef39ea9e5b8cf8331d219627f2af0

See more details on using hashes here.

Provenance

The following attestation bundles were made for fluxly-0.1.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