mirror of
https://github.com/sqlalchemy/sqlalchemy.git
synced 2026-05-14 12:47:22 -04:00
7b67920fcb
Using cibuildwheel the following wheels are created:
- windows x64 and x84
- macos x64 and arm
- linux x64 and arm on manylinux and mosulinux (for alpine)
- create a pure python wheel (for pypy and other archs)
Fixes: #6702
Fixes: #7607
Closes: #7992
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/7992
Pull-request-sha: 61d5e24e5b
Change-Id: If0c0b353766e0b61d421789d619eb2b940c08ad0
83 lines
2.3 KiB
TOML
83 lines
2.3 KiB
TOML
[build-system]
|
|
build-backend = "setuptools.build_meta"
|
|
requires = [
|
|
"setuptools>=47",
|
|
"wheel>=0.34",
|
|
"cython>=0.29.24; python_implementation == 'CPython'", # Skip cython when using pypy
|
|
]
|
|
|
|
[tool.black]
|
|
line-length = 79
|
|
target-version = ['py37']
|
|
|
|
[tool.zimports]
|
|
black-line-length = 79
|
|
|
|
[tool.slotscheck]
|
|
exclude-modules = '^sqlalchemy\.testing'
|
|
|
|
|
|
[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 = [
|
|
# NOTE: additional SQLAlchemy specific filters in
|
|
# sqlalchemy/testing/warnings.py. SQLAlchemy modules cannot be named
|
|
# here as pytest loads them immediately, which breaks coverage as well
|
|
# as sys.path adjustments in conftest.py
|
|
"error::DeprecationWarning:test",
|
|
"error::DeprecationWarning:sqlalchemy"
|
|
]
|
|
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 = false
|
|
strict = true
|
|
|
|
|
|
|
|
[tool.cibuildwheel]
|
|
test-requires = "pytest pytest-xdist"
|
|
test-command = "pytest -c {project}/pyproject.toml -n2 -q --nomemory --notimingintensive --nomypy {project}/test"
|
|
|
|
build = "*"
|
|
# python 3.6 is no longer supported by sqlalchemy
|
|
# pypy uses the universal wheel fallback, since it does not use any compiled extension
|
|
skip = "cp36-* pp*"
|
|
# TODO: remove this skip once action support arm macs
|
|
test-skip = "*-macosx_arm64"
|
|
|
|
[tool.cibuildwheel.macos]
|
|
archs = ["x86_64", "arm64"]
|
|
|
|
# On an Linux Intel runner with qemu installed, build Intel and ARM wheels
|
|
# NOTE: this is overriden in the pipeline using the CIBW_ARCHS_LINUX env variable to speed up the build
|
|
[tool.cibuildwheel.linux]
|
|
archs = ["x86_64", "aarch64"]
|