[build-system]
requires = ["setuptools>=61.0.0", "wheel", "setuptools_scm"]
build-backend = "setuptools.build_meta"

[project]
name = "emt"
description = "A tool for granular energy measurement, empowering digital sustainability in machine learning and AI workflows."
readme = { file = "README.md", content-type = "text/markdown" }                                                                 # Specify the readme format
authors = [{ name = "Rameez Ismail", email = "rameez.ismail@philips.com" }]
license = "MIT"                                                                                                                 # Correctly specify the license as a simple SPDX expression
license-files = ["LICENSE"]

keywords = [
  "deep-learning",
  "power",
  "energy",
  "carbon",
  "sustainability",
  "emt",
]
requires-python = ">=3.10"
dependencies = ["psutil", "numpy", "pandas", "pynvml", "tabulate", "click"]

dynamic = ["version"]

[project.urls]
Repository = "https://github.com/FairCompute/energy-monitoring-tool"
#Homepage = ""
#Documentation = ""

[project.optional-dependencies]

dev = ["black", "pytest", "pytest-asyncio", "coverage"]

docs = [
    "mkdocs",
    "mkdocs-material",
    "mkdocstrings[python]",
    "mkdocs-redirects",
    "mkdocs-awesome-pages-plugin",
    "pymdown-extensions",
    "myst-parser",
    "mkdocs-git-revision-date-localized-plugin",
]

[tool.setuptools.packages.find]
where = ["."]
include = ["emt", "emt.*"] # Include all sub-packages under 'emt'

[tool.setuptools_scm]
# Ensure _version.py exists and is correctly configured
version_file = "_version.py"


[project.scripts]
emt = "emt.cli:main"


[tool.black]
line-length = 88
exclude = '''
/(
    \.git
  | build
  | dist
  | __pycache__
  | docs
)/
'''
[tool.coverage.run]
omit = ["examples/*", "docs/*"]
