[project] name = "psview-agent" version = "0.1.0" description = "Autonomous recruiting agent backend" readme = "README.md" authors = [ { name = "ShivamSrng-OIE", email = "sms323@njit.edu" } ] requires-python = ">=3.12" dependencies = [ "fastapi>=0.137.2", "httpx>=0.28.1", "instructor>=1.15.3", "langgraph>=1.2.6", "motor>=3.6.0", "openai>=2.43.0", "pydantic-settings>=2.14.2", "pydantic>=2.13.4", "python-dotenv>=1.2.2", "pyyaml>=6.0.3", "uvicorn[standard]>=0.49.0", ] [project.scripts] psview-agent = "psview_agent.main:run" [build-system] requires = ["uv_build>=0.11.22,<0.12.0"] build-backend = "uv_build" [dependency-groups] dev = [ "httpx>=0.28.1", "mypy>=2.1.0", "pytest-asyncio>=1.4.0", "pytest-cov>=7.1.0", "pytest>=9.1.1", "ruff>=0.15.18", "types-pyyaml>=6.0.12.20260518", ] [tool.ruff] line-length = 100 target-version = "py312" src = ["src", "tests"] [tool.ruff.lint] select = ["E", "F", "I", "UP", "B", "SIM", "ASYNC", "RUF", "C4", "PIE"] [tool.mypy] python_version = "3.12" strict = true warn_unreachable = true warn_unused_configs = true plugins = ["pydantic.mypy"] mypy_path = "src" [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"] addopts = [ "--strict-markers", "--strict-config", "--cov=psview_agent", "--cov-report=term-missing", "--cov-fail-under=85", ] markers = [ "live: requires an external model provider", ]