Skip to content

Commit 01e1007

Browse files
committed
Updated pyproject to new project instead of poetry based information
1 parent 3b9f5df commit 01e1007

File tree

1 file changed

+53
-54
lines changed

1 file changed

+53
-54
lines changed

pyproject.toml

Lines changed: 53 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,22 @@
22
requires = ["poetry-core>=1.7.0", "setuptools>=67.7.2"]
33
build-backend = "poetry.core.masonry.api"
44

5-
[tool.poetry]
5+
[project]
66
name = "kernel_tuner"
7-
packages = [{ include = "kernel_tuner", from = "." }]
87
description = "An easy to use CUDA/OpenCL kernel tuner in Python"
98
version = "1.1.0" # adhere to PEP440 versioning: https://packaging.python.org/en/latest/guides/distributing-packages-using-setuptools/#id55
9+
readme = "README.md"
1010
license = "Apache-2.0"
1111
authors = [
12-
"Ben van Werkhoven <[email protected]>",
13-
"Alessio Sclocco <[email protected]>",
14-
"Stijn Heldens <[email protected]>",
15-
"Floris-Jan Willemsen <[email protected]>",
16-
"Willem-Jan Palenstijn <[email protected]>",
17-
"Bram Veenboer <[email protected]>",
18-
"Richard Schoonhoven <[email protected]>",
19-
"Leon Oostrum <[email protected]",
12+
{ name = "Ben van Werkhoven", email = "[email protected]"},
13+
{ name = "Alessio Sclocco", email = "[email protected]" },
14+
{ name = "Stijn Heldens", email = "[email protected]" },
15+
{ name = "Floris-Jan Willemsen", email = "[email protected]" },
16+
{ name = "Willem-Jan Palenstijn", email = "[email protected]" },
17+
{ name = "Bram Veenboer", email = "[email protected]" },
18+
{ name = "Richard Schoonhoven", email = "[email protected]" },
19+
{ name = "Leon Oostrum", email = "[email protected]" },
2020
]
21-
22-
readme = "README.md"
2321
keywords = [
2422
"auto-tuning",
2523
"gpu",
@@ -43,62 +41,63 @@ classifiers = [
4341
"Topic :: Scientific/Engineering",
4442
"Topic :: Software Development",
4543
"Topic :: System :: Distributed Computing",
44+
"Programming Language :: Python :: 3.10",
45+
"Programming Language :: Python :: 3.11",
46+
"Programming Language :: Python :: 3.12",
47+
"Programming Language :: Python :: 3.13"
4648
]
47-
include = [
48-
{ path = "test" },
49-
] # this ensures that people won't have to clone the whole repo to include notebooks, they can just do `pip install kernel_tuner[tutorial,cuda]`
49+
50+
# ATTENTION: if anything is changed here, run `poetry update`
51+
requires-python = ">=3.10,<4" # <4 is because of hip-python # NOTE when changing the Python versions, also change the test versions in the Noxfile and GitHub Actions
52+
dependencies = [
53+
"numpy (>=1.26.0,<2.0.0)", # Python 3.12 requires numpy at least 1.26, CuPy does not support 2.0
54+
"scipy>=1.14.1",
55+
"packaging", # required by file_utils
56+
"jsonschema",
57+
"python-constraint2>=2.2.2",
58+
"xmltodict",
59+
"pandas>=2.0.0",
60+
"scikit-learn>=1.0.2",
61+
]
62+
# NOTE Torch can be used with Kernel Tuner, but is not a dependency, should be up to the user to use it
63+
64+
[project.urls]
5065
homepage = "https://KernelTuner.github.io/kernel_tuner/"
5166
documentation = "https://KernelTuner.github.io/kernel_tuner/"
5267
repository = "https://github.com/KernelTuner/kernel_tuner"
53-
[tool.poetry.urls]
54-
"Tracker" = "https://github.com/KernelTuner/kernel_tuner/issues"
55-
[tool.poetry.build]
56-
generate-setup-file = false
57-
[tool.poetry.scripts]
58-
kernel_tuner = "kernel_tuner.interface:entry_point"
68+
changelog = "https://github.com/KernelTuner/kernel_tuner/blob/master/CHANGELOG.md"
69+
issues = "https://github.com/KernelTuner/kernel_tuner/issues"
5970

60-
[[tool.poetry.source]]
61-
name = "testpypi"
62-
url = "https://test.pypi.org/simple/"
63-
priority = "explicit"
71+
[project.scripts]
72+
kernel_tuner = "kernel_tuner.interface:entry_point"
6473

65-
# ATTENTION: if anything is changed here, run `poetry update`
66-
[tool.poetry.dependencies]
67-
python = ">=3.10,<4" # <4 is because of hip-python # NOTE when changing the Python versions, also change the test versions in the Noxfile and GitHub Actions
68-
numpy = "^1.26.0" # Python >3.12 requires numpy >= 1.26
69-
scipy = ">=1.14.1"
70-
packaging = "*" # required by file_utils
71-
jsonschema = "*"
72-
python-constraint2 = "^2.2.0"
73-
xmltodict = "*"
74-
pandas = ">=2.0.0"
75-
scikit-learn = ">=1.0.2"
76-
# Torch can be used with Kernel Tuner, but is not a dependency, should be up to the user to use it
74+
[tool.poetry]
75+
packages = [{ include = "kernel_tuner", from = "." }]
76+
include = [
77+
{ path = "test" },
78+
] # this ensures that people won't have to clone the whole repo to include notebooks, they can just do `pip install kernel_tuner[tutorial,cuda]`
7779

7880
# List of optional dependencies for user installation, e.g. `pip install kernel_tuner[cuda]`, used in the below `extras`.
7981
# Please note that this is different from the dependency groups below, e.g. `docs` and `test`, those are for development.
80-
# ATTENTION: if anything is changed here, run `poetry update`
8182
# CUDA
82-
pycuda = { version = "^2025.1", optional = true } # Attention: if pycuda is changed here, also change `session.install("pycuda")` in the Noxfile
83-
nvidia-ml-py = { version = "^12.535.108", optional = true }
84-
pynvml = { version = "^11.4.1", optional = true }
85-
# cupy-cuda11x = { version = "*", optional = true } # Note: these are completely optional dependencies as described in CONTRIBUTING.rst
83+
# cupy-cuda11x = { version = "*", optional = true } # NOTE: these are completely optional dependencies as described in CONTRIBUTING.rst
8684
# cupy-cuda12x = { version = "*", optional = true }
8785
# cuda-python = { version = "*", optional = true }
88-
# OpenCL
89-
pyopencl = { version = "*", optional = true } # Attention: if pyopencl is changed here, also change `session.install("pyopencl")` in the Noxfile
90-
# HIP
91-
hip-python = { version = "^6.3.3.540.31", source = "testpypi", optional = true } # Note: when released, switch this package to pypi and remove tool.poetry.source
92-
# Tutorial (for the notebooks used in the examples)
93-
jupyter = { version = "^1.0.0", optional = true }
94-
matplotlib = { version = "^3.5.0", optional = true }
9586

96-
[tool.poetry.extras]
97-
cuda = ["pycuda", "nvidia-ml-py", "pynvml"]
98-
opencl = ["pyopencl"]
99-
cuda_opencl = ["pycuda", "pyopencl"]
87+
[[tool.poetry.source]]
88+
name = "testpypi"
89+
url = "https://test.pypi.org/simple/"
90+
priority = "explicit"
91+
92+
[tool.poetry.dependencies]
93+
hip-python = { version = "^6.3.3.540.31", source = "testpypi", optional = true } # Note: when released, switch this package to pypi and remove tool.poetry.source and move this to [project.optional-dependencies]
94+
95+
[project.optional-dependencies]
96+
cuda = ["pycuda>=2025.1", "nvidia-ml-py>=12.535.108", "pynvml>=11.4.1"] # Attention: if pycuda is changed here, also change `session.install("pycuda")` in the Noxfile
97+
opencl = ["pyopencl"] # Attention: if pyopencl is changed here, also change `session.install("pyopencl")` in the Noxfile
98+
cuda_opencl = ["pycuda>=2024.1", "pyopencl"] # Attention: if pycuda is changed here, also change `session.install("pycuda")` in the Noxfile
10099
hip = ["hip-python"]
101-
tutorial = ["jupyter", "matplotlib", "nvidia-ml-py"]
100+
tutorial = ["jupyter>=1.0.0", "matplotlib>=3.5.0", "nvidia-ml-py>=12.535.108"]
102101

103102
# ATTENTION: if anything is changed here, run `poetry update` and `poetry export --with docs --without-hashes --format=requirements.txt --output doc/requirements.txt`
104103
# Please note that there is overlap with the `dev` group

0 commit comments

Comments
 (0)