content: [build-system]
  requires = ["setuptools", "setuptools-grpc"]
  build-backend = "setuptools.build_meta"
  
  [project]
  name = "chakra"
  requires-python = ">=3.7"
  version = "0.0.4"
  readme = "README.md"
  license = {file = "LICENSE.md"}
  authors = [
      {name = "MLCommons", email = "chakra@mlcommons.org"},
  ]
  dependencies = [
      "protobuf",
      "graphviz",
      "networkx",
      "pydot",
      "HolisticTraceAnalysis @ git+https://github.com/facebookresearch/HolisticTraceAnalysis.git@d731cc2e2249976c97129d409a83bd53d93051f6"
  ]
  
  [project.urls]
  Homepage = "https://github.com/mlcommons/chakra"
  Documentation = "https://github.com/mlcommons/chakra/README.md"
  Repository = "https://github.com/mlcommons/chakra.git"
  
  [tool.setuptools.package-dir]
  "chakra.schema.protobuf" = "schema/protobuf"
  "chakra.src.converter" = "src/converter"
  "chakra.src.generator" = "src/generator"
  "chakra.src.jsonizer" = "src/jsonizer"
  "chakra.src.third_party" = "src/third_party"
  "chakra.src.timeline_visualizer" = "src/timeline_visualizer"
  "chakra.src.trace_link" = "src/trace_link"
  "chakra.src.visualizer" = "src/visualizer"
  
  [tool.setuptools.package-data]
  "chakra.schema.protobuf" = ["et_def.proto"]
  
  [project.scripts]
  chakra_converter = "chakra.src.converter.converter:main"
  chakra_generator = "chakra.src.generator.generator:main"
  chakra_jsonizer = "chakra.src.jsonizer.jsonizer:main"
  chakra_timeline_visualizer = "chakra.src.timeline_visualizer.timeline_visualizer:main"
  chakra_trace_link = "chakra.src.trace_link.trace_link:main"
  chakra_visualizer = "chakra.src.visualizer.visualizer:main"
  
  [tool.ruff]
  target-version = "py39"
  line-length = 120
  exclude = [
      "src/converter/text_converter.py",
      "src/third_party/utils/protolib.py",
  ]
  
  [tool.ruff.lint]
  select = ["I", "B", "E", "D", "F", "SIM", "W", "C90", "EXE"]
  ignore = [
      "D407", # Missing dashed underline after section
      "D203", # conflicts with D211
      "D212", # conflicts with D213
      "D413", # Missing blank line after last section
  
      # TODO: Remove these once we have docstrings
      "D100", # Missing docstring in public module
      "D102", # Missing docstring in public method
      "D103", # Missing docstring in public function
      "D104", # Missing docstring in public package
      "D107", # Missing docstring in `__init__`
  ]
  
  [tool.ruff.lint.per-file-ignores]
  "**/tests/*" = ["D"]
  
  [tool.ruff.format]
  indent-style = "space"
  
  [tool.pyright]
  typeCheckingMode = "basic"
  exclude = [
      "**/__pycache__",
      "**/build/",
      "setup.py",
      "src/third_party/utils/protolib.py"
  ]
  reportMissingImports = false
  reportAttributeAccessIssue = false
  
  [tool.vulture]
  ignore_names = ["mock_process_thread"]
  min_confidence = 100
  