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.2.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.2.1-py3-none-any.whl (33.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fluxly-0.2.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.2.1.tar.gz
Algorithm Hash digest
SHA256 4d5021ebf2bd8371b940ae69068aafb41f166bcb8d67f509e68fb9064c57b821
MD5 467123af83f04e000d147dd036bd3395
BLAKE2b-256 d6ac8bdb3b99c4a91f042e8e3c4ad6add68deb2edb8e275da1f0d510da5f3c53

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: fluxly-0.2.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.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 63292c60632268f00f2f973c0dd80aae0cb627fe8396766c5bf84f8adf99c037
MD5 bc192e7f4a55e0d74a538d3ea4f57470
BLAKE2b-256 8828a8ddc3f26604ddb146cc7156a7ee4ccf9a33a1ffba0c8d785d707301e2f4

See more details on using hashes here.

Provenance

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