Fuse - Workflow automation. A powerful local-first automation platform with visual builder, AI integration, and extensive node library.
Project description
🚀 Fuse Backend: High-Performance Automation Engine
The Fuse Backend is the high-concurrency, asynchronous heartbeat of the Fuse platform. It is a sophisticated REST and WebSocket API designed using a modular, "package-first" philosophy to enable secure, scalable, and intelligent workflow orchestration.
🛠️ Core Technology Stack
- Framework: FastAPI (Python 3.10+)
- ORM & Database: SQLModel (SQLAlchemy + Pydantic)
- Task Orchestration: Celery with Redis
- Security: JWT-based Authentication, Argon2 Hashing, and AES-256 Credential Encryption
- Communication: WebSockets for real-time log streaming and execution feedback
- Versioning: Distributed as an installable package via PyPI
🏗️ Architectural Pillars
1. The Workflow Engine
The engine parses directed acyclic graphs (DAGs) defined in JSON and manages their execution lifecycle.
- Atomic Execution: Each node is an isolated execution context.
- State Propagation: Seamless data flow between nodes with support for complex mapping and variables.
- Error Handling: Built-in circuit breakers, retry logic, and fallback paths.
2. Modular Node System (node_packages/)
Every capability in Fuse is a standalone package. This ensures that the core engine remains lean while the node library can grow infinitely.
- Isolated Runtimes: Nodes can specify their own requirements and logic.
- GUI Editor: Users can create brand-new nodes via the dashboard, which are automatically scaffolded into the
node_packages/directory.
3. Dynamic Plugin System (plugin_packages/)
Plugins allow for heavy-duty extension of the platform.
- Manifest-Driven: Automatic discovery and registration based on
manifest.json. - Integrated Auth: Plugins can register their own OAuth configurations and API routes.
📦 Professional Installation
Production (via PyPI)
We recommend using uv for near-instant installation and isolated environment management.
uv pip install fuse-io
fuse init
fuse start
Development Environment
# Clone and enter the backend directory
cd fuse_backend
# Create and synchronize environment
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"
# Synchronize database
fuse start --skip-browser
⚙️ Advanced Configuration
Configuration is managed via environment variables (loading from .env by default).
| Variable | Default | Description |
|---|---|---|
DATABASE_URL |
sqlite:///./fuse.db |
Connection string (PostgreSQL recommended for production). |
REDIS_URL |
None |
Required for Celery task queuing and heavy caching. |
SECRET_KEY |
dev-secret |
Cryptographic key for JWTs and encryption. Change this. |
FIRST_USER_EMAIL |
admin@fuse.io |
Default administrative account email. |
SERVER_HOST |
http://localhost:5678 |
Public-facing URL for OAuth callback resolution. |
🎮 Command Line Interface (CLI)
The fuse command is a powerful utility for managing your instance.
fuse init: Scaffolds the.envconfiguration and initializes the database.fuse start: Launches the FastAPI server, runs pending migrations, and starts the UI.fuse version: Displays detailed version info for the engine and system environment.fuse --help: Comprehensive list of all available commands and flags.
🤝 Technical Contribution
Fuse Backend follows strict Ruff formatting and MyPy type-checking standards.
- Format Check:
ruff check . - Type Check:
mypy . - Run Tests:
pytest
Branching Strategy
main: Stable production releases.develop: Integration branch for upcoming features.feature/*: Specific feature developments.
Built with Precision by Bibek Timilsina Scalable. Secure. Unified. 🌊
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fuse_io-0.1.95.tar.gz.
File metadata
- Download URL: fuse_io-0.1.95.tar.gz
- Upload date:
- Size: 2.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2911179a544f12e7a78781f8322c2197883572239972cfa7ff6369aa4c99bc21
|
|
| MD5 |
f958ad0b08ed0a63031b324ec79b3d99
|
|
| BLAKE2b-256 |
544cd1c748e87f67ac164806737d30ae09990882009f054664435514f149ff0c
|
Provenance
The following attestation bundles were made for fuse_io-0.1.95.tar.gz:
Publisher:
publish-to-pypi.yml on bibektimilsina00/fuse_backend
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fuse_io-0.1.95.tar.gz -
Subject digest:
2911179a544f12e7a78781f8322c2197883572239972cfa7ff6369aa4c99bc21 - Sigstore transparency entry: 864101067
- Sigstore integration time:
-
Permalink:
bibektimilsina00/fuse_backend@9b295aa876c2fef3b6ddee7fa3fa0f292c53f221 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/bibektimilsina00
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@9b295aa876c2fef3b6ddee7fa3fa0f292c53f221 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file fuse_io-0.1.95-py3-none-any.whl.
File metadata
- Download URL: fuse_io-0.1.95-py3-none-any.whl
- Upload date:
- Size: 2.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a00062d31692e46039af4806770725af9d7b01cfc4f56abb719945e422ac7544
|
|
| MD5 |
7448805b03ed3dd5ca9714d239397db4
|
|
| BLAKE2b-256 |
0d528bebc41fbef6f5533396d38c34fde811c450559aaf99d8af67c2a3dbdba4
|
Provenance
The following attestation bundles were made for fuse_io-0.1.95-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on bibektimilsina00/fuse_backend
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fuse_io-0.1.95-py3-none-any.whl -
Subject digest:
a00062d31692e46039af4806770725af9d7b01cfc4f56abb719945e422ac7544 - Sigstore transparency entry: 864101070
- Sigstore integration time:
-
Permalink:
bibektimilsina00/fuse_backend@9b295aa876c2fef3b6ddee7fa3fa0f292c53f221 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/bibektimilsina00
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@9b295aa876c2fef3b6ddee7fa3fa0f292c53f221 -
Trigger Event:
workflow_dispatch
-
Statement type: