content: [build-system]
  requires = ["setuptools", "wheel"]
  build-backend = "setuptools.build_meta"
  
  [tool.black]
  target-version = ['py38', 'py39', 'py310', 'py311', 'py312']
  
  [tool.cibuildwheel]
  build = "cp3[89]* cp310* cp311* cp312*"
  test-command = "python -m tornado.test"
  
  [tool.cibuildwheel.macos]
  archs = "x86_64 universal2"
  # The arm portion of a universal wheel is a cross-compile and cannot
  # be tested on an x86 host. This must be configured explicitly to silence
  # a warning.
  test-skip = "*_universal2:arm64"
  
  [tool.cibuildwheel.windows]
  # TODO: figure out what's going on with these occasional log messages.
  test-command = "python -m tornado.test --fail-if-logs=false"
  
  [tool.cibuildwheel.linux]
  # Build wheels for the native platform (i.e. x86) as well as an emulated
  # build for aarch64.
  archs = "auto aarch64"
  
  [[tool.cibuildwheel.overrides]]
  # The emulated arm build is quite slow, so only run a portion of the test
  # suite. websocket_test is the most platform-dependent part of the tests
  # because it uses the C speedups module.
  select = "*linux_aarch64"
  test-command = "python -m tornado.test tornado.test.websocket_test"
  