[project] name = "template" version = "0.1.0" description = "A template project for modern Python development" requires-python = ">=3.12" dependencies = [ "aiohttp>=3.10.5", "boto3>=1.35.12", "gradio>=4.44.0", "ipykernel>=6.29.5", "openai>=1.43.0", "pydantic>=2.8.2", "pytimeparse>=1.1.8", "requests>=2.32.3", "rich>=13.8.1", "structlog>=24.4.0", "tabulate>=0.9.0", "tenacity>=9.0.0", "tomli>=2.0.1", ] [project.optional-dependencies] dev = [ "ruff>=0.2.0", "black>=23.12.0", "isort>=5.13.0", "mypy>=1.8.0", "pytest>=7.4.0", "pytest-asyncio>=0.21.0", "mypy-boto3-bedrock-runtime>=1.35.9", "mypy-boto3-dynamodb>=1.35.0", "mypy-boto3-s3>=1.35.2", "mypy-boto3-ssm>=1.35.0", "types-requests>=2.32.0.20240905", ] [tool.hatch.build.targets.wheel] packages = ["src/vsp"] [tool.ruff] lint.select = ["E", "F", "I", "N"] lint.ignore = [] line-length = 120 target-version = "py312" [tool.black] line-length = 120 target-version = ["py312"] [tool.isort] profile = "black" line_length = 120 [tool.mypy] python_version = "3.12" strict = true ignore_missing_imports = true mypy_path = "src" namespace_packages = true explicit_package_bases = true enable_incomplete_feature = ["NewGenericSyntax"] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.pytest.ini_options] addopts = ["--import-mode=importlib"] pythonpath = [".", "src"] testpaths = ["tests"] log_cli = 1 asyncio_default_fixture_loop_scope = "function" [tool.uv] link-mode = "copy" python-preference = "only-managed"