content: [build-system]
  requires = ["hatchling"]
  build-backend = "hatchling.build"
  
  [project]
  name = "float8_experimental"
  version = "0.0.1"
  description = "This is a prototype of a float8 training UX in native PyTorch, with full PT2.0 and distributed support."
  readme = "README.md"
  requires-python = ">=3.8"
  classifiers = [
      "Programming Language :: Python :: 3",
      "Operating System :: OS Independent",
  ]
  
  dependencies = [
      "torch >= 2.3",
  ]
  
  [project.optional-dependencies]
  test = [
      "pandas >= 2.0",
      "tqdm==4.66.2",
      "fire==0.5.0",
      "expecttest",
  ]
  dev = [
      "black==23.3.0",
      "usort==1.0.6",
      "ufmt==2.1.0",
      "libcst==1.1.0",
      "pytest==7.4.0",
      "bumpver",
      "pip-tools",
      "ruff==0.3.0"
  ]
  # ---------- TOOL CONFIGURATIONS ------------
  [tool.usort]
  first_party_detection = false
  
  [tool.black]
  target-version = ["py310"]
  
  [tool.ruff]
  # Exclude a variety of commonly ignored directories.
  exclude = [
      ".bzr",
      ".direnv",
      ".eggs",
      ".git",
      ".git-rewrite",
      ".hg",
      ".ipynb_checkpoints",
      ".mypy_cache",
      ".nox",
      ".pants.d",
      ".pyenv",
      ".pytest_cache",
      ".pytype",
      ".ruff_cache",
      ".svn",
      ".tox",
      ".venv",
      ".vscode",
      "__pypackages__",
      "_build",
      "buck-out",
      "build",
      "dist",
      "node_modules",
      "site-packages",
      "venv",
  ]
  
  # Same as Black.
  line-length = 88
  indent-width = 4
  
  # Assume Python 3.10
  target-version = "py310"
  
  [tool.ruff.lint]
  # Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`)  codes by default.
  select = ["E4", "E7", "E9", "F"]
  ignore = ["E731"]
  
  # Allow fix for all enabled rules (when `--fix`) is provided.
  fixable = ["ALL"]
  unfixable = []
  
  # Allow unused variables when underscore-prefixed.
  dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
  