Introduction to Loom

Loom is a visual scripting platform for Python frameworks. Instead of writing code line-by-line, you build your application logic by connecting nodes on a canvas — then Loom generates clean, production-ready Python code.

What Loom Does

Loom sits between you and your framework. You design your application visually using a node-based editor, and Loom translates your graph into idiomatic Python code that uses the framework's native API.

  • Visual logic — Build with flow control, math, comparisons, and framework-specific operations
  • Real code output — Generated code is clean, readable, and uses the framework directly (no Loom runtime dependency)
  • Download or push — Export as a ZIP or push directly to a GitHub repo

Frameworks

Frameworks own their project structure, workbench, and code generation pipeline. When you create a new project, you choose a framework.

Framework Package Use Case
Mesa Mesa 3.x Agent-based modeling and simulation
Weave AI Multi-provider (Anthropic, OpenAI, Google, xAI) + MCP AI agents, MCP servers, and orchestration
Full Stack (composition layer) Compose multiple projects into a single deployable application

Libraries

Libraries provide composable nodes that can be mixed into any framework's graph. Toggle them on per-project from the Libraries Panel in the editor sidebar. Library nodes appear in an amber-colored section of the context menu.

Library Package Use Case
NetworkX networkx Graph analysis and network science
ChromaDB chromadb Vector database for RAG pipelines
LiteLLM litellm Provider-agnostic LLM calls - OpenAI, Anthropic, Ollama, etc. (pinned <1.82.8 - supply chain concern)
Unstructured unstructured Document ingestion - PDF, DOCX, HTML, images
SQLAlchemy sqlalchemy SQL database access - SQLite, PostgreSQL, MySQL
Tavily tavily-python Web search and content extraction
Pydantic pydantic Data validation and schema definition
Neo4j neo4j Graph database with Cypher queries
Playwright playwright Browser automation
Celery celery Task queues, background jobs, scheduling
HTTPX httpx HTTP client - GET, POST, PUT, DELETE with JSON parsing
Slack slack-sdk Slack bot - messages, channels, users, files, reactions, reminders
Discord discord.py + httpx Discord bot - messages, channels, guilds, moderation, threads
GitHub httpx GitHub API - issues, PRs, files, branches, releases, Git operations
Whisper openai-whisper Speech-to-text - transcribe audio
ElevenLabs elevenlabs Text-to-speech - generate natural voice audio
Email (stdlib) Send emails via SMTP - Gmail, Outlook, custom servers
Jinja2 Jinja2 Template engine - generate formatted text, emails, reports
X (Twitter) httpx X/Twitter API - tweets, search, users, lists, engagement
Twitch httpx Twitch Helix API - chat, streams, moderation, polls, predictions, clips
OpenAI openai Official OpenAI SDK - chat completions, streaming, embeddings
Google AI google-genai Google Gemini models - generate content, streaming
Anthropic anthropic Claude AI - chat completions, streaming, structured output
MarkItDown markitdown Convert documents, URLs, and text to Markdown
FastAPI fastapi Web framework - routes, middleware, responses, dependency injection
Streamlit streamlit Interactive web apps - widgets, charts, tables, layouts
Gradio gradio ML demos and web UIs - input/output components, layouts

More frameworks and libraries are planned. Libraries are composable — you can enable multiple libraries on a single project and mix their nodes freely on the canvas.

How It Works

  1. Create a project — Choose a framework and name your project
  2. Build your logic — Use the visual graph editor to design behaviors
  3. Generate code — Click Generate, then download or push to GitHub
  4. Run locally — Install the framework and run like any Python project