content: [project]
  name = "folx"
  version = "0.2.19"
  description = "Forward Laplacian for JAX"
  authors = [
      { name = "Nicholas Gao", email = "n.gao@tum.de" },
      { name = "Jonas Koehler", email = "jonas.koehler@microsoft.com" },
      { name = "Adam Foster", email = "adam.e.foster@microsoft.com" },
  ]
  requires-python = ">=3.10,<4.0"
  readme = "README.md"
  license = "MIT"
  maintainers = [{ name = "Nicholas Gao", email = "n.gao@tum.de" }]
  keywords = ["jax", "laplacian", "numeric"]
  classifiers = [
      "Development Status :: 4 - Beta",
      "Environment :: Console",
      "Environment :: GPU :: NVIDIA CUDA",
      "Intended Audience :: Science/Research",
      "Operating System :: MacOS :: MacOS X",
      "Operating System :: POSIX :: Linux",
      "Topic :: Scientific/Engineering :: Artificial Intelligence",
      "Topic :: Scientific/Engineering :: Chemistry",
      "Topic :: Scientific/Engineering :: Physics",
      "Programming Language :: Python :: 3.11",
      "Programming Language :: Python :: 3.12",
  ]
  dependencies = [
      "jax>=0.4.10; python_version < '3.13'",
      "jax>=0.4.34; python_version >= '3.13'",
      "jaxtyping>=0.2.36",
      "numpy>=1.25; python_version < '3.13'",
      "numpy>=2.1; python_version >= '3.13'",
  ]
  
  [project.urls]
  Homepage = "https://github.com/microsoft/folx"
  Repository = "https://github.com/microsoft/folx"
  
  [tool.ruff.lint]
  ignore = [
      "E741", # ambiguous variable name
  ]
  
  [tool.ruff.format]
  quote-style = "single"
  line-ending = "lf"
  
  [build-system]
  requires = ["hatchling"]
  build-backend = "hatchling.build"
  
  [dependency-groups]
  dev = [
      "flax>=0.10.2",
      "jax[cuda12]>=0.4.10",
      "parameterized>=0.9.0",
      "pre-commit-uv>=4.1.4",
      "pytest>=8.3.4",
      "pytest-env>=1.1.5",
      "pytest-xdist>=3.6.1",
  ]
  
  [tool.pytest.ini_options]
  addopts = "-n auto --dist=worksteal --durations=0 --color=yes -v"
  
  [tool.pytest_env]
  JAX_PLATFORMS = "cpu"
  JAX_ENABLE_X64 = "True"
  XLA_FLAGS = "--xla_force_host_platform_device_count=4"
  
  [tool.uv.sources]
  folx = { workspace = true }
  