From 7e70813271451ec146e3463f8327708a0dce8301 Mon Sep 17 00:00:00 2001 From: Lorenzo Leone Date: Fri, 13 Feb 2026 14:42:42 +0100 Subject: [PATCH 1/3] Add pyproject TOML --- Makefile | 3 +-- pyproject.toml | 42 ++++++++++++++++++++++++++++++++++++++++++ requirements.txt | 29 ----------------------------- 3 files changed, 43 insertions(+), 31 deletions(-) create mode 100644 pyproject.toml delete mode 100644 requirements.txt diff --git a/Makefile b/Makefile index a18dbf3b..7ef875ac 100644 --- a/Makefile +++ b/Makefile @@ -221,8 +221,7 @@ python-venv: .venv .venv: $(BASE_PYTHON) -m venv $@ . $@/bin/activate && \ - python -m pip install --upgrade pip setuptools && \ - python -m pip install --cache-dir $(PIP_CACHE_DIR) -r requirements.txt && \ + python -m pip install --cache-dir $(PIP_CACHE_DIR) . && \ python -m pip install --cache-dir $(PIP_CACHE_DIR) $(shell $(BENDER) path floo_noc) --no-deps && \ python -m pip install --cache-dir $(PIP_CACHE_DIR) "$(shell $(BENDER) path snitch_cluster)[kernels]" diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..9452d8de --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,42 @@ +[build-system] +requires = ["setuptools<81", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "picobello" +version = "0.0.0" +description = "whatever it means" +readme = "README.md" +requires-python = ">=3.11" +authors = [{ name = "Tim Fischer", email = "fischeti@iis.ee.ethz.ch" }] +dependencies = [ + # FlooNoC requirements + "click", + "mako", + "matplotlib", + "networkx", + "pydantic", + "ruamel.yaml", + + # Snitch cluster requirements + "json5", + "jsonref", + "jsonschema", + + # Cheshire requirements + "pyyaml", + "flatdict", + "tabulate", + + # Miscellaneous requirements + "hjson", + + # For peakrdl + "peakrdl", + "peakrdl-rawheader @ git+https://github.com/colluca/PeakRDL-rawheader.git@7b8dbc9ad5854dc1cdaf36d4ea024c29ffb00a4c", + "peakrdl-markdown", +] + +[tool.setuptools] +packages = [] +include-package-data = false diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 78565385..00000000 --- a/requirements.txt +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright 2025 ETH Zurich and University of Bologna. -# Solderpad Hardware License, Version 0.51, see LICENSE for details. -# SPDX-License-Identifier: SHL-0.51 - -# FlooNoC requirements -click -mako -matplotlib -networkx -pydantic -ruamel.yaml - -# Snitch cluster requirements -json5 -jsonref -jsonschema - -# Cheshire requirements -pyyaml -flatdict -tabulate - -# Miscellaneous requirements -hjson # for reggen - -# For peakrdl -peakrdl -peakrdl-rawheader @ git+https://github.com/colluca/PeakRDL-rawheader.git@7b8dbc9ad5854dc1cdaf36d4ea024c29ffb00a4c -peakrdl-markdown From 07443e0f2a506e9afcab6addec1d655ef3b0b3a9 Mon Sep 17 00:00:00 2001 From: Lorenzo Leone Date: Fri, 13 Feb 2026 14:49:23 +0100 Subject: [PATCH 2/3] Adapt CI --- .gitlab/common.yml | 2 +- pyproject.toml | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitlab/common.yml b/.gitlab/common.yml index 1cc395b4..c22a2b96 100644 --- a/.gitlab/common.yml +++ b/.gitlab/common.yml @@ -13,7 +13,7 @@ variables: key: files: - Bender.lock - - requirements.txt + - pyproject.toml paths: - .bender - .cache/pip diff --git a/pyproject.toml b/pyproject.toml index 9452d8de..fd4d68c1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,7 @@ +# Copyright 2023 ETH Zurich and University of Bologna. +# Licensed under the Apache License, Version 2.0, see LICENSE for details. +# SPDX-License-Identifier: Apache-2.0 + [build-system] requires = ["setuptools<81", "wheel"] build-backend = "setuptools.build_meta" From 96cd2877e6be9b62ee0d3f911d5c2f2b5f7b68ea Mon Sep 17 00:00:00 2001 From: Lorenzo Leone Date: Fri, 13 Feb 2026 16:05:20 +0100 Subject: [PATCH 3/3] ci: Add env before compiling --- .gitlab-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9a98fdb8..251592b3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -57,6 +57,9 @@ chs-sw: vsim-compile: stage: build + extends: + - .cache-deps + - .init-env needs: - generate-rtl variables: