* fix: improve predecessors check for loop component - Enhanced the handling of cycle vertices to prevent infinite loops by ensuring that a vertex can only run if all pending predecessors have completed. - Updated conditions for the first execution of cycle vertices to allow running only if all pending predecessors are also cycle vertices. - This refactor improves the robustness of the vertex management system in asynchronous workflows. * fix: update _mark_branch method to return visited vertices and refine predecessor mapping * fix: prevent duplicate item dependencies in LoopComponent * feat: add loop connection handling in Component class - Introduced methods to process loop feedback connections, allowing components to connect outputs to loop-enabled inputs. - Implemented checks to validate loop connections and ensure proper handling of callable methods from other components. - Enhanced the edge creation logic to support special loop feedback edges targeting outputs instead of inputs. * fix: enhance name overlap validation in FrontendNode - Updated the validate_name_overlap method to exclude outputs that allow loops from the overlap check. - Improved error message to include the display name of the component, along with detailed lists of input and output names for better debugging. * fix: correct condition for executing cycle vertices in RunnableVerticesManager - Updated the logic to ensure that a cycle vertex can only execute if it is a loop and all pending predecessors are cycle vertices. This change enhances the robustness of the vertex management system in asynchronous workflows. * feat: implement comprehensive loop flow for URL processing - Added a new loop flow that processes multiple URLs through a series of components including URLComponent, SplitTextComponent, LoopComponent, ParserComponent, PromptComponent, OpenAIModelComponent, StructuredOutputComponent, and ChatOutput. - Enhanced the StructuredOutputComponent to include a detailed system prompt and refined output schema to ensure proper JSON formatting. - Introduced a test case to validate the creation and execution of the loop flow, ensuring all components are correctly integrated and the expected execution order is maintained. * refactor: enhance loop target handling in Component and Edge classes - Introduced LoopTargetHandleDict to better manage loop target structures in the Component and Edge classes. - Updated the Component class to utilize type casting for loop target handles, improving type safety. - Refactored the Edge class to accommodate the new loop target handling, ensuring compatibility with existing edge structures. - Removed deprecated message handling methods from the Component class to streamline the codebase and improve maintainability. * test: skip OpenAI model integration test if API key is not set - Added a conditional skip to the test_build_model_integration_reasoning method to prevent execution when the OPENAI_API_KEY environment variable is not set, ensuring tests run only in appropriate environments. * [autofix.ci] apply automated fixes * chore: add required secrets for OpenAI and Anthropic APIs in CI workflows * Updated ci.yml to include OPENAI_API_KEY and ANTHROPIC_API_KEY secrets. * Modified python_test.yml to mark these secrets as required for workflow execution. * fix: update OPENAI_API_KEY check in test_loop.py to handle dummy values * Modified the condition in the pytest skipif decorator to also skip tests when OPENAI_API_KEY is set to "dummy", ensuring more robust test execution. * refactor: streamline component setup in test_loop.py * Removed redundant comments and improved formatting for component initialization in the loop_flow function. * Added missing system_prompt to StructuredOutputComponent to resolve "Multiple structured outputs" error. * Updated test_loop_flow to ensure it tests the graph creation with proper loop feedback connection. --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> |
||
|---|---|---|
| .cursor/rules | ||
| .devcontainer | ||
| .github | ||
| .vscode | ||
| deploy | ||
| docker | ||
| docker_example | ||
| docs | ||
| scripts | ||
| src | ||
| test-results | ||
| .coderabbit.yaml | ||
| .composio.lock | ||
| .env.example | ||
| .eslintrc.json | ||
| .gitattributes | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| DEVELOPMENT.md | ||
| eslint.config.js | ||
| LICENSE | ||
| Makefile | ||
| Makefile.frontend | ||
| pyproject.toml | ||
| README.md | ||
| render.yaml | ||
| SECURITY.md | ||
| uv.lock | ||
Caution
Users must update to Langflow >= 1.3 to protect against CVE-2025-3248.
Langflow is a powerful tool 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 that turn every workflow into a tool that can be integrated into applications built on any framework or stack. Langflow comes with batteries included and supports all major LLMs, vector databases and a growing library of AI tools.
✨ Highlight features
- Visual builder interface to quickly get started and iterate .
- Source code access lets you customize any component using Python.
- Interactive playground to immediately test and refine your flows with step-by-step control.
- Multi-agent orchestration with conversation management and retrieval.
- Deploy as an API or export as JSON for Python apps.
- Deploy as an MCP server and turn your flows into tools for MCP clients.
- Observability with LangSmith, LangFuse and other integrations.
- Enterprise-ready security and scalability.
⚡️ Quickstart
Langflow requires Python 3.10 to 3.13 and uv.
- To install Langflow, run:
uv pip install langflow -U
- To run Langflow, run:
uv run langflow run
- Go to the default Langflow URL at
http://127.0.0.1:7860.
For more information about installing Langflow, including Docker and Desktop options, see Install Langflow.
📦 Deployment
Langflow is completely open source and you can deploy it to all major deployment clouds. To learn how to use Docker to deploy Langflow, see the Docker deployment guide.
⭐ Stay up-to-date
Star Langflow on GitHub to be instantly notified of new releases.
👋 Contribute
We welcome contributions from developers of all levels. If you'd like to contribute, please check our contributing guidelines and help make Langflow more accessible.