langflow/src/backend/base/pyproject.toml
2024-09-11 19:20:13 -03:00

149 lines
3.8 KiB
TOML

[tool.poetry]
name = "langflow-base"
version = "0.0.96"
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>",
"Italo dos Anjos <italojohnnydosanjos@gmail.com>",
]
repository = "https://github.com/langflow-ai/langflow"
license = "MIT"
readme = "README.md"
keywords = ["nlp", "langchain", "openai", "gpt", "gui"]
packages = [{ include = "langflow" }, { include = "langflow/py.typed" }]
include = ["pyproject.toml", "README.md", "langflow/**/*"]
documentation = "https://docs.langflow.org"
[tool.poetry.scripts]
langflow-base = "langflow.__main__:main"
[tool.poetry.dependencies]
python = ">=3.10,<3.13"
fastapi = "^0.111.0"
httpx = "*"
uvicorn = "^0.30.0"
gunicorn = "^22.0.0"
langchain = "~0.2.0"
langchain-core = "^0.2.32"
langchainhub = "~0.1.15"
sqlmodel = "^0.0.18"
loguru = "^0.7.1"
rich = "^13.7.0"
langchain-experimental = "^0.0.61"
pydantic = "^2.7.0"
pydantic-settings = "^2.2.0"
websockets = "*"
typer = "^0.12.0"
cachetools = "^5.3.1"
platformdirs = "^4.2.0"
python-multipart = "^0.0.7"
orjson = "3.10.0"
alembic = "^1.13.0"
passlib = "^1.7.4"
bcrypt = "4.0.1"
pillow = "^10.2.0"
docstring-parser = "^0.16"
python-jose = "^3.3.0"
pandas = "2.2.2"
multiprocess = "^0.70.14"
duckdb = "^1.0.0"
python-docx = "^1.1.0"
jq = { version = "^1.7.0", markers = "sys_platform != 'win32'" }
pypdf = "^4.2.0"
nest-asyncio = "^1.6.0"
emoji = "^2.12.0"
cryptography = ">=42.0.5,<44.0.0"
asyncer = "^0.0.5"
pyperclip = "^1.8.2"
uncurl = "^0.0.11"
sentry-sdk = {extras = ["fastapi", "loguru"], version = "^2.5.1"}
chardet = "^5.2.0"
firecrawl-py = "^0.0.16"
opentelemetry-api = "^1.25.0"
opentelemetry-sdk = "^1.25.0"
opentelemetry-exporter-prometheus = "^0.46b0"
opentelemetry-instrumentation-fastapi = "^0.46b0"
prometheus-client = "^0.20.0"
aiofiles = "^24.1.0"
setuptools = ">=70"
nanoid = "^2.0.0"
filelock = "^3.15.4"
grandalf = "^0.8.0"
crewai = "^0.36.0"
spider-client = "^0.0.27"
diskcache = "^5.6.3"
clickhouse-connect = "0.7.19"
[tool.poetry.extras]
deploy = ["celery", "redis", "flower"]
local = ["llama-cpp-python", "sentence-transformers", "ctransformers"]
all = ["deploy", "local"]
[tool.poetry.group.dev.dependencies]
types-redis = "^4.6.0.5"
ipykernel = "^6.29.0"
mypy = "^1.11.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"
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"
dictdiffer = "^0.9.0"
pytest-split = "^0.9.0"
devtools = "^0.12.2"
pytest-flakefinder = "^1.1.0"
types-markdown = "^3.7.0.20240822"
[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.mypy]
plugins = ["pydantic.mypy"]
follow_imports = "skip"
disable_error_code = ["type-var"]
namespace_packages = true
mypy_path = "langflow"
ignore_missing_imports = true
[tool.ruff]
exclude = ["src/backend/langflow/alembic/*"]
line-length = 120
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"