* Feat: Create the first version of the eraser tool * feat: Add Messages page to SettingsPage Refactor the SettingsPage component to include a new "Messages" page. This page will be accessible through the "/settings/messages" route and will display messages related to user settings. The necessary changes have been made to the index.tsx file of the SettingsPage component and the routes.tsx file. * refactor(tableComponent): update column definitions to include checkbox selection logic for first column feat(API): add support for excluding specific columns in getMessagesTable function fix(flowLogsModal): pass excludedFields parameter to getMessagesTable function refactor(GlobalVariablesPage): remove unnecessary checkbox selection properties from column definitions fix(messagesPage): pass excludedFields parameter to getMessagesTable function refactor(utils): add support for excluding specific columns in extractColumnsFromRows function * feat: Add API endpoints for managing messages This commit adds new API endpoints for managing messages. It includes the ability to delete messages by their IDs, update a specific message, and delete all messages associated with a session. These changes are implemented in the `monitor.py`, `schema.py`, and `service.py` files. * ✨ (monitor.py): add MessageIds schema for structured message deletion ♻️ (monitor.py): change delete_messages endpoint to POST for better semantics ♻️ (monitor.py): update delete_messages to use MessageIds schema ✨ (schemas.py): add MessageIds schema for structured message deletion 🐛 (service.py): fix SQL query in delete_messages to use correct column name ✨ (index.tsx): add toTitleCase utility to format column headers ✨ (API/index.ts): add deleteMessagesFn to handle message deletion via API ✨ (headerMessages): add HeaderMessagesComponent for message management UI ✨ (use-messages-table): add useMessagesTable hook to fetch and manage messages ✨ (use-remove-messages): add useRemoveMessages hook to handle message deletion ♻️ (messagesPage): refactor messages page to use new messages store ✨ (messagesStore): create zustand store for managing messages state ✨ (types): add types for messages and zustand messages store * 💡 (schemas.py): add newline at end of file to follow PEP 8 guidelines * refactor(headerMessages): update text content in HeaderMessagesComponent * move editable attribute to table Component * refactor: Move editable attribute to TableComponent add update function, need to fix backend * ♻️ (monitor.py): change POST to DELETE for delete_messages endpoint ♻️ (schemas.py): remove unused MessageIds schema ♻️ (api.tsx): add missing commas in ApiInterceptor function 🐛 (api.tsx): fix duplicate request check to include method "get" ♻️ (index.ts): change deleteMessagesFn to use DELETE method instead of POST ♻️ (use-remove-messages.tsx): clean up comments and improve error handling * start history in playgroundModal * ♻️ (monitor.py): refactor update_message to return MessageModelResponse ♻️ (service.py): update SQL query to use index instead of id ♻️ (api.tsx): refactor duplicate request check logic ✨ (check-duplicate-requests.ts): add helper to check and store duplicate requests 🐛 (messagesStore.ts): fix message update logic to use index instead of id * ♻️ (monitor.py, service.py): remove trailing whitespace to improve code cleanliness * refactor: Add getSessions function to fetch available sessions in IOModal * 🐛 (service.py): add missing 'id' column in SQL query to fix data retrieval issue 💡 (service.py): add print statement for debugging SQL query ♻️ (index.tsx): reorder imports for better readability and maintainability ♻️ (flowStore.ts): remove trailing commas to improve code consistency and readability 💡 (index.ts, storeUtils.ts): format type definitions for better readability * update editable fields * Feat: Make the table last column non-resizable and add a restore columns button * Remove unnused imports * Refactor: Remove “Page size” from table pagination * Refactor: remove page size directly in css file * chore: Update description text in SettingsPage * Refactor: Add ResetColumns component to improve table functionality * Refactor: Make Reset Column button reset columns order * Refactor: Remove select from delete session button * Refactor: Remove commented code for chat history tab in IOModal * update route * fix selection bug on Messages Table * fix libs --------- Co-authored-by: igorrCarvalho <igorsilvabhz6@gmail.com> Co-authored-by: ogabrielluiz <gabriel@langflow.org> Co-authored-by: cristhianzl <cristhian.lousa@gmail.com> Co-authored-by: italojohnny <italojohnnydosanjos@gmail.com>
156 lines
4.2 KiB
TOML
156 lines
4.2 KiB
TOML
[tool.poetry]
|
|
name = "langflow"
|
|
version = "1.0.0a43"
|
|
description = "A Python package with a built-in web application"
|
|
authors = ["Langflow <contact@langflow.org>"]
|
|
maintainers = [
|
|
"Carlos Coelho <carlos@langflow.org>",
|
|
"Cristhian Zanforlin <cristhian.lousa@gmail.com>",
|
|
"Gabriel Almeida <gabriel@langflow.org>",
|
|
"Igor Carvalho <igorr.ackerman@gmail.com>",
|
|
"Lucas Eduoli <lucaseduoli@gmail.com>",
|
|
"Otávio Anovazzi <otavio2204@gmail.com>",
|
|
"Rodrigo Nader <rodrigo@langflow.org>",
|
|
]
|
|
repository = "https://github.com/langflow-ai/langflow"
|
|
license = "MIT"
|
|
readme = "README.md"
|
|
keywords = ["nlp", "langchain", "openai", "gpt", "gui"]
|
|
packages = [{ include = "langflow", from = "src/backend" }]
|
|
include = ["src/backend/langflow/*", "src/backend/langflow/**/*"]
|
|
documentation = "https://docs.langflow.org"
|
|
|
|
[tool.poetry.scripts]
|
|
langflow = "langflow.__main__:main"
|
|
|
|
|
|
[tool.poetry.dependencies]
|
|
python = ">=3.10,<3.13"
|
|
langflow-base = { path = "./src/backend/base", develop = true }
|
|
beautifulsoup4 = "^4.12.2"
|
|
google-search-results = "^2.4.1"
|
|
google-api-python-client = "^2.130.0"
|
|
huggingface-hub = { version = "^0.20.0", extras = ["inference"] }
|
|
llama-cpp-python = { version = "~0.2.0", optional = true }
|
|
networkx = "^3.1"
|
|
fake-useragent = "^1.5.0"
|
|
psycopg2-binary = "^2.9.6"
|
|
pyarrow = "^14.0.0"
|
|
wikipedia = "^1.4.0"
|
|
qdrant-client = "^1.9.0"
|
|
weaviate-client = "*"
|
|
sentence-transformers = { version = "^2.3.1", optional = true }
|
|
ctransformers = { version = "^0.2.10", optional = true }
|
|
cohere = "^5.5.3"
|
|
faiss-cpu = "^1.8.0"
|
|
types-cachetools = "^5.3.0.5"
|
|
pinecone-client = "^3.0.3"
|
|
pymongo = "^4.6.0"
|
|
supabase = "^2.3.0"
|
|
certifi = "^2023.11.17"
|
|
psycopg = "^3.1.9"
|
|
psycopg-binary = "^3.1.9"
|
|
fastavro = "^1.8.0"
|
|
celery = { extras = ["redis"], version = "^5.3.6", optional = true }
|
|
redis = { version = "^5.0.1", optional = true }
|
|
flower = { version = "^2.0.0", optional = true }
|
|
metaphor-python = "^0.1.11"
|
|
pywin32 = { version = "^306", markers = "sys_platform == 'win32'" }
|
|
langfuse = "^2.33.0"
|
|
metal-sdk = "^2.5.0"
|
|
markupsafe = "^2.1.3"
|
|
# jq is not available for windows
|
|
boto3 = "^1.34.0"
|
|
numexpr = "^2.8.6"
|
|
qianfan = "0.3.5"
|
|
pgvector = "^0.2.3"
|
|
pyautogen = "^0.2.0"
|
|
langchain-google-genai = "^1.0.1"
|
|
langchain-cohere = "^0.1.0rc1"
|
|
elasticsearch = "^8.12.0"
|
|
pytube = "^15.0.0"
|
|
dspy-ai = "^2.4.0"
|
|
assemblyai = "^0.26.0"
|
|
litellm = "^1.38.0"
|
|
chromadb = "^0.5.0"
|
|
langchain-anthropic = "^0.1.6"
|
|
langchain-astradb = "^0.3.0"
|
|
langchain-openai = "^0.1.1"
|
|
zep-python = { version = "^2.0.0rc5", allow-prereleases = true }
|
|
langchain-google-vertexai = "^1.0.3"
|
|
langchain-groq = "^0.1.3"
|
|
langchain-pinecone = "^0.1.0"
|
|
langchain-mistralai = "^0.1.6"
|
|
couchbase = "^4.2.1"
|
|
youtube-transcript-api = "^0.6.2"
|
|
markdown = "^3.6"
|
|
langchain-chroma = "^0.1.1"
|
|
upstash-vector = "^0.4.0"
|
|
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
types-redis = "^4.6.0.5"
|
|
ipykernel = "^6.29.0"
|
|
mypy = "^1.10.0"
|
|
ruff = "^0.4.5"
|
|
httpx = "*"
|
|
pytest = "^8.2.0"
|
|
types-requests = "^2.32.0"
|
|
requests = "^2.32.0"
|
|
pytest-cov = "^5.0.0"
|
|
pandas-stubs = "^2.1.4.231227"
|
|
types-pillow = "^10.2.0.20240213"
|
|
types-pyyaml = "^6.0.12.8"
|
|
types-python-jose = "^3.3.4.8"
|
|
types-passlib = "^1.7.7.13"
|
|
locust = "^2.23.1"
|
|
pytest-mock = "^3.14.0"
|
|
pytest-xdist = "^3.6.0"
|
|
types-pywin32 = "^306.0.0.4"
|
|
types-google-cloud-ndb = "^2.2.0.0"
|
|
pytest-sugar = "^1.0.0"
|
|
respx = "^0.21.1"
|
|
pytest-instafail = "^0.5.0"
|
|
pytest-asyncio = "^0.23.0"
|
|
pytest-profiling = "^1.7.0"
|
|
pre-commit = "^3.7.0"
|
|
vulture = "^2.11"
|
|
|
|
[tool.poetry.extras]
|
|
deploy = ["celery", "redis", "flower"]
|
|
local = ["llama-cpp-python", "sentence-transformers", "ctransformers"]
|
|
|
|
|
|
[tool.poetry.group.spelling]
|
|
optional = true
|
|
|
|
[tool.poetry.group.spelling.dependencies]
|
|
codespell = "^2.2.6"
|
|
|
|
[tool.codespell]
|
|
skip = '.git,*.pdf,*.svg,*.pdf,*.yaml,*.ipynb,poetry.lock,*.min.js,*.css,package-lock.json,*.trig'
|
|
# Ignore latin etc
|
|
ignore-regex = '.*(Stati Uniti|Tense=Pres).*'
|
|
|
|
|
|
[tool.pytest.ini_options]
|
|
minversion = "6.0"
|
|
addopts = "-ra -n auto"
|
|
testpaths = ["tests", "integration"]
|
|
console_output_style = "progress"
|
|
filterwarnings = ["ignore::DeprecationWarning"]
|
|
log_cli = true
|
|
markers = ["async_test"]
|
|
|
|
|
|
[tool.ruff]
|
|
exclude = ["src/backend/langflow/alembic/*"]
|
|
line-length = 120
|
|
|
|
[tool.mypy]
|
|
plugins = ["pydantic.mypy"]
|
|
follow_imports = "silent"
|
|
|
|
[build-system]
|
|
requires = ["poetry-core"]
|
|
build-backend = "poetry.core.masonry.api"
|