content: [project]
  name = "crosscode"
  version = "0.0.1"
  description = "Train Crosscoders"
  requires-python = "==3.12"
  readme = "README.md"
  dependencies = [
      "torch",
      "torchvision",
      "pydantic",
      "wandb",
      "fire",
      "tqdm",
      "pytest",
      "ipykernel",
      "einops",
      "transformer_lens",
      "transformers",
      "datasets",
      "plotly",
      "nbformat",
      "pandas",
      "matplotlib",
      "schedulefree",
      "zstandard"
  ]
  
  [project.optional-dependencies]
  dev = [
      "ruff",
      "pyright",
      "pre-commit",
  ]
  
  [build-system]
  requires = ["setuptools", "wheel"]
  build-backend = "setuptools.build_meta"
  
  [tool.setuptools]
  packages = { find = { } }
  
  [tool.ruff]
  line-length = 120
  fix = true
  
  [tool.ruff.lint]
  select = [
      # pycodestyle
      "E",
      # Pyflakes
      "F",
      # pyupgrade
      "UP",
      # flake8-bugbear
      "B",
      # flake8-simplify
      "SIM",
      # isort
      "I",
  ]
  isort.known-third-party = ["wandb"]
  
  [tool.ruff.format]
  # Enable reformatting of code snippets in docstrings.
  docstring-code-format = true
  
  [tool.pyright]
  include = ["crosscode", "tests"]
  
  strictListInference = true
  strictDictionaryInference = true
  strictSetInference = true
  reportFunctionMemberAccess = true
  reportUnknownParameterType = true
  reportIncompatibleMethodOverride = true
  reportIncompatibleVariableOverride = true
  reportInconsistentConstructorType = true
  reportOverlappingOverload = true
  reportConstantRedefinition = true
  reportImportCycles = true
  reportPropertyTypeMismatch = true
  reportMissingTypeArgument = true
  reportUnnecessaryCast = true
  reportUnnecessaryComparison = true
  reportUnnecessaryContains = true
  reportUnusedExpression = true
  reportMatchNotExhaustive = true
  reportShadowedImports = true
  reportPrivateImportUsage = false
  