mirror of
https://github.com/hanzoai/flow.git
synced 2026-10-17 01:29:18 +00:00
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).
2.6 KiB
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
flowcompat shim package has been removed (was atsrc/backend/base/flow/) - The
hanzoflowpackage dir has been renamed toflow
PyPI package names (unchanged)
hanzoflow-- root package name in pyproject.tomlflow-base-- base package name in pyproject.tomllfx-- 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.pyvia 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 factorysrc/backend/base/flow/alembic/-- Database migrationsDockerfile-- Production containerMakefile-- Build automation