Files
flow/LLM.md
T
zeekay d650dd60f0 refactor(rebrand): langflow->flow across docs, starter-project data, CI, tests
Docs corpus (Langflow->Hanzo Flow, upstream URLs langflow-ai/langflow->hanzoai/
flow, docs.langflow.org->docs.hanzo.ai), starter-project template help-URLs, CI
workflows, and test files. Remaining 'langflow' repo-wide is now dominated by
LANGFLOW_* env-var names + langflow_ settings fields — the config-boundary layer
deliberately preserved pending a coordinated FLOW_/HANZO_ alias-with-fallback
(renaming them blind breaks every deployment).
2026-07-16 10:00:51 -07:00

2.6 KiB

LLM.md - Hanzo Flow

Overview

Hanzo Flow is a powerful platform for building and deploying AI-powered agents and workflows. It provides developers with both a visual authoring experience and built-in API and MCP servers.

Upstream: Hanzo Flow (MIT). Internal package name flow; canonical env prefix FLOW_* (legacy LANGFLOW_* retained only for backwards compatibility — do not introduce new LANGFLOW_* references).

Tech Stack

  • Backend: Python (FastAPI, SQLModel, Alembic)
  • Frontend: TypeScript/React (Next.js)
  • Package manager: uv (Python), pnpm (Node.js)

Build & Run

uv sync --all-extras       # Install Python deps
make dev                   # Start dev server
make test                  # Run tests

Package Architecture (2026-03-25)

Three Python packages in a uv workspace:

Package PyPI name Dir Purpose
flow flow-base src/backend/base/flow/ Main backend package (454 files)
flow (root) hanzoflow src/backend/flow/ Root package (version only)
lfx lfx src/lfx/src/lfx/ Lightweight executor, standalone CLI

Internal package name: flow

  • All Python imports use from flow.xxx / import flow.xxx
  • Entry point: hanzo-flow = "flow.launcher:main" (root pyproject.toml)
  • Entry point: flow-base = "flow.launcher:main" (base pyproject.toml)
  • Hatch build target: packages = ["flow"] (base), packages = ["src/backend/flow"] (root)
  • The flow compat shim package has been removed (was at src/backend/base/flow/)
  • The hanzoflow package dir has been renamed to flow

PyPI package names (unchanged)

  • hanzoflow -- root package name in pyproject.toml
  • flow-base -- base package name in pyproject.toml
  • lfx -- executor package name

Environment variables (backwards compat)

  • LANGFLOW_* env vars are kept for backwards compatibility (e.g. LANGFLOW_DATABASE_URL, LANGFLOW_LOG_LEVEL)
  • These are defined in lfx/src/lfx/services/settings/base.py via pydantic-settings

Key classes

  • FlowApplication -- Gunicorn application class (flow.server)
  • FlowUvicornWorker -- Uvicorn worker class (flow.server)

Key Files

  • pyproject.toml -- Root project config (PyPI name: hanzoflow)
  • src/backend/base/pyproject.toml -- Base package config (PyPI name: flow-base)
  • src/backend/base/flow/launcher.py -- Main entry point (was langflow_launcher.py)
  • src/backend/base/flow/__main__.py -- CLI commands (typer app)
  • src/backend/base/flow/main.py -- FastAPI app factory
  • src/backend/base/flow/alembic/ -- Database migrations
  • Dockerfile -- Production container
  • Makefile -- Build automation