* feat: Minimal experiment with zipping pre- and post-loop lists Update test JSON to demonstrate a simple workflow using custom components for sequence generation and zipping, with a loop component to process the data. The changes include: - Replaced previous components with custom components - Added a sequence maker component - Added a zipper component - Configured loop component to work with the new components - Updated flow description and last tested version * feat: Refactor Loop Test workflow with enhanced component interactions Update LoopTest.json to demonstrate a more complex data processing workflow: - Modify MyZipper component to return Message instead of Data - Update Loop component's stop condition logic - Adjust node positions and connections - Upgrade last tested version to 1.2.0 * test: Enhance Loop Component Test with JSON Parsing and Assertion Add more robust testing for the Loop component by: - Parsing TextOutput event from the response - Extracting and parsing JSON data - Adding detailed assertions to verify loop output - Improving test coverage for loop component interactions * refactor: simplify LoopTest.json structure and update node definitions - Reduced the size of LoopTest.json by removing unnecessary edges and nodes. - Updated node definitions for `ParseData` and `MessagetoData` components to enhance clarity and maintainability. - Adjusted connections between nodes to reflect the new structure, ensuring proper data flow. - Improved documentation within the JSON structure for better understanding of component functionalities. * feat: add method to retrieve incoming edge by target parameter - Implemented `get_incoming_edge_by_target_param` method in both `Component` and `Vertex` classes to facilitate the retrieval of source vertex IDs for incoming edges targeting specific parameters. - Enhanced performance by caching outgoing and incoming edges in the `Vertex` class to avoid redundant calculations. * feat: add dependency update method in LoopComponent - Introduced `update_dependency` method to manage dependencies for the next iteration in the loop. - Refactored existing logic to ensure proper handling of current items and loop termination conditions. - Enhanced code clarity and maintainability by restructuring the flow of data processing within the loop. * [autofix.ci] apply automated fixes * refactor: update message assertions in TestLoopComponentWithAPI for accuracy * feat: enhance LoopTest.json structure and component definitions - Expanded the LoopTest.json file to include additional nodes and edges, improving the representation of component interactions. - Updated definitions for `MyZipper`, `LoopComponent`, `MessagetoData`, and `ChatOutput` to enhance clarity and functionality. - Introduced new properties and methods in components to support better data handling and processing. - Improved documentation within the JSON structure for better understanding of component functionalities and usage. * feat: add ran_at_least_once tracking to RunnableVerticesManager - Introduced a new set, `ran_at_least_once`, to track vertices that have been executed at least once. - Updated serialization methods to include the new property for state management. - Enhanced logic in `all_predecessors_are_fulfilled` to prevent infinite loops for loop vertices that have already run. * fix: add error handling for missing vertex in Component class * refactor: improve variable naming and enhance readability in TestLoopComponentWithAPI * feat: track vertex execution in run_manager by adding ran_at_least_once tracking * feat: Enhance LoopComponent with dependency management and improved item output handling - Added a method to update dependencies for the LoopComponent to ensure proper execution order. - Improved item output logic to handle stopping conditions more effectively and update dependencies for subsequent runs. - Refactored the item_output method to streamline the flow of data processing and context management. * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Edwin Jose <edwin.jose@datastax.com> Co-authored-by: Eric Hare <ericrhare@gmail.com> |
||
|---|---|---|
| .cursor/rules | ||
| .devcontainer | ||
| .github | ||
| .vscode | ||
| deploy | ||
| docker | ||
| docker_example | ||
| docs | ||
| scripts | ||
| src | ||
| test-results | ||
| .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 | ||
| pyproject.toml | ||
| README.md | ||
| render.yaml | ||
| uv.lock | ||
Langflow is a powerful tool for building and deploying AI-powered agents and workflows. It provides developers with both a visual authoring experience and a built-in API server that turns every agent into an API endpoint 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 to get started quickly and iterate.
- Access to Code so developers can tweak any component using Python.
- Playground to immediately test and iterate on their flows with step-by-step control.
- Multi-agent orchestration and conversation management and retrieval.
- Deploy as an API or export as JSON for Python apps.
- Observability with LangSmith, LangFuse and other integrations.
- Enterprise-ready security and scalability.
⚡️ Quickstart
Langflow works with Python 3.10 to 3.13.
Install with uv (recommended)
uv pip install langflow
Install with pip
pip install langflow
📦 Deployment
Self-managed
Langflow is completely open source and you can deploy it to all major deployment clouds. Follow this guide to learn how to use Docker to deploy Langflow.
Fully-managed by DataStax
DataStax Langflow is a full-managed environment with zero setup. Developers can sign up for a free account to get started.
⭐ 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.