Skip to content

Commit 1b404a2

Browse files
committed
add uv for package management
Signed-off-by: Jack Luar <[email protected]>
1 parent 12da891 commit 1b404a2

File tree

6 files changed

+5012
-22
lines changed

6 files changed

+5012
-22
lines changed

docs/user/InstructionsForAutoTuner.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,11 @@ python3 ./tools/AutoTuner/test/smoke_test_tune.py
232232
python3 ./tools/AutoTuner/test/smoke_test_sample_iteration.py
233233
```
234234

235+
## Developer reference
236+
237+
1. The [`uv`](https://docs.astral.sh/uv) package manager is used for handling different package requirements in AutoTuner.
238+
Hence, it is not a strict requirement to set it up for AutoTuner usage. To update requirements, run: `make reqs`.
239+
235240
## Citation
236241

237242
Please cite the following paper.

tools/AutoTuner/Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
.PHONY: reqs
2+
reqs:
3+
@rm -f requirements.txt
4+
@rm -f requirements-test.txt
5+
@uv pip compile --output-file=requirements.txt pyproject.toml --upgrade
6+
@uv pip compile --output-file=requirements-dev.txt pyproject.toml --extra dev --upgrade
7+
@uv sync --all-extras --inexact

tools/AutoTuner/pyproject.toml

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,37 @@
11
[project]
22
name = "autotuner"
33
version = "0.0.1"
4+
requires-python = ">=3.8, <=3.10"
45
description = "This project provides a set of tools for tuning OpenROAD-flow-scripts parameter without user interference."
56
classifiers = [
67
"Programming Language :: Python :: 3",
78
"License :: OSI Approved :: BSD 3-Clause",
89
]
910
readme = "README.md"
10-
requires-python = ">= 3.8"
11-
dynamic = ["dependencies", "optional-dependencies"]
11+
dependencies = [
12+
"ray[default,tune] ~= 2.10",
13+
"ax-platform >= 0.3.3, <= 0.3.7",
14+
"hyperopt ~= 0.2.7",
15+
"optuna ~= 3.6.0",
16+
"pandas >= 2.0, <= 2.2.1",
17+
"bayesian-optimization ~= 1.4.0",
18+
"colorama ~= 0.4.6",
19+
"tensorboard >= 2.14.0, <= 2.16.2",
20+
"protobuf ~= 3.20.3",
21+
"SQLAlchemy ~= 1.4.17",
22+
"urllib3 <= 1.26.15",
23+
"matplotlib ~= 3.7.0",
24+
"pyyaml ~= 6.0.1",
25+
]
26+
27+
[project.optional-dependencies]
28+
dev = [
29+
"black ~= 24.1.0",
30+
]
1231

1332
[project.scripts]
1433
openroad_autotuner = "autotuner.distributed:main"
1534

16-
[tool.setuptools.dynamic]
17-
dependencies = { file = ["requirements.txt"] }
18-
optional-dependencies.dev = { file = ["requirements-dev.txt"] }
19-
20-
[build-system]
21-
requires = ["setuptools", "setuptools_scm"]
22-
build-backend = "setuptools.build_meta"
23-
2435
[tool.setuptools.packages.find]
2536
where = ["src/"]
2637
include = [

0 commit comments

Comments
 (0)