https://github.com/jsam/fuseline
Workflow runner for Python workloads
https://github.com/jsam/fuseline
framework python runner workflow
Last synced: 2 months ago
JSON representation
Workflow runner for Python workloads
- Host: GitHub
- URL: https://github.com/jsam/fuseline
- Owner: jsam
- License: mit
- Created: 2024-07-11T08:22:57.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-07-28T05:44:13.000Z (8 months ago)
- Last Synced: 2025-11-27T18:18:20.479Z (4 months ago)
- Topics: framework, python, runner, workflow
- Language: Python
- Homepage: https://jsam.github.io/fuseline
- Size: 1.6 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# fuseline

[](https://pypi.org/project/fuseline/)
[](https://github.com/mkenney/software-guides/blob/master/STABILITY-BADGES.md#beta)
[](https://codeclimate.com/github/jsam/fuseline/maintainability)
[](https://github.com/jsam/fuseline/actions/workflows/python-tests.yml)
[](https://codeclimate.com/github/jsam/fuseline/test_coverage)
Fuseline is an **AI agents framework with batteries included**. Think of it as
what Django is for web developers, but for building intelligent agents.
## Documentation
The project documentation uses [MkDocs Material](https://squidfunk.github.io/mkdocs-material/).
First install the development extras:
```bash
pip install -e .[dev]
```
This will install `mkdocs-material`, `mkdocstrings[python]` and
`pymdown-extensions`. The docs use `pymdownx.highlight` with the
GitHub Pygments style so Python snippets are rendered
with proper syntax highlighting in both light and dark mode.
Then start the preview server:
```bash
mkdocs serve
```
GitHub Pages builds the docs from the `gh-pages` branch automatically.
The Material theme provides a search box, workspace tabs for
**Getting Started**, **Concepts & Features**, and **API Reference**.
Code blocks are highlighted using Pygments in the GitHub style and a
light/dark palette toggle.
## Features
| Feature | Description |
|---------|-------------|
| **Steps and Tasks** | `Step` provides basic lifecycle hooks while `Task` adds typed dependencies and retry support |
| **Workflow orchestration** | Chain steps using `>>` or dependency injection and run them with `Workflow` |
| **Typed dependencies** | Pass values between tasks using `Depends` and `Computed` |
| **Asynchronous tasks** | Use `AsyncTask` and `AsyncWorkflow` for async execution |
| **Batch workflows** | `BatchTask` and `BatchWorkflow` run tasks for multiple parameter sets |
| **Parallel execution** | `PoolEngine` executes independent branches concurrently |
| **Conditional dependencies** | Attach `Condition` functions to `Depends` for branch logic |
| **Retries with backoff** | Attach `RetryPolicy` to retry failed steps |
| **Policies** | Attach `Policy` objects to customise retries, timeouts and other behaviour |
| **Workflow export** | Serialize graphs to YAML with `Workflow.export` and `YamlExporter` |
| **Tracing** | Record execution events using `FileTracer` |
| **Runtime storage** | Persist workflow state so multiple workers can resume runs |
| **Function workflows** | Wrap callables with `FunctionTask` or use `workflow_from_functions` |
| **Branching actions** | Steps can return action names to select successor steps |
| **Fail-fast policy** | Downstream steps are cancelled when a dependency fails |
| **AND/OR joins** | Support joining branches after all or any parent steps finish |
## Roadmap
| Missing Feature | Importance | Description |
|-----------------|------------|-------------|
| **Web UI and monitoring** | High | Visual dashboard to inspect runs and logs, similar to Airflow or Prefect |
| **Persistent storage** | High | Database-backed state to resume workflows after interruption |
| **Distributed executors** | High | Native support for Kubernetes, Dask or Celery clusters |
| **Scheduling** | High | Cron-like triggers and recurring workflow runs |
| **Step caching / resume** | High | Avoid re-executing completed steps across runs |
| **Artifact management** | Medium | Built‑in integration with object stores and artifact tracking |
| **Dynamic parameter mapping** | Medium | Generate task instances from lists or grids of values |
| **Command line tools** | Medium | CLI for creating, running and inspecting workflows |
| **Data lineage and metadata** | Medium | Track dataset versions and dependency history |
| **Visual DAG editing** | Low | Drag-and-drop interface for authoring workflows |
| **Multi-language tasks** | Low | Ability to implement steps in languages other than Python |
| **Security & access control** | Low | Authentication and role-based permissions for multi-user deployments |