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.

FrameworkPackageUse Case
MesaMesa 3.xAgent-based modeling and simulation
Weave AIMulti-provider (Anthropic, OpenAI, Google, xAI) + MCPAI agents, MCP servers, and orchestration

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.

LibraryPackageUse Case
NetworkXnetworkxGraph analysis and network science
ChromaDBchromadbVector database for RAG pipelines
LiteLLMlitellmProvider-agnostic LLM calls - OpenAI, Anthropic, Ollama, etc. (pinned <1.82.8 - supply chain concern)
UnstructuredunstructuredDocument ingestion - PDF, DOCX, HTML, images
SQLAlchemysqlalchemySQL database access - SQLite, PostgreSQL, MySQL
Tavilytavily-pythonWeb search and content extraction
PydanticpydanticData validation and schema definition
Neo4jneo4jGraph database with Cypher queries
PlaywrightplaywrightBrowser automation
CeleryceleryTask queues, background jobs, scheduling
HTTPXhttpxHTTP client - GET, POST, PUT, DELETE with JSON parsing
Slackslack-sdkSlack bot - send messages, upload files, format blocks
DiscordhttpxDiscord webhooks - messages, embeds, formatting
GitHubhttpxGitHub API - issues, PRs, files, comments
Whisperopenai-whisperSpeech-to-text - transcribe audio
ElevenLabselevenlabsText-to-speech - generate natural voice audio
Email(stdlib)Send emails via SMTP - Gmail, Outlook, custom servers
Jinja2Jinja2Template engine - generate formatted text, emails, reports
X (Twitter)httpxX/Twitter API - post tweets, search, reply, threads
TwitchhttpxTwitch API - chat, streams, clips, viewer data
OpenAIopenaiOfficial OpenAI SDK - chat completions, streaming, embeddings
Google AIgoogle-genaiGoogle Gemini models - generate content, streaming
AnthropicanthropicClaude AI - chat completions, streaming, structured output
MarkItDownmarkitdownConvert documents, URLs, and text to Markdown

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