forked from langflow-ai/langflow
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
129 lines (119 loc) · 3.18 KB
/
pyproject.toml
File metadata and controls
129 lines (119 loc) · 3.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
[project]
name = "lfx"
version = "0.1.12"
description = "Langflow Executor - A lightweight CLI tool for executing and serving Langflow AI flows"
readme = "README.md"
authors = [
{ name = "Gabriel Luiz Freitas Almeida", email = "gabriel@langflow.org" }
]
requires-python = ">=3.10,<3.14"
dependencies = [
"langchain-core>=0.3.66,<1.0.0",
"pandas>=2.0.0,<3.0.0",
"pydantic>=2.0.0,<3.0.0",
"pillow>=10.0.0,<13.0.0",
"fastapi>=0.115.13,<1.0.0",
"uvicorn>=0.34.3,<1.0.0",
"typer>=0.16.0,<1.0.0",
"platformdirs>=4.3.8,<5.0.0",
"aiofiles>=24.1.0,<25.0.0",
"typing-extensions>=4.14.0,<5.0.0",
"python-dotenv>=1.0.0,<2.0.0",
"rich>=13.0.0,<14.0.0",
"httpx[http2]>=0.24.0,<1.0.0",
"aiofile>=3.8.0,<4.0.0",
"json-repair>=0.30.3,<1.0.0",
"docstring-parser>=0.16,<1.0.0",
"networkx>=3.4.2,<4.0.0",
"nanoid>=2.0.0,<3.0.0",
"cachetools>=5.5.2,<6.0.0",
"emoji>=2.14.1,<3.0.0",
"chardet>=5.2.0,<6.0.0",
"defusedxml>=0.7.1,<1.0.0",
"passlib>=1.7.4,<2.0.0",
"pydantic-settings>=2.10.1,<3.0.0",
"tomli>=2.2.1,<3.0.0",
"orjson>=3.10.15,<4.0.0",
"asyncer>=0.0.8,<1.0.0",
"structlog>=25.4.0,<26.0.0",
"loguru>=0.7.3,<1.0.0",
"langchain~=0.3.23",
"validators>=0.34.0,<1.0.0",
]
[project.scripts]
lfx = "lfx.__main__:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/lfx"]
[tool.ruff]
line-length = 120
[tool.ruff.lint]
pydocstyle.convention = "google"
select = ["ALL"]
ignore = [
"C90", # McCabe complexity
"CPY", # Missing copyright
"COM812", # Messes with the formatter
"ERA", # Eradicate commented-out code
"FIX002", # Line contains TODO
"ISC001", # Messes with the formatter
"PERF203", # Rarely useful
"PLR09", # Too many something (arg, statements, etc)
"RUF012", # Pydantic models are currently not well detected. See https://github.com/astral-sh/ruff/issues/13630
"TD002", # Missing author in TODO
"TD003", # Missing issue link in TODO
"TRY301", # A bit too harsh (Abstract `raise` to an inner function)
"D1", # Missing docstring in public package
"S1",
"PLC0415", # Inline imports
# Rules that are TODOs
"ANN",
]
# Preview rules that are not yet activated
external = ["RUF027"]
[tool.ruff.lint.per-file-ignores]
"tests/*" = [
"D1",
"PLR2004",
"S101",
"SLF001",
]
"src/lfx/base/*" = [
"SLF001",
]
"src/lfx/components/*" = [
"SLF001",
]
"src/lfx/custom/*" = [
"SLF001",
]
"src/lfx/graph/*" = [
"SLF001",
]
[tool.ruff.lint.flake8-builtins]
builtins-allowed-modules = [ "io", "logging", "socket"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
python_files = "test_*.py"
python_classes = "Test*"
python_functions = "test_*"
addopts = "-v --tb=short --strict-markers --disable-warnings --color=yes"
markers = [
"unit: Unit tests",
"integration: Integration tests",
"slow: Slow-running tests",
"asyncio: Async tests"
]
[dependency-groups]
dev = [
"asgi-lifespan>=2.1.0",
"blockbuster>=1.5.25",
"coverage>=7.9.2",
"hypothesis>=6.136.3",
"pytest>=8.4.1",
"pytest-asyncio>=0.26.0",
"ruff>=0.9.10",
]