content: [project]
  name = "box-packager"
  version = "0.4.0"
  description = "Automatic packaging and installers of your GUI with PyApp"
  readme = "README.md"
  authors = [
      { name = "Reto Trappitsch", email = "reto@galactic-forensics.space" }
  ]
  dependencies = [
      "click>=8.1.7",
      "tomlkit>=0.12.3",
      "rich-click>=1.7.3",
      "rich>=13.7.0",
      "colorama>=0.4.6",
      "applecrate>=0.2.0; sys_platform=='darwin'",
      "dmgbuild>=1.6.1; sys_platform=='darwin'",
  ]
  requires-python = ">= 3.8"
  license = { text = "MIT" }
  
  [project.scripts]
  box = "box.cli:cli"
  
  [project.urls]
  Homepage = "https://github.com/trappitsc/box"
  Documentation = "https://box.readthedocs.io/"
  Changelog = "https://github.com/trappitsc/box/releases"
  Issues = "https://github.com/trappitsc/box/issues"
  CI = "https://github.com/trappitsc/box/actions"
  
  [project.optional-dependencies]
  docs = [
      "mkdocs>=1.5.3",
      "mkdocs-material>=9.5.13",
      "mkdocs-click>=0.8.1",
      "mkdocs-include-markdown-plugin>=6.0.4",
  ]
  
  [build-system]
  requires = ["hatchling"]
  build-backend = "hatchling.build"
  
  [tool.ruff]
  target-version = "py38"
  
  [tool.ruff.lint]
  select = [
  	"A",    # shadowing built-ins
  	"E",    # style stuff, whitespaces
  	"F",    # pyflakes lints
  	"I",    # sorting
  	"N",    # naming
  	"T100", # breakpoints
  ]
  
  [tool.ruff.lint.isort]
  known-first-party = ["box-packager", "box"]
  
  [tool.ruff.lint.per-file-ignores]
  "src/box/installer_utils/linux_hlp.py" = ["E501"]
  "src/box/installer_utils/mac_hlp.py" = ["E501"]
  "src/box/installer_utils/windows_hlp.py" = ["E501"]
  
  [tool.rye]
  managed = true
  dev-dependencies = [
      "pytest>=8.0.0",
      "ruff>=0.1.15",
      "pytest-cov>=4.1.0",
      "pytest-mock>=3.12.0",
      "gitpython>=3.1.42",
      "build>=1.2.1",
  ]
  
  [tool.rye.scripts]
  test = "pytest -m 'not unit'"
  test_cov = "pytest -m 'not unit' --cov --cov-report xml"
  
  [tool.hatch.metadata]
  allow-direct-references = true
  
  [tool.hatch.build.targets.wheel]
  packages = ["src/box"]
  
  [tool.pytest]
  addopts = "--cov=box -v"
  testpaths = "tests"
  
  [tool.pytest.ini_options]
  markers = [
      "slow: marks tests as slow (deselect with '-m \"not slow\"')",
      "unit: marks unit tests, which build a full PyApp with cargo (deselect with '-m \"not unit\"')",
  ]
  