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 |
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 - send messages, upload files, format blocks |
| Discord | httpx | Discord webhooks - messages, embeds, formatting |
| GitHub | httpx | GitHub API - issues, PRs, files, comments |
| Whisper | openai-whisper | Speech-to-text - transcribe audio |
| ElevenLabs | elevenlabs | Text-to-speech - generate natural voice audio |
| (stdlib) | Send emails via SMTP - Gmail, Outlook, custom servers | |
| Jinja2 | Jinja2 | Template engine - generate formatted text, emails, reports |
| X (Twitter) | httpx | X/Twitter API - post tweets, search, reply, threads |
| Twitch | httpx | Twitch API - chat, streams, clips, viewer data |
| 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 |
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
- Create a project — Choose a framework and name your project
- Build your logic — Use the visual graph editor to design behaviors
- Generate code — Click Generate, then download or push to GitHub
- Run locally — Install the framework and run like any Python project