Skip to main content

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 .env configuration 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.

  1. Format Check: ruff check .
  2. Type Check: mypy .
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fuse_io-0.1.98.tar.gz (2.7 MB view details)

Uploaded Source

Built Distribution

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

fuse_io-0.1.98-py3-none-any.whl (2.9 MB view details)

Uploaded Python 3

File details

Details for the file fuse_io-0.1.98.tar.gz.

File metadata

  • Download URL: fuse_io-0.1.98.tar.gz
  • Upload date:
  • Size: 2.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fuse_io-0.1.98.tar.gz
Algorithm Hash digest
SHA256 91333dfdb55b2bbbdfef980d3335d194c460cce48bd7d36be3e6d12267dea0b1
MD5 1c8e9c643e0288a3f9133d7075493c99
BLAKE2b-256 dc633c84d6fc8d7ecbe98b358dd142a3a705c7865eaf14404c76f904e4d99c75

See more details on using hashes here.

Provenance

The following attestation bundles were made for fuse_io-0.1.98.tar.gz:

Publisher: publish-to-pypi.yml on bibektimilsina00/fuse

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

File details

Details for the file fuse_io-0.1.98-py3-none-any.whl.

File metadata

  • Download URL: fuse_io-0.1.98-py3-none-any.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fuse_io-0.1.98-py3-none-any.whl
Algorithm Hash digest
SHA256 42602d0208698f38c124aa317a2bf4116c8ec490e47ff28ad79a8748f20787b0
MD5 73a282e317f480c045addaae3664540e
BLAKE2b-256 4912fb15963bc549e66612b7f2a5b327f6848059284a724f977974117842fa2e

See more details on using hashes here.

Provenance

The following attestation bundles were made for fuse_io-0.1.98-py3-none-any.whl:

Publisher: publish-to-pypi.yml on bibektimilsina00/fuse

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