[project] name = "workspace" version = "1.0.0" description = "Add your description here" readme = "README.md" requires-python = ">=3.13" dependencies = [ "boto3>=1.37.17", "google-api-python-client>=2.190.0", "google-auth-oauthlib>=1.2.4", "pydantic>=2.12.5", "pydantic-settings>=2.11.0", "pytest>=8.3.5", "uplink>=0.10.0", ] [tool.pytest.ini_options] pythonpath = ["src"] testpaths = ["tests"] addopts = [ "--cov=src/content_automation", "--cov-report=term-missing", "--cov-fail-under=70", ] [dependency-groups] dev = [ "bandit[toml]>=1.9.4", "black>=26.3.1", "isort>=8.0.1", "mypy>=1.19.1", "pre-commit>=4.5.1", "pytest-cov>=7.0.0", "ruff>=0.15.6", ] [tool.black] line-length = 88 target-version = ["py313"] include = "\\.pyi?$" [tool.isort] profile = "black" line_length = 88 py_version = 313 src_paths = ["src", "tests"] [tool.bandit] exclude_dirs = ["tests", ".venv", ".git", "build", "dist"] skips = ["B105"] targets = ["src"] [tool.ruff] line-length = 88 target-version = "py313" src = ["src", "tests"] [tool.ruff.lint] select = ["E", "F", "I"] [tool.mypy] python_version = "3.13" files = ["src", "tests"] ignore_missing_imports = true check_untyped_defs = true warn_unused_ignores = true pretty = true [[tool.mypy.overrides]] module = ["content_automation.adapters.social.instagram"] ignore_errors = true