content: [project]
  name = "vptq"
  version = "0.0.5.post1"
  authors = [
    { name="Yang Wang", email="wyatuestc@gmail.com" },
    { name="Jicheng Wen", email="wejoincy@gmail.com" },
    { name="Ying Cao", email="lcy.seso@gmail.com" },
  ]
  
  description = "VPTQ (Vector Post-Training Quantization) is a novel Post-Training Quantization method."
  readme = "README.md"
  requires-python = ">=3.8"
  classifiers = [
      "Programming Language :: Python :: 3",
      "License :: OSI Approved :: MIT License",
      "Operating System :: OS Independent",
      "Topic :: Software Development :: Libraries",
  ]
  
  dependencies = [
      "torch>=2.3.0",
      "datasets",
      "transformers>=4.45",
      "safetensors",
      "psutil",
      "accelerate",
      "gradio",
      "plotly==5.9.0",
      "pynvml",
      "tqdm",
      "sentence_transformers",
  ]
  
  [project.optional-dependencies]
  dev = [
      # Build dependencies
      "cmake>=3.18.0",
      "packaging",
      "setuptools>=64.0.0",
      "wheel",
  
      # Testing
      "pytest>=8.0.0",
  
      # Code formatting and linting
      "black[jupyter]==24.8.0",
      "isort==6.0.1",
      "clang-format>=18.1.5",
      "cmake-format>=0.6.13",
      "codespell==2.4.1",
  
      # Documentation
      "mdformat==0.7.22",
      "mdformat-gfm==0.4.1",
      "mdformat-frontmatter==2.0.8",
      "mdformat-myst==0.2.1",
      "mdformat-tables==1.0.0",
      "mdformat-toc==0.3.0",
      "mdformat-black==0.1.1",
  
      # Pre-commit
      "pre-commit>=3.0.0",
  ]
  
  [project.urls]
  Homepage = "https://github.com/microsoft/VPTQ"
  Issues = "https://github.com/microsoft/VPTQ/issues"
  
  [build-system]
  requires = [
      "cmake",
      "packaging",
      "setuptools >= 64.0.0",
      "wheel",
  ]
  build-backend = "setuptools.build_meta"
  
  [tool.ruff]
  # Allow lines to be as long as 80.
  line-length = 80
  exclude = [
      # External file, leaving license intact
  ]
  include = ["*.py"]
  
  [tool.ruff.lint]
  select = [
      # pycodestyle
      "E",
      # Pyflakes
      "F",
      # flake8-bugbear
      "B",
      # flake8-simplify
      "SIM",
      # isort
      "G",
  ]
  ignore = [
      # star imports
      "F405", "F403",
      # lambda expression assignment
      "E731",
      # Loop control variable not used within loop body
      "B007",
      # f-string format
      "UP032",
  ]
  
  [tool.codespell]
  ignore-words-list = "ist"
  skip = "./VPTQ_arxiv.pdf,./build"
  
  [tool.isort]
  profile = "black"
  line_length = 80
  multi_line_output = 3
  include_trailing_comma = true
  force_grid_wrap = 0
  combine_as_imports = true
  ensure_newline_before_comments = true
  
  # ignore pdf files
  [tool.setuptools]
  packages.find.include = ["vptq"]
  packages.find.exclude = ["**/*.pdf"]
  