From 594cd40d7670d83009c333a1a67fe02cc04b7d7d Mon Sep 17 00:00:00 2001 From: Craig Roy Date: Tue, 17 Jun 2025 17:41:57 +0100 Subject: [PATCH 1/3] feat: Add guppy version metadata to hugr entrypoint --- guppylang/engine.py | 4 ++++ tests/test_version_metadata.py | 9 +++++++++ 2 files changed, 13 insertions(+) create mode 100644 tests/test_version_metadata.py diff --git a/guppylang/engine.py b/guppylang/engine.py index c0b986b0b..154f22984 100644 --- a/guppylang/engine.py +++ b/guppylang/engine.py @@ -237,6 +237,10 @@ def compile(self, id: DefId) -> ModulePointer: } for ext in all_used_extensions ] + graph.hugr.module_root.metadata["__generator"] = { + "name": "guppy", + "version": guppylang.__version__, + } return ModulePointer(Package(modules=[graph.hugr], extensions=extensions), 0) diff --git a/tests/test_version_metadata.py b/tests/test_version_metadata.py new file mode 100644 index 000000000..1fa11a1c7 --- /dev/null +++ b/tests/test_version_metadata.py @@ -0,0 +1,9 @@ +from guppylang import guppy, __version__ + +def test_metadata(): + @guppy + def foo() -> None: + pass + + hugr = foo.compile().module + assert hugr.entrypoint.metadata['guppy_version'] == __version__ From d528e1a72c652e6819dc960378240eb214736a0f Mon Sep 17 00:00:00 2001 From: Craig Roy Date: Mon, 23 Jun 2025 17:19:29 +0100 Subject: [PATCH 2/3] Update test --- tests/test_version_metadata.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/test_version_metadata.py b/tests/test_version_metadata.py index 1fa11a1c7..eb3394fbf 100644 --- a/tests/test_version_metadata.py +++ b/tests/test_version_metadata.py @@ -6,4 +6,5 @@ def foo() -> None: pass hugr = foo.compile().module - assert hugr.entrypoint.metadata['guppy_version'] == __version__ + assert hugr.module_root.metadata["__generator"]["name"] == "guppy" + assert hugr.module_root.metadata["__generator"]["version"] == __version__ From 5198302bd502f28c0387d4103d90fac7554cedda Mon Sep 17 00:00:00 2001 From: Craig Roy Date: Tue, 24 Jun 2025 09:34:37 +0100 Subject: [PATCH 3/3] guppy -> guppylang --- guppylang/engine.py | 2 +- tests/test_version_metadata.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/guppylang/engine.py b/guppylang/engine.py index 154f22984..4c712b83b 100644 --- a/guppylang/engine.py +++ b/guppylang/engine.py @@ -238,7 +238,7 @@ def compile(self, id: DefId) -> ModulePointer: for ext in all_used_extensions ] graph.hugr.module_root.metadata["__generator"] = { - "name": "guppy", + "name": "guppylang", "version": guppylang.__version__, } return ModulePointer(Package(modules=[graph.hugr], extensions=extensions), 0) diff --git a/tests/test_version_metadata.py b/tests/test_version_metadata.py index eb3394fbf..2afabb970 100644 --- a/tests/test_version_metadata.py +++ b/tests/test_version_metadata.py @@ -6,5 +6,5 @@ def foo() -> None: pass hugr = foo.compile().module - assert hugr.module_root.metadata["__generator"]["name"] == "guppy" + assert hugr.module_root.metadata["__generator"]["name"] == "guppylang" assert hugr.module_root.metadata["__generator"]["version"] == __version__