-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathpyproject.toml
More file actions
111 lines (97 loc) · 3.31 KB
/
pyproject.toml
File metadata and controls
111 lines (97 loc) · 3.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# SPDX-License-Identifier: MIT
# Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.
[project]
name = "intelliperf"
dynamic = ["version"]
description = "Automated bottleneck detection and solution orchestration"
authors = [
{ name = "Muhammad Awad", email = "muhaawad@amd.com" },
{ name = "Cole Ramos", email = "Cole.Ramos@amd.com" },
]
license = { text = "MIT" }
readme = "README.md"
requires-python = ">=3.9"
# Python dependencies
dependencies = [
"tomli",
"tabulate",
"ml_dtypes",
"dspy==2.6.27",
"pandas",
"duckdb",
"rich",
"pytest",
"litellm[proxy]",
"rpds-py",
"nexus @ git+https://github.com/AMDResearch/nexus.git@2ad5699c8374966365d1a564f7032a3e061a8bbc",
]
[tool.setuptools]
package-dir = {"" = "src"}
[tool.setuptools.packages.find]
where = ["src"]
include = ["intelliperf", "accordo"]
[project.scripts]
intelliperf = "intelliperf.__main__:main"
[build-system]
requires = ["setuptools>=61", "wheel", "setuptools-scm>=8"]
build-backend = "setuptools.build_meta"
[tool.rocprofiler-compute]
git = "https://github.com/ROCm/rocprofiler-compute"
branch = "a3dc98e25106f0cfb5f996acc9848274b4e6cf15"
build_command = """
python3 -m pip install --ignore-installed blinker &&
python3 -m pip install -r requirements.txt
"""
[project.optional-dependencies]
dev = [
"ruff==0.3.0",
"pre-commit==3.6.0"
]
[tool.ruff]
line-length = 120
target-version = "py38"
[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"F", # pyflakes
"I", # isort
"W", # pycodestyle warnings
"D", # pydocstyle
"ERA", # eradicate (detects commented-out code and merge conflicts)
]
ignore = [
"E501", # line too long (handled by line-length)
"E701", # multiple statements on one line
"E731", # do not assign a lambda expression
"D100", # Missing docstring in public module
"D101", # Missing docstring in public class
"D102", # Missing docstring in public method
"D103", # Missing docstring in public function
"D104", # Missing docstring in public package
"D105", # Missing docstring in magic method
"D106", # Missing docstring in public nested class
"D107", # Missing docstring in __init__
"W292", # No newline at end of file (handled by Ruff)
"W291", # Trailing whitespace (handled by Ruff)
"W293", # Blank line contains whitespace (handled by Ruff)
"W191", # Indentation contains tabs (we want tabs)
"D203", # one-blank-line-before-class (using D211 instead)
"D212", # multi-line-summary-first-line (using D213 instead)
"ERA001", # Found commented-out code
"D200", # One-line docstring should fit on one line
"D206", # Docstring should be indented with spaces, not tabs
"D415", # First line should end with a period, question mark, or exclamation point
"D417", # Missing argument description in the docstring
"E101", # Indentation contains mixed spaces and tabs
]
[tool.ruff.format]
quote-style = "double"
indent-style = "tab"
line-ending = "auto"
[tool.ruff.lint.pydocstyle]
convention = "google" # Use Google-style docstrings
# ---- setuptools-scm versioning ----
[tool.setuptools_scm]
version_scheme = "post-release" # .postN after last tag
local_scheme = "node-and-date" # add commit hash (e.g. +gabc1234) and date (e.g. +20250914)
fallback_version = "0.0.0" # used if git metadata unavailable