[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = ["app"]

[project]
name = "schaefflerautomat-backend"
version = "0.1.0"
requires-python = ">=3.11"
dependencies = [
    "fastapi>=0.110.0",
    "uvicorn[standard]>=0.27.0",
    "sqlalchemy>=2.0.0",
    "alembic>=1.13.0",
    "asyncpg>=0.29.0",
    "psycopg2-binary>=2.9.9",
    "pydantic[email]>=2.6.0",
    "pydantic-settings>=2.2.0",
    "python-jose[cryptography]>=3.3.0",
    "passlib[bcrypt]>=1.7.4",
    "bcrypt>=3.0.0,<4.0.0",
    "python-multipart>=0.0.9",
    "openpyxl>=3.1.2",
    "celery[redis]>=5.3.6",
    "redis>=5.0.1",
    "openai>=1.14.0",
    "pillow>=10.2.0",
    "httpx>=0.27.0",
    "python-dotenv>=1.0.1",
    "aiofiles>=23.2.1",
    "boto3>=1.34.0",
]

[project.optional-dependencies]
dev = [
    "pytest>=8.0.0",
    "pytest-asyncio>=0.23.5",
    "httpx>=0.27.0",
]
cad = [
    "trimesh>=4.2.0",
    "pygltflib>=1.16.1",
]

[tool.pytest.ini_options]
testpaths = ["tests"]
