Langflow is a powerful tool for building and deploying AI-powered agents and workflows. http://www.langflow.org
Find a file
VICTOR CORREA GOMES 6c79a3d6aa
refactor(tools): overhaul Python REPL component with modern tool mode (#5463)
* refactor(tools): overhaul Python REPL component with modern tool mode

BREAKING CHANGE: Complete redesign of PythonREPL component architecture

- Replace legacy tool mode with modern tool_mode=true implementation
- Add automatic import detection for both global and from-imports
- Remove manual global_imports field in favor of automatic detection
- Implement CodeInput type support with FieldTypes.CODE
- Update schema to handle new parameters for agent compatibility
- Improve error handling and logging for import failures

The component now automatically handles imports without manual configuration,
supports modern tool mode, and provides better integration with the agent
system through updated schema definitions.

* refactor(python-repl): remove name parameter

* feat(security): add required global imports validation

- Add explicit global imports input for security control
- Set both global_imports and python_code as required fields
- Remove AST-based import analysis in favor of explicit imports

* [autofix.ci] apply automated fixes

* fix: remove generic exception handling in python_repl

Removed overly broad exception handling to comply with linting rules.

* fix

* test(python-repl): update component test to match current implementation

- Remove assertions for deprecated outputs (api_run_model, api_build_tool)
- Add assertions for current 'results' output
- Add detailed input validation tests for global_imports and python_code
- Verify input configurations including type, default values, and required status
- Ensure component template structure matches frontend requirements

This change aligns the test suite with the current PythonREPLToolComponent
implementation, improving test coverage and maintaining component reliability.

* revert(tools): restore Python REPL component to original implementation

Due to backward compatibility concerns, reverting the Python REPL component
to its initial implementation state to maintain stability and prevent breaking changes.

* feat(tools): mark Python REPL component as deprecated & Legacy

* feat(tools): add Python REPL Core component

* [autofix.ci] apply automated fixes

* fix(tests): mark Python REPL Core as unreleased component

* fix(__init__): fix

* feat(python-repl): improve example clarity for printing the results

* fix(tests): resolve KeyError in test_component_versions

* style(python-repl): format description string to follow PEP 8 guidelines

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
2025-01-20 11:54:32 +00:00
.devcontainer ref: improving development environment and instructions (#5180) 2024-12-12 04:01:05 -08:00
.github ci: adds verbosity to the backend unit tests output (#5775) 2025-01-19 23:21:24 +00:00
.vscode chore: Add backend installation tasks to VSCode configuration (#4335) 2024-10-31 14:51:01 +00:00
deploy fix: fix docker compose and add instructions (#2654) 2024-07-12 09:27:13 -07:00
docker refactor: run upgrade in dockerfiles to update dependencies (#5508) 2025-01-02 15:49:41 +00:00
docker_example chore: Use expose instead of ports in docker compose example (#5592) 2025-01-08 16:43:14 +00:00
docs docs: concepts folder (#5576) 2025-01-16 14:39:14 +00:00
scripts feat: Bump ruff version to 0.9 (#5666) 2025-01-15 15:14:43 +00:00
src refactor(tools): overhaul Python REPL component with modern tool mode (#5463) 2025-01-20 11:54:32 +00:00
test-results feat: Flow's canvas actions design uplift (#4260) 2024-10-31 00:51:33 +00:00
.env.example fixing ThreadingInMemoryCache usage (#2604) 2024-07-10 04:52:37 -07:00
.eslintrc.json 🔧 (.pre-commit-config.yaml): Add eslint@9.1.1 as a dependency and enable autofix for pretty-format-json hook 2024-05-02 19:27:40 -03:00
.gitattributes Merge cz/mergeAll to two_edges 2024-06-10 11:31:02 -03:00
.gitignore refactor: Improve error messaging for missing message fields in memory module (#4779) 2024-11-23 13:04:20 +00:00
.pre-commit-config.yaml feat: return variable value if it is a generic variable (#5366) 2024-12-19 17:04:00 +00:00
CODE_OF_CONDUCT.md run codespell 2024-06-04 09:26:13 -03:00
CONTRIBUTING.md ref: improving development environment and instructions (#5180) 2024-12-12 04:01:05 -08:00
DEVELOPMENT.md docs: Improve developer docs with minor changes (#5417) 2024-12-30 20:22:38 +00:00
eslint.config.js 🔧 (.pre-commit-config.yaml): Add eslint@9.1.1 as a dependency and enable autofix for pretty-format-json hook 2024-05-02 19:27:40 -03:00
LICENSE Update organization name and URLs in configuration files 2024-04-18 11:58:19 -03:00
Makefile fix: adjust path to run only unit tests (#5184) 2025-01-08 13:40:08 +00:00
pyproject.toml feat: assistants agent improvements (#5581) 2025-01-16 20:54:34 +00:00
README.ES.md feat: add README.FR.md for French speakers (#5232) 2024-12-12 15:50:59 +00:00
README.FR.md feat: add README.FR.md for French speakers (#5232) 2024-12-12 15:50:59 +00:00
README.ja.md feat: add README.FR.md for French speakers (#5232) 2024-12-12 15:50:59 +00:00
README.KR.md feat: add README.FR.md for French speakers (#5232) 2024-12-12 15:50:59 +00:00
README.md Docs: recommend uv (#5237) 2024-12-12 19:01:16 +00:00
README.PT.md feat: add README.FR.md for French speakers (#5232) 2024-12-12 15:50:59 +00:00
README.zh_CN.md feat: add README.FR.md for French speakers (#5232) 2024-12-12 15:50:59 +00:00
render.yaml docs: fix render deployment and docs (#3309) 2024-08-14 03:45:56 -07:00
uv.lock feat: assistants agent improvements (#5581) 2025-01-16 20:54:34 +00:00

Langflow

Langflow is a low-code app builder for RAG and multi-agent AI applications. Its Python-based and agnostic to any model, API, or database.

Docs - Free Cloud Service - Self Managed

README in English README in Portuguese README in Spanish README in Simplified Chinese README in Japanese README in KOREAN README in French

Core features

  1. Python-based and agnostic to models, APIs, data sources, or databases.
  2. Visual IDE for drag-and-drop building and testing of workflows.
  3. Playground to immediately test and iterate workflows with step-by-step control.
  4. Multi-agent orchestration and conversation management and retrieval.
  5. Free cloud service to get started in minutes with no setup.
  6. Publish as an API or export as a Python application.
  7. Observability with LangSmith, LangFuse, or LangWatch integration.
  8. Enterprise-grade security and scalability with free DataStax Langflow cloud service.
  9. Customize workflows or create flows entirely just using Python.
  10. Ecosystem integrations as reusable components for any model, API or database.

Integrations

📦 Quickstart

  • Install with uv (recommended) (Python 3.10 to 3.12):
uv pip install langflow
  • Install with pip (Python 3.10 to 3.12):
pip install langflow

Getting Started

Stay up-to-date

Star Langflow on GitHub to be instantly notified of new releases.

Star Langflow

👋 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.


Star History Chart

❤️ Contributors

langflow contributors