[build-system] requires = ["setuptools>=69", "wheel"] build-backend = "setuptools.build_meta" [project] name = "scholarr" version = "0.1.0" description = "Self-hosted scholarr service" readme = "README.md" requires-python = ">=3.12" dependencies = [ "alembic>=1.14,<2.0", "argon2-cffi>=25.1,<26.0", "asyncpg>=0.30,<0.31", "crossrefapi>=1.6,<2.0", "fastapi>=0.116,<0.117", "httpx>=0.28,<0.29", "itsdangerous>=2.2,<3.0", "python-multipart>=0.0.9,<0.1", "sqlalchemy>=2.0,<2.1", "uvicorn[standard]>=0.34,<0.35", ] [project.optional-dependencies] dev = [ "pytest>=8.3,<9.0", "pytest-asyncio>=0.25,<0.26", ] [tool.pytest.ini_options] addopts = "-q -m \"not integration\"" asyncio_mode = "auto" testpaths = ["tests"] markers = [ "integration: integration tests that require external services", "db: tests that validate database behavior and constraints", "migrations: tests focused on alembic schema migration correctness", "schema: tests focused on multi-tenant schema invariants", "smoke: smoke tests for containerized runtime", ] [tool.setuptools] include-package-data = true [tool.setuptools.packages.find] where = ["."] include = ["app*"]