Ctrl K
ComunidadGuías…

server/pyproject.toml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
[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.90a6",
    "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",
    "fastapi-limiter>=0.1.6,<0.2.0",
    "slack-sdk>=3.39.0",
    "celery>=5.6.2",
    "redis>=7.2.1",
    "loguru>=0.7.3",
]

[project.optional-dependencies]
dev = [
    "pytest>=8.3.0",
    "pytest-cov>=5.0.0",
    "pytest-asyncio>=0.24.0",
]

[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py", "*_test.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
addopts = [
    "-v",
    "--strict-markers",
    "--tb=short",
]
filterwarnings = [
    "ignore::DeprecationWarning",
    "ignore::PendingDeprecationWarning",
]

[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"

[tool.uv.sources]
camel-ai = { git = "https://github.com/camel-ai/camel.git", rev = "feat-trigger" }