* Initial Restructure * Replace import langflow for import langflow_base * Fix dependencies * 🔧 chore(Makefile): refactor build process to separate base and frontend builds for better organization and maintainability * 🚀 chore(Makefile): update build_frontend command to copy frontend build to the correct directory 🔖 chore(pyproject.toml): update python and httpx dependencies versions 🔧 chore(__init__.py): update import statement for load_flow_from_json function * 🔖 chore(pyproject.toml): update package version from 0.0.6 to 0.0.8 to reflect changes in the codebase * 🚀 feat(server.ts): change port variable case from lowercase port to uppercase PORT to improve semantics 🚀 feat(server.ts): add support for process.env.PORT environment variable to be able to run app on a configurable port * 🐛 fix(server.ts): change port variable case from lowercase port to uppercase PORT to improve semantics ✨ feat(server.ts): add support for process.env.PORT environment variable to be able to run app on a configurable port 🚚 chore(pyproject.toml): update langflow-base version from 0.0.8 to 0.0.10 ✨ feat(server.ts): add new agent component LCAgentComponent to langflow_base ✨ feat(server.ts): add new model component LCModelComponent to langflow_base ✨ feat(server.ts): add new helper functions docs_to_records and records_to_text to langflow_base ✨ feat(server.ts): add new flow helper functions list_flows, load_flow, run_flow, generate_function_for_flow, get_flow_inputs, build_schema_from_inputs to langflow_base ✨ feat(server.ts): add new prompt component PromptComponent to langflow_base ✨ feat(server.ts): add new chat components ChatInput and ChatOutput to langflow_base ✨ feat(server.ts): add new model component OpenAIModelComponent to langflow_base 🚚 chore(main.py): update import path from langflow.main to langflow_base.main 🚚 chore(service.py): update import path from langflow.services.database.manager to langflow_base.services.database.manager 🚚 chore(factory.py): update import path from langflow.services to langflow_base.services 🚚 chore(service.py): update import path from langflow.services.plugins to langflow_base.services.plugins 🚚 chore(utils.py): update import path from langflow.services to langflow_base.services 🚚 chore(validate.py): update import path from langflow.field_typing to langflow_base.field_typing 🚚 chore(pyproject.toml): update langflow-base version from 0.0.8 to 0.0.10 * Update Makefile to install backend dependencies and build langflow * Add langflow main module and update __init__.py * Update langflow install process to use implicit namespace * Add langflow-base as a local dependency * Add setup_poetry target to Makefile * Update Poetry version and add poetry-monorepo-dependency-plugin * Refactor code to improve performance and readability * Update imports to custom and load * Update content-hash in poetry.lock --------- Co-authored-by: Matheus <jacquesmats@gmail.com> Co-authored-by: Gabriel Luiz Freitas Almeida <gabriel@logspace.ai>
152 lines
4.2 KiB
TOML
152 lines
4.2 KiB
TOML
[tool.poetry]
|
|
name = "langflow"
|
|
version = "1.0.0a0"
|
|
description = "A Python package with a built-in web application"
|
|
authors = ["Logspace <contact@logspace.ai>"]
|
|
maintainers = [
|
|
"Carlos Coelho <carlos@logspace.ai>",
|
|
"Cristhian Zanforlin <cristhian.lousa@gmail.com>",
|
|
"Gabriel Almeida <gabriel@logspace.ai>",
|
|
"Gustavo Schaedler <gustavopoa@gmail.com>",
|
|
"Igor Carvalho <igorr.ackerman@gmail.com>",
|
|
"Lucas Eduoli <lucaseduoli@gmail.com>",
|
|
"Otávio Anovazzi <otavio2204@gmail.com>",
|
|
"Rodrigo Nader <rodrigo@logspace.ai>",
|
|
]
|
|
repository = "https://github.com/logspace-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-monorepo-dependency-plugin]
|
|
enable = true
|
|
|
|
[tool.poetry.dependencies]
|
|
python = ">=3.10,<3.12"
|
|
langflow-base = { path = "./src/backend/base", develop = true }
|
|
duckdb = "^0.9.2"
|
|
beautifulsoup4 = "^4.12.2"
|
|
google-search-results = "^2.4.1"
|
|
google-api-python-client = "^2.118.0"
|
|
openai = "^1.12.0"
|
|
chromadb = "^0.4.23"
|
|
huggingface-hub = { version = "^0.20.0", extras = ["inference"] }
|
|
llama-cpp-python = { version = "~0.2.0", optional = true }
|
|
networkx = "^3.1"
|
|
pypdf = "^4.0.0"
|
|
pysrt = "^1.1.2"
|
|
fake-useragent = "^1.4.0"
|
|
psycopg2-binary = "^2.9.6"
|
|
pyarrow = "^14.0.0"
|
|
wikipedia = "^1.4.0"
|
|
qdrant-client = "^1.7.0"
|
|
weaviate-client = "*"
|
|
sentence-transformers = { version = "^2.3.1", optional = true }
|
|
ctransformers = { version = "^0.2.10", optional = true }
|
|
cohere = "^4.47.0"
|
|
faiss-cpu = "^1.7.4"
|
|
anthropic = "^0.21.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"
|
|
pydantic = "^2.5.0"
|
|
pydantic-settings = "^2.1.0"
|
|
zep-python = "*"
|
|
pywin32 = { version = "^306", markers = "sys_platform == 'win32'" }
|
|
langfuse = "^2.9.0"
|
|
metal-sdk = "^2.5.0"
|
|
markupsafe = "^2.1.3"
|
|
extract-msg = "^0.47.0"
|
|
# jq is not available for windows
|
|
jq = { version = "^1.6.0", markers = "sys_platform != 'win32'" }
|
|
boto3 = "^1.34.0"
|
|
numexpr = "^2.8.6"
|
|
qianfan = "0.3.5"
|
|
pgvector = "^0.2.3"
|
|
pyautogen = "^0.2.0"
|
|
langchain-google-genai = "^0.0.6"
|
|
elasticsearch = "^8.12.0"
|
|
pytube = "^15.0.0"
|
|
python-socketio = "^5.11.0"
|
|
llama-index = "^0.10.13"
|
|
langchain-openai = "^0.0.5"
|
|
unstructured = { extras = ["md"], version = "^0.12.4" }
|
|
opentelemetry-api = "^1.23.0"
|
|
opentelemetry-sdk = "^1.23.0"
|
|
opentelemetry-exporter-otlp = "^1.23.0"
|
|
opentelemetry-instrumentation-fastapi = "^0.44b0"
|
|
opentelemetry-instrumentation-httpx = "^0.44b0"
|
|
opentelemetry-instrumentation-asgi = "^0.44b0"
|
|
dspy-ai = "^2.4.0"
|
|
crewai = "^0.22.5"
|
|
langchain-anthropic = "^0.1.4"
|
|
python-docx = "^1.1.0"
|
|
langchain-astradb = "^0.1.0"
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
types-redis = "^4.6.0.5"
|
|
ipykernel = "^6.29.0"
|
|
mypy = "^1.8.0"
|
|
ruff = "^0.2.1"
|
|
httpx = "*"
|
|
pytest = "^8.0.0"
|
|
types-requests = "^2.31.0"
|
|
requests = "^2.31.0"
|
|
pytest-cov = "^4.1.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.12.0"
|
|
pytest-xdist = "^3.5.0"
|
|
types-pywin32 = "^306.0.0.4"
|
|
types-google-cloud-ndb = "^2.2.0.0"
|
|
pytest-sugar = "^1.0.0"
|
|
pytest-instafail = "^0.5.0"
|
|
respx = "^0.20.2"
|
|
|
|
|
|
[tool.poetry.extras]
|
|
deploy = ["langchain-serve", "celery", "redis", "flower"]
|
|
local = ["llama-cpp-python", "sentence-transformers", "ctransformers"]
|
|
all = ["deploy", "local"]
|
|
|
|
|
|
[tool.pytest.ini_options]
|
|
minversion = "6.0"
|
|
addopts = "-ra"
|
|
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"
|