[project] name = "script-build-host" version = "0.1.0" description = "Script build business host backed by the generic cyber-agent orchestration framework" requires-python = ">=3.11" dependencies = [ "alembic>=1.13", "asyncmy>=0.2.9", "cyber-agent", "fastapi>=0.115", "httpx>=0.28", "pydantic-settings>=2.6", "sqlalchemy[asyncio]>=2.0.36", "uvicorn>=0.35", ] [project.scripts] script-build-host = "script_build_host.cli:main" [project.optional-dependencies] dev = [ "aiosqlite>=0.20", "mypy>=1.13", "pytest>=8.3", "pytest-asyncio>=0.24", "ruff>=0.8", ] [build-system] requires = ["setuptools>=75"] build-backend = "setuptools.build_meta" [tool.setuptools.packages.find] where = ["src"] [tool.setuptools.package-data] "script_build_host.agents.prompts" = ["*.md"] [tool.uv.sources] cyber-agent = { path = "../agent", editable = true } [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"] markers = ["mysql: requires an explicit SCRIPT_BUILD_TEST_MYSQL_DSN"] [tool.ruff] line-length = 100 target-version = "py311" [tool.ruff.lint] select = ["E", "F", "I", "UP", "B", "ASYNC", "RUF"] [tool.mypy] python_version = "3.11" strict = true packages = ["script_build_host"] [[tool.mypy.overrides]] module = ["agent", "agent.*"] follow_imports = "skip" ignore_missing_imports = true