pyproject.toml
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.poetry]
name = "shandy-sqlfmt"
version = "0.23.2"
description = "sqlfmt formats your dbt SQL files so you don't have to."
readme = "README.md"
authors = ["Ted Conbeer <ted@shandy.io>"]
license = "Apache-2.0"
homepage = "https://sqlfmt.com"
repository = "https://github.com/tconbeer/sqlfmt"
documentation = "https://docs.sqlfmt.com"
classifiers = [
"Development Status :: 3 - Alpha",
"Operating System :: MacOS :: MacOS X",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX :: Linux",
"Programming Language :: SQL",
"Topic :: Software Development :: Quality Assurance",
"Typing :: Typed",
]
packages = [
{ include = "sqlfmt", from = "src" },
]
[tool.poetry.extras]
jinjafmt = ["black"]
sqlfmt_primer = ["gitpython"]
[tool.poetry.dependencies]
python = "^3.8"
click = "^8.0"
tqdm = "^4.0"
platformdirs = ">=2.4,<5.0"
importlib_metadata = { version = "*", python = "<3.8" }
tomli = { version = "^2.0", python = "<3.11" }
jinja2 = "^3.0"
black = { version = "*", optional = true }
gitpython = { version = "^3.1.24", optional = true }
[tool.poetry.group.dev.dependencies]
pre-commit = ">=2.20,<4.0"
snakeviz = "^2.1.1"
[tool.poetry.group.static.dependencies]
ruff = "^0.5"
mypy = "^1.11"
[tool.poetry.group.test.dependencies]
black = "^24"
pytest = "^8"
pytest-cov = "^5"
[tool.poetry.scripts]
sqlfmt = "sqlfmt.cli:sqlfmt"
sqlfmt_primer = { callable = "sqlfmt_primer.primer:sqlfmt_primer", extras = ["sqlfmt_primer"] }
[tool.black]
line-length = 88
target-version = ["py38"]
[tool.ruff]
line-length = 88
target-version = "py38"
[tool.ruff.lint]
select = ["A", "B", "E", "F", "I"]
[tool.mypy]
python_version = "3.8"
files = [
"src/**/*.py",
"tests/**/*.py",
]
mypy_path = "stubs,src"
show_column_numbers = true
# show error messages from unrelated files
follow_imports = "normal"
# be strict
disallow_untyped_calls = true
disallow_untyped_defs = true
check_untyped_defs = true
disallow_untyped_decorators = true
disallow_incomplete_defs = true
disallow_subclassing_any = true
strict_optional = true
warn_return_any = true
warn_no_return = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_unused_configs = true
no_implicit_reexport = true
strict_equality = true