[build-system]
build-backend = "setuptools.build_meta"
requires = [
"setuptools>=61.0,<69.3",
"cython>=0.29.24; platform_python_implementation == 'CPython'",
]
[tool.black]
line-length = 79
target-version = ['py37']
[tool.zimports]
black-line-length = 79
[tool.slotscheck]
exclude-modules = '''
^sqlalchemy\.(
testing
|ext\.mypy # see slotscheck/issues/178
)
'''
[tool.isort]
skip_glob=['*']
[tool.pytest.ini_options]
addopts = "--tb native -v -r sfxX --maxfail=250 -p warnings -p logging --strict-markers"
norecursedirs = "examples build doc lib"
python_files = "test_*.py"
minversion = "6.2"
filterwarnings = [
"error::DeprecationWarning:test",
"error::DeprecationWarning:sqlalchemy",
"ignore:The default (date)?(time)?(stamp)? (adapter|converter):DeprecationWarning",
]
markers = [
"memory_intensive: memory / CPU intensive suite tests",
"mypy: mypy integration / plugin tests",
"timing_intensive: time-oriented tests that are sensitive to race conditions",
"backend: tests that should run on all backends; typically dialect-sensitive",
"sparse_backend: tests that should run on multiple backends, not necessarily all",
]
[tool.pyright]
reportPrivateUsage = "none"
reportUnusedClass = "none"
reportUnusedFunction = "none"
reportTypedDictNotRequiredAccess = "warning"
[tool.mypy]
mypy_path = "./lib/"
show_error_codes = true
incremental = true
[[tool.mypy.overrides]]
module = [
"sqlalchemy.*"
]
warn_unused_ignores = true
strict = true
[tool.cibuildwheel]
test-requires = "pytest pytest-xdist"
test-command = "python -s -m pytest -c {project}/pyproject.toml -n2 -q --nomemory --notimingintensive --nomypy {project}/test"
build = "*"
skip = "cp36-* pp*"
test-skip = "*-macosx_arm64"
[tool.cibuildwheel.macos]
archs = ["x86_64", "arm64"]
[tool.cibuildwheel.linux]
archs = ["x86_64", "aarch64"]