|
|
|
|
|
[tool.hatch.build.targets.wheel] |
|
|
packages = ["langflow"] |
|
|
|
|
|
|
|
|
[tool.pytest.ini_options] |
|
|
minversion = "6.0" |
|
|
|
|
|
testpaths = ["tests", "integration"] |
|
|
console_output_style = "progress" |
|
|
filterwarnings = ["ignore::DeprecationWarning"] |
|
|
log_cli = true |
|
|
markers = ["async_test"] |
|
|
asyncio_mode = "auto" |
|
|
asyncio_default_fixture_loop_scope = "function" |
|
|
|
|
|
[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] |
|
|
flake8-annotations.mypy-init-return = true |
|
|
flake8-bugbear.extend-immutable-calls = [ |
|
|
"fastapi.Depends", |
|
|
"fastapi.File", |
|
|
"fastapi.Query", |
|
|
"typer.Option", |
|
|
] |
|
|
flake8-type-checking.runtime-evaluated-base-classes = [ |
|
|
"pydantic.BaseModel", |
|
|
"typing.TypedDict", |
|
|
"typing_extensions.TypedDict", |
|
|
] |
|
|
pydocstyle.convention = "google" |
|
|
select = ["ALL"] |
|
|
ignore = [ |
|
|
"C90", |
|
|
"CPY", |
|
|
"COM812", |
|
|
"ERA", |
|
|
"FIX002", |
|
|
"ISC001", |
|
|
"PERF203", |
|
|
"PLR09", |
|
|
"RUF012", |
|
|
"TD002", |
|
|
"TD003", |
|
|
"TRY301", |
|
|
|
|
|
|
|
|
"ANN", |
|
|
"D1", |
|
|
"SLF001", |
|
|
] |
|
|
|
|
|
[tool.ruff.lint.per-file-ignores] |
|
|
"langflow/api/v1/*" = [ |
|
|
"TCH", |
|
|
] |
|
|
"langflow/{components/tools/python_code_structured_tool.py,custom/code_parser/code_parser.py,utils/validate.py}" = [ |
|
|
"S102", |
|
|
] |
|
|
"langflow/services/cache/*" = [ |
|
|
"S301", |
|
|
] |
|
|
|
|
|
[tool.uv] |
|
|
dev-dependencies = [ |
|
|
"asgi-lifespan>=2.1.0", |
|
|
"pytest-codspeed>=3.0.0", |
|
|
"pytest-github-actions-annotate-failures>=0.2.0", |
|
|
"types-aiofiles>=24.1.0.20240626", |
|
|
] |
|
|
|
|
|
[build-system] |
|
|
requires = ["hatchling"] |
|
|
build-backend = "hatchling.build" |
|
|
|
|
|
[project] |
|
|
name = "langflow-base" |
|
|
version = "0.1.1" |
|
|
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" |
|
|
maintainers = [ |
|
|
{ name = "Carlos Coelho", email = "carlos@langflow.org" }, |
|
|
{ name = "Cristhian Zanforlin", email = "cristhian.lousa@gmail.com" }, |
|
|
{ name = "Gabriel Almeida", email = "gabriel@langflow.org" }, |
|
|
{ name = "Igor Carvalho", email = "igorr.ackerman@gmail.com" }, |
|
|
{ name = "Lucas Eduoli", email = "lucaseduoli@gmail.com" }, |
|
|
{ name = "Otávio Anovazzi", email = "otavio2204@gmail.com" }, |
|
|
{ name = "Rodrigo Nader", email = "rodrigo@langflow.org" }, |
|
|
{ name = "Italo dos Anjos", email = "italojohnnydosanjos@gmail.com" }, |
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
dependencies = [ |
|
|
"fastapi>=0.115.2,<1.0.0", |
|
|
"httpx[http2]>=0.27,<1.0.0", |
|
|
"uvicorn>=0.30.0,<1.0.0", |
|
|
"gunicorn>=22.0.0,<24.0.0", |
|
|
"langchain~=0.3.3", |
|
|
"langchain-core~=0.3.15", |
|
|
"langchainhub~=0.1.15", |
|
|
"sqlmodel==0.0.18", |
|
|
"loguru>=0.7.1,<1.0.0", |
|
|
"rich>=13.7.0,<14.0.0", |
|
|
"langchain-experimental>=0.0.61,<1.0.0", |
|
|
"pydantic~=2.7.0", |
|
|
"pydantic-settings>=2.2.0,<3.0.0", |
|
|
"typer>=0.13.0,<1.0.0", |
|
|
"cachetools>=5.5.0,<6.0.0", |
|
|
"platformdirs>=4.2.0,<5.0.0", |
|
|
"python-multipart>=0.0.12,<1.0.0", |
|
|
"orjson==3.10.0", |
|
|
"alembic>=1.13.0,<2.0.0", |
|
|
"passlib>=1.7.4,<2.0.0", |
|
|
"bcrypt==4.0.1", |
|
|
"pillow>=10.2.0,<11.0.0", |
|
|
"docstring-parser>=0.16,<1.0.0", |
|
|
"python-jose>=3.3.0,<4.0.0", |
|
|
"pandas==2.2.2", |
|
|
"multiprocess>=0.70.14,<1.0.0", |
|
|
"duckdb>=1.0.0,<2.0.0", |
|
|
"python-docx>=1.1.0,<2.0.0", |
|
|
"jq>=1.7.0,<2.0.0; sys_platform != 'win32'", |
|
|
"nest-asyncio>=1.6.0,<2.0.0", |
|
|
"emoji>=2.12.0,<3.0.0", |
|
|
"cryptography>=42.0.5,<44.0.0", |
|
|
"asyncer>=0.0.5,<1.0.0", |
|
|
"pyperclip>=1.8.2,<2.0.0", |
|
|
"uncurl>=0.0.11,<1.0.0", |
|
|
"sentry-sdk[fastapi,loguru]>=2.5.1,<3.0.0", |
|
|
"chardet>=5.2.0,<6.0.0", |
|
|
"firecrawl-py>=1.0.16,<2.0.0", |
|
|
"opentelemetry-api>=1.25.0,<2.0.0", |
|
|
"opentelemetry-sdk>=1.25.0,<2.0.0", |
|
|
"opentelemetry-exporter-prometheus>=0.46b0,<1.0.0", |
|
|
"opentelemetry-instrumentation-fastapi>=0.46b0,<1.0.0", |
|
|
"prometheus-client>=0.20.0,<1.0.0", |
|
|
"aiofiles>=24.1.0,<25.0.0", |
|
|
"setuptools>=70,<76.0.0", |
|
|
"nanoid>=2.0.0,<3.0.0", |
|
|
"filelock>=3.15.4,<4.0.0", |
|
|
"grandalf>=0.8.0,<1.0.0", |
|
|
"crewai~=0.80.0", |
|
|
"spider-client>=0.0.27,<1.0.0", |
|
|
"diskcache>=5.6.3,<6.0.0", |
|
|
"clickhouse-connect==0.7.19", |
|
|
"assemblyai>=0.33.0,<1.0.0", |
|
|
"fastapi-pagination>=0.12.29,<1.0.0", |
|
|
"defusedxml>=0.7.1,<1.0.0", |
|
|
"pypdf~=5.1.0", |
|
|
"validators>=0.34.0", |
|
|
] |
|
|
|
|
|
[project.urls] |
|
|
Repository = "https://github.com/langflow-ai/langflow" |
|
|
Documentation = "https://docs.langflow.org" |
|
|
|
|
|
|
|
|
[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" |
|
|
] |
|
|
|
|
|
|
|
|
dev = [ |
|
|
"types-redis>=4.6.0.5", |
|
|
"ipykernel>=6.29.0", |
|
|
"mypy>=1.11.0", |
|
|
"ruff>=0.6.2", |
|
|
"httpx[http2]>=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" |
|
|
|