content: [build-system]
  requires = [
      "scikit-build-core",
      "nanobind==2.9.2",
      "typing_extensions",
      "hatch-fancy-pypi-readme"
  ]
  build-backend = "scikit_build_core.build"
  
  
  [project]
  name = "drjit"
  dynamic = ["version", "readme"]
  description = "Dr.Jit: A Just-In-Time Compiler for Differentiable Rendering"
  dependencies = [
    "typing_extensions;python_version<\"3.11\""
  ]
  requires-python = ">=3.8"
  authors = [
      { name = "Wenzel Jakob", email = "wenzel.jakob@epfl.ch" },
      { name = "Christian Döring", email = "christian.doering@tum.de" },
      { name = "Nicolas Roussel", email = "nicolas.roussel@epfl.ch" },
      { name = "Sébastien Speierer", email = "sebastien.speierer@epfl.ch" },
      { name = "Delio Vicini", email = "delio.vicini@epfl.ch" }
  ]
  classifiers = [
      "License :: OSI Approved :: BSD License"
  ]
  
  [project.urls]
  Homepage = "https://github.com/mitsuba-renderer/drjit"
  
  
  [tool.scikit-build]
  # Protect the configuration against future changes in scikit-build-core
  minimum-version = "0.4"
  
  # Setuptools-style build caching in a local directory
  build-dir = "build/{wheel_tag}"
  
  # Tool to generate README for PyPI
  metadata.readme.provider = "scikit_build_core.metadata.fancy_pypi_readme"
  
  cmake.verbose = true
  logging.level = "INFO"
  
  
  [tool.cibuildwheel]
  # Necessary to see build output from the actual compilation
  build-verbosity = 1
  
  build = ["cp39-*", "cp310-*", "cp311-*", "cp312-*", "cp313-*"]
  archs = ["auto64"]
  skip = "*-musllinux* pp*"
  
  # Try to import the package to see if it was built correctly (compromise)
  test-command = "python -c \"import drjit\""
  
  # Needed for full C++17 support
  [tool.cibuildwheel.macos.environment]
  MACOSX_DEPLOYMENT_TARGET = "10.14"
  
  [tool.cibuildwheel.linux]
  before-all = "yum install -y libatomic"
  
  
  [tool.pytest.ini_options]
  norecursedirs = [ "ext" ]
  
  
  [tool.scikit-build.metadata.version]
  # Fetch version number from header file
  provider = "scikit_build_core.metadata.regex"
  input = "include/drjit/fwd.h"
  regex = '''(?sx)
  \#define \s+ DRJIT_VERSION_MAJOR \s+ (?P<major>\d+) .*?
  \#define \s+ DRJIT_VERSION_MINOR \s+ (?P<minor>\d+) .*?
  \#define \s+ DRJIT_VERSION_PATCH \s+ (?P<patch>\d+) .*?
  '''
  result = "{major}.{minor}.{patch}"
  
  
  # Build PyPI compliant README file from original README.rst
  [tool.hatch.metadata.hooks.fancy-pypi-readme]
  content-type = "text/x-rst"
  
  [[tool.hatch.metadata.hooks.fancy-pypi-readme.fragments]]
  path = "README.rst"
  end-before = ".. image::"
  pattern = "(.*)"
  
  [[tool.hatch.metadata.hooks.fancy-pypi-readme.fragments]]
  text = '''
  .. image:: https://github.com/mitsuba-renderer/drjit-core/raw/master/resources/drjit-logo-dark.svg
     :alt: Dr.Jit logo
     :align: center
  
  '''
  
  [[tool.hatch.metadata.hooks.fancy-pypi-readme.fragments]]
  path = "README.rst"
  start-after = "</p>\n\n"
  pattern = "(.*)"
  