Right now, if cuda.bench itself does not need numpy, jsondiff, colorama, matplotlib, etc.
Those should not be unconditional core dependencies just because helper scripts use them. They belong in optional extras.
cuda-bench must provide [project.optional-dependencies] section.
cuda-bench core dependencies should be kept lean. Script dependencies should be kept under tools. Every console script should fail gracefully when its optional dependencies are absent with error like
nvbench-compare requires optional tool dependencies.
Install with: pip install "cuda-bench[tools]"
Tool surface may be split into groups:
compare = ["colorama", "jsondiff", "numpy", "tabulate"]
plot = ["matplotlib", "numpy", "pandas", "seaborn"]
tools = ["cuda-bench[compare,plot]"]
Right now, if
cuda.benchitself does not neednumpy,jsondiff,colorama,matplotlib, etc.Those should not be unconditional core dependencies just because helper scripts use them. They belong in optional
extras.cuda-benchmust provide[project.optional-dependencies]section.cuda-benchcore dependencies should be kept lean. Script dependencies should be kept under tools. Every console script should fail gracefully when its optional dependencies are absent with error likeTool surface may be split into groups: