eigent/server/pyproject.toml
2026-02-21 17:01:29 +08:00

71 lines
1.7 KiB
TOML

[project]
name = "Eigent"
version = "0.1.0"
description = "Eigent"
readme = "README.md"
requires-python = ">=3.12,<3.13"
dependencies = [
"alembic>=1.15.2",
"openai>=1.99.3,<2",
"camel-ai==0.2.90a3",
"pydantic[email]>=2.11.1",
"click>=8.1.8",
"fastapi>=0.115.12",
"fastapi-babel>=1.0.0",
"fastapi-pagination>=0.12.34",
"passlib[bcrypt]>=1.7.4",
"bcrypt==4.0.1",
"pydantic-i18n>=0.4.5",
"pyjwt>=2.10.1",
"python-dotenv>=1.1.0",
"sqlalchemy-utils>=0.41.2",
"sqlmodel>=0.0.24",
"pandas>=2.2.3",
"openpyxl>=3.1.5",
"arrow>=1.3.0",
"fastapi-filter>=2.0.1",
"psycopg2-binary>=2.9.10",
"convert-case>=1.2.3",
"python-multipart>=0.0.20",
"httpx>=0.28.1",
"pydash>=8.0.5",
"requests>=2.32.4",
"itsdangerous>=2.2.0",
"cryptography>=45.0.4",
"sqids>=0.5.2",
"exa-py>=1.14.16",
]
[tool.ruff]
line-length = 120
target-version = "py312"
[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"I", # isort
"UP", # pyupgrade
"B", # flake8-bugbear
]
ignore = [
"E402", # module level import not at top of file
"E501", # line too long (handled by formatter)
"E712", # == False comparisons (needed for SQLAlchemy)
"B904", # raise from
"B023", # closure captures loop variable
"B008", # function call in default args (FastAPI Depends pattern)
"B007", # loop variable not used (acceptable)
]
[tool.ruff.lint.per-file-ignores]
"**/alembic/**" = ["F811"] # redefinition OK in migrations
[tool.ruff.lint.isort]
force-single-line = false
combine-as-imports = true
[tool.ruff.format]
quote-style = "double"
indent-style = "space"