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.95.tar.gz (2.3 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.95-py3-none-any.whl (2.5 MB view details)

Uploaded Python 3

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

Hashes for fuse_io-0.1.95.tar.gz
Algorithm Hash digest
SHA256 2911179a544f12e7a78781f8322c2197883572239972cfa7ff6369aa4c99bc21
MD5 f958ad0b08ed0a63031b324ec79b3d99
BLAKE2b-256 544cd1c748e87f67ac164806737d30ae09990882009f054664435514f149ff0c

See more details on using hashes here.

Provenance

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

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

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

Hashes for fuse_io-0.1.95-py3-none-any.whl
Algorithm Hash digest
SHA256 a00062d31692e46039af4806770725af9d7b01cfc4f56abb719945e422ac7544
MD5 7448805b03ed3dd5ca9714d239397db4
BLAKE2b-256 0d528bebc41fbef6f5533396d38c34fde811c450559aaf99d8af67c2a3dbdba4

See more details on using hashes here.

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

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