content: [build-system]
  requires = ["hatchling"]
  build-backend = "hatchling.build"
  
  [project]
  name = "allin1"
  dynamic = ["version"]
  description = "All-In-One Music Structure Analyzer"
  readme = "README.md"
  requires-python = ">=3.8"
  license = "MIT"
  keywords = ["music", "beat", "downbeat", "tracking", "structure", "analysis", "allin1"]
  authors = [
    { name = "Taejun Kim", email = "taejun@kaist.ac.kr" },
  ]
  classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Programming Language :: Python",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: Implementation :: CPython",
    "Programming Language :: Python :: Implementation :: PyPy",
  ]
  dependencies = [
    "numpy",
    "librosa",
    "natten; platform_system == 'Darwin'",
    "demucs",
    "hydra-core",
    "omegaconf",
    "huggingface_hub",
    "matplotlib",
  ]
  
  [project.optional-dependencies]
  train = [
    "lightning",
    "timm",
    "wandb",
    "mir_eval",
    "numpy<1.24", # otherwise, mir_eval will raise AttributeError: module 'numpy' has no attribute 'int'
  ]
  
  [project.urls]
  Documentation = "https://github.com/mir-aidj/all-in-one#readme"
  Issues = "https://github.com/mir-aidj/all-in-one/issues"
  Source = "https://github.com/mir-aidj/all-in-one"
  
  [project.scripts]
  allin1 = "allin1.cli:main"
  allin1-train = "allin1.training.train:main"
  allin1-preprocess = "allin1.training.preprocess:main"
  
  [tool.hatch.version]
  path = "src/allin1/__about__.py"
  
  [tool.hatch.build.targets.wheel]
  packages = ["src/allin1"]
  