[project] name = "DiskNext-Server" version = "0.0.1" description = "Add your description here" readme = "README.md" requires-python = ">=3.13" dependencies = [ "aiofiles>=25.1.0", "aiohttp>=3.13.2", "aiosqlite==0.22.1", "argon2-cffi>=25.1.0", "asyncpg>=0.31.0", "cachetools>=6.2.4", "captcha>=0.7.1", "cryptography>=46.0.3", "fastapi[standard]>=0.122.0", "httpx>=0.27.0", "itsdangerous>=2.2.0", "loguru>=0.7.3", "orjson>=3.11.7", "pyjwt>=2.10.1", "pyotp>=2.9.0", "pytest>=9.0.2", "pytest-asyncio>=0.24.0", "pytest-cov>=6.0.0", "pytest-xdist>=3.5.0", "python-dotenv>=1.2.1", "python-multipart>=0.0.20", "redis[hiredis]>=7.1.0", "sqlalchemy>=2.0.44", "sqlmodel>=0.0.27", "sqlmodel-ext[pgvector]>=0.1.1", "uvicorn>=0.38.0", "webauthn>=2.7.0", "whatthepatch>=1.0.6", ] [project.optional-dependencies] build = [ "cython>=3.0.11", "setuptools>=75.0.0", ] [tool.pytest.ini_options] asyncio_mode = "auto" asyncio_default_fixture_loop_scope = "function" testpaths = ["tests"] python_files = ["test_*.py"] python_classes = ["Test*"] python_functions = ["test_*"] addopts = ["-v", "--strict-markers", "--tb=short"] markers = [ "slow: 标记为慢速测试", "integration: 集成测试", "unit: 单元测试", ] [tool.coverage.run] source = ["models", "routers", "middleware", "service", "utils"] branch = true omit = ["*/tests/*", "*/__pycache__/*"] [tool.coverage.report] show_missing = true precision = 2 fail_under = 80 exclude_lines = [ "pragma: no cover", "if TYPE_CHECKING:", "raise NotImplementedError", "pass", ] [tool.coverage.html] directory = "htmlcov" title = "DiskNext Server 测试覆盖率报告"