Files

52 lines
1.4 KiB
TOML

[project]
name = "strands-monorepo-tools"
version = "0.0.0"
description = "Shared Python tooling for the Strands monorepo. Not published."
requires-python = ">=3.10"
dependencies = [
# Linter/formatter. Range matches strands-py and harness-py so the whole monorepo
# (and the pre-commit hook) resolves the same ruff.
"ruff>=0.16.0,<0.17.0",
# Type checker.
"pyright>=1.1.400",
# Test runner for the shared venv.
"pytest>=9.0.3",
"pytest-asyncio>=1.3.0",
]
[tool.setuptools]
# We don't ship a distribution. Suppress the auto-discovery warning.
packages = []
[tool.pytest.ini_options]
asyncio_mode = "auto"
cache_dir = ".pytest_cache"
# Ruff config lives here because ruff walks up from the file it's linting
# and the monorepo has a single style.
[tool.ruff]
line-length = 120
[tool.ruff.lint]
select = [
"B", # flake8-bugbear
"E", # pycodestyle
"F", # pyflakes
"I", # isort
"UP", # pyupgrade
]
# Pyright config lives here for the same reason as ruff: one rule for
# the whole monorepo. Pyright walks up to find the nearest pyproject.
# `exclude` is omitted so pyright inherits its built-in defaults
# (**/node_modules, **/__pycache__, **/.*); setting it would replace
# those, not merge.
[tool.pyright]
pythonVersion = "3.10"
pythonPlatform = "All"
typeCheckingMode = "standard"
reportMissingTypeStubs = false
reportMissingImports = "warning"