content: [build-system]
  requires = ["setuptools", "wheel"]
  build-backend = "setuptools.build_meta"
  
  [tool.setuptools.packages]
  find = {}
  # include = ["ftio*"]  # package names should match these glob patterns (["*"] by default)
  # exclude = ["ftio.tests*"]  
  
  
  [project]
  name = "ftio-hpc"
  dynamic = ["version"]
  dependencies = [
  	"scikit-learn",
  	"pyzmq",
  	"numba",
  	"darshan",
  	"scipy",
  	"pandas",
  	"orjson",
  	"jsonlines",
  	"plotly",
  	"kneed",
  	"PyWavelets",
  	"msgpack",
  	"rich",
  	"pytest",
  	"fastcluster",
  ]
  
  requires-python = ">=3.8"
  authors = [{ name = "Ahmad Tarraf", email = "ahmad.tarraf@tu-darmstadt.de" }]
  maintainers = [
  	{ name = "Ahmad Tarraf", email = "ahmad.tarraf@tu-darmstadt.de" },
  ]
  description = "Frequency Techniques for I/O"
  readme = "README.md"
  license = { file = "LICENSE" }
  keywords = ["ftio", "I/O"]
  classifiers = [
  	"Development Status :: 5 - Production/Stable",
  	"License :: OSI Approved :: BSD License",
  	"Operating System :: OS Independent",
  	"Programming Language :: Python :: 3",
  	"Programming Language :: Python :: 3 :: Only",
  	"Programming Language :: Python :: 3.8",
  	"Programming Language :: Python :: 3.9",
  	"Programming Language :: Python :: 3.10",
  	"Programming Language :: Python :: 3.11",
  	"Programming Language :: Python :: 3.12",
  	"Programming Language :: Python :: 3.13",
  	"Operating System :: OS Independent",
  	"Intended Audience :: Developers",
  	"Intended Audience :: Science/Research",
  	"Topic :: Scientific/Engineering",
  	"Topic :: Software Development",
  	"Topic :: Software Development :: Libraries :: Python Modules",
  ]
  
  
  [project.urls]
  Homepage = "https://github.com/tuda-parallel/FTIO"
  Documentation = "https://github.com/tuda-parallel/FTIO/docs"
  Repository = "https://github.com/tuda-parallel/FTIO"
  "Bug Tracker" = "https://github.com/tuda-parallel/FTIO/issues"
  Changelog = "https://github.com/tuda-parallel/FTIO/blob/master/CHANGELOG.md"
  
  
  [project.scripts]
  # Standard Scripts (always available)
  ftio = "ftio.cli.ftio_core:run"
  predictor = "ftio.cli.predictor:main"
  ioplot = "ftio.util.ioplot:main"
  ioparse = "ftio.util.ioparse:main" # parse several JSON files from TMIO to a single profile for Extra-P
  predictor_jit = "ftio.api.gekkoFs.predictor_gekko_zmq:main"
  jit = "ftio.api.gekkoFs.jit.jit:main"
  parallel_trace_analysis = "ftio.api.trace_analysis.parallel_trace_analysis:main" # analyses several traces (JSON or CSV) in parallel
  proxy_ftio = "ftio.api.metric_proxy.parallel_proxy:main"
  
  # Debug-Specific Scripts
  plot_bandwdith="ftio.plot.plot_bandwidth:main" 
  convert_trace = "ftio.util.convert_old_trace:main" 
  trace_ftio = "ftio.api.trace_analysis.trace_ftio_v2:main" 
  trace_analysis = "ftio.api.trace_analysis.trace_analysis:main" 
  admire_proxy_invoke_ftio = "ftio.api.metric_proxy.proxy_invoke_ftio:main"
  jit_plot = "ftio.api.gekkoFs.jit.jit_plot:main"
  
  [project.optional-dependencies]
  external-libs = [
  	"fastdtw",
  	"dash",
  	"dash_extensions",
  	"plotly_resampler",
  	"trace_updater",
  ]
  
  
  [project.gui-scripts]
  
  
  [tool.setuptools.dynamic]
  version = { attr = "ftio.__version__" }
  readme = { file = ["README.md"] }
  
  [tool.pytest.ini_options]
  log_cli = true
  log_cli_level = "INFO"
  log_cli_format = "%(asctime)s [%(levelname)8s] %(message)s (%(filename)s:%(lineno)s)"
  log_cli_date_format = "%Y-%m-%d %H:%M:%S"
  