[tool.poetry] name = "langflow-base" version = "0.0.96" description = "A Python package with a built-in web application" authors = ["Langflow "] maintainers = [ "Carlos Coelho ", "Cristhian Zanforlin ", "Gabriel Almeida ", "Igor Carvalho ", "Lucas Eduoli ", "Otávio Anovazzi ", "Rodrigo Nader ", "Italo dos Anjos ", ] 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"