diff --git a/guppylang/engine.py b/guppylang/engine.py index c0b986b0b..4c712b83b 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": "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 new file mode 100644 index 000000000..2afabb970 --- /dev/null +++ b/tests/test_version_metadata.py @@ -0,0 +1,10 @@ +from guppylang import guppy, __version__ + +def test_metadata(): + @guppy + def foo() -> None: + pass + + hugr = foo.compile().module + assert hugr.module_root.metadata["__generator"]["name"] == "guppylang" + assert hugr.module_root.metadata["__generator"]["version"] == __version__