langflow/src/backend/base/pyproject.toml
Christophe Bornet e82de5d89c
feat: Add ruff rules for comprehensions (C4) (#3958)
Add ruff rules for comprehensions (C4)
2024-09-30 13:00:00 -07:00

279 lines
6.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.hatch.build.targets.wheel]
packages = ["langflow"]
[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"
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]
target-version = "py310"
exclude = ["langflow/alembic"]
line-length = 120
[tool.ruff.lint]
select = ["C4", "E4", "E7", "E9", "F", "I", "UP"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "langflow-base"
version = "0.0.96"
description = "A Python package with a built-in web application"
requires-python = ">=3.10,<3.13"
license = "MIT"
keywords = ["nlp", "langchain", "openai", "gpt", "gui"]
readme = "README.md"
dependencies = [
"fastapi>=0.111.0",
"httpx>=0.27",
"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",
"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>=1.7.0; 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[fastapi,loguru]>=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"
]
# Optional dependencies for uv
[project.optional-dependencies]
deploy = [
"celery>=5.3.1",
"redis>=4.6.0",
"flower>=1.0.0"
]
local = [
"llama-cpp-python>=0.2.0",
"sentence-transformers>=2.0.0",
"ctransformers>=0.2"
]
all = [
"celery>=5.3.1",
"redis>=4.6.0",
"flower>=1.0.0",
"llama-cpp-python>=0.2.0",
"sentence-transformers>=2.0.0",
"ctransformers>=0.2"
]
# Development dependencies
dev = [
"types-redis>=4.6.0.5",
"ipykernel>=6.29.0",
"mypy>=1.11.0",
"ruff>=0.4.5",
"httpx>=0.27",
"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"
]
[project.scripts]
langflow-base = "langflow.__main__:main"