content: [build-system]
  requires = ["hatchling"]
  build-backend = "hatchling.build"
  
  [tool.hatch.build]
  includes = ["CAMASim/**"]
  
  [project]
  name = "camasim"
  version = "0.1.0"
  description = "Add your description here"
  readme = "README.md"
  requires-python = ">=3.10"
  dependencies = [
  	"numpy>=2.1.3", 
  	"scipy>=1.14.1"
  ]
  
  [project.optional-dependencies]
  example = [
    "scikit-learn>=1.5.2"
  ]
  
  [tool.uv]
  dev-dependencies = [
  	"pre-commit>=4.0.1",
      "mypy>=1.11.2",
      "pytest>=8.3.3",
      "pytest-mock>=3.14.0",
      "requests-mock>=1.12.1",
      "ruff>=0.6.9",
  ]
  package = true
  
  [tool.ruff]
  line-length = 88
  
  [tool.ruff.lint]
  select = [
      "E",  # pycodestyle errors
      "W",  # pycodestyle warnings
      "F",  # pyflakes
      "I",  # isort
      "B",  # flake8-bugbear
      "C4",  # flake8-comprehensions
      "UP",  # pyupgrade
  ]
  ignore = [
      "E501",  # line too long, handled by black
      "B008",  # do not perform function calls in argument defaults
      "C901",  # too complex
      "W191",  # indentation contains tabs
      "B904",
  	"B023",
  	"E731",	#TODO: remove this
  	"E712", #TODO: remove this 
  	"E741"	#TODO: remove this
  ]
  
  [tool.ruff.lint.per-file-ignores]
  "__init__.py" = ["F401"]
  
  [tool.ruff.lint.isort]
  known-third-party = ["fastapi", "pydantic", "starlette"]
  
  [tool.ruff.lint.pyupgrade]
  keep-runtime-typing = true