From e70daec7eb69a368f35f67e51fbd892cfbbbaa5b Mon Sep 17 00:00:00 2001 From: andrijapau Date: Mon, 12 Jan 2026 14:35:37 -0500 Subject: [PATCH 1/4] deprecate transform program property --- .../catalyst/python_interface/pass_api/compiler_transform.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/catalyst/python_interface/pass_api/compiler_transform.py b/frontend/catalyst/python_interface/pass_api/compiler_transform.py index 82cca9d288..c258b644a7 100644 --- a/frontend/catalyst/python_interface/pass_api/compiler_transform.py +++ b/frontend/catalyst/python_interface/pass_api/compiler_transform.py @@ -13,13 +13,13 @@ # limitations under the License. """Core API for registering xDSL transforms for use with PennyLane and Catalyst.""" -from pennylane.transforms.core.transform_dispatcher import TransformDispatcher +from pennylane.transforms.core import Transform from xdsl.passes import ModulePass from .apply_transform_sequence import register_pass -class PassDispatcher(TransformDispatcher): +class PassDispatcher(Transform): """Wrapper class for applying passes to QJIT-ed workflows.""" module_pass: ModulePass From c0bb5df1f1df0fdbe545321a5d8bdb12b0fd991e Mon Sep 17 00:00:00 2001 From: andrijapau Date: Mon, 12 Jan 2026 14:37:38 -0500 Subject: [PATCH 2/4] caught more --- frontend/catalyst/jax_tracer.py | 2 +- frontend/catalyst/qfunc.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/catalyst/jax_tracer.py b/frontend/catalyst/jax_tracer.py index d915b32b5f..9a5dc39cf2 100644 --- a/frontend/catalyst/jax_tracer.py +++ b/frontend/catalyst/jax_tracer.py @@ -1527,7 +1527,7 @@ def is_leaf(obj): else: device_program = qml.CompilePipeline() - qnode_program = qnode.transform_program if qnode else qml.CompilePipeline() + qnode_program = qnode.compile_pipeline if qnode else qml.CompilePipeline() tapes, post_processing, tracing_mode = apply_transforms( qnode_program, diff --git a/frontend/catalyst/qfunc.py b/frontend/catalyst/qfunc.py index 5ad1354cf0..36a6f58345 100644 --- a/frontend/catalyst/qfunc.py +++ b/frontend/catalyst/qfunc.py @@ -285,14 +285,14 @@ def __call__(self, *args, **kwargs): assert isinstance(self, qml.QNode) - new_transform_program, new_pipeline = _extract_passes(self.transform_program) + new_compile_pipeline, new_pipeline = _extract_passes(self.compile_pipeline) # Update the qnode with peephole pipeline old_pipeline = kwargs.pop("pass_pipeline", None) processed_old_pipeline = tuple(dictionary_to_list_of_passes(old_pipeline)) pass_pipeline = processed_old_pipeline + new_pipeline new_qnode = copy(self) # pylint: disable=attribute-defined-outside-init, protected-access - new_qnode._transform_program = new_transform_program + new_qnode._compile_pipeline = new_compile_pipeline # Mid-circuit measurement configuration/execution fn_result = configure_mcm_and_try_one_shot(new_qnode, args, kwargs, pass_pipeline) From a46e50831dd25c9efc274e9d7a309cb42f8399ec Mon Sep 17 00:00:00 2001 From: andrijapau Date: Fri, 16 Jan 2026 09:46:12 -0500 Subject: [PATCH 3/4] catch remaining transform_program --- frontend/catalyst/jax_extras/tracing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/catalyst/jax_extras/tracing.py b/frontend/catalyst/jax_extras/tracing.py index 969b7edb4c..370a133caa 100644 --- a/frontend/catalyst/jax_extras/tracing.py +++ b/frontend/catalyst/jax_extras/tracing.py @@ -1004,7 +1004,7 @@ def uses_transform(qnode, transform_name): bool: True if `transform_name` is detected (and is only one if only_one=True), False otherwise """ - transform_program = getattr(qnode, "transform_program", []) + transform_program = getattr(qnode, "compile_pipeline", []) transform_funcs = [transform_container.transform for transform_container in transform_program] return any(transform_name in func.__name__ for func in transform_funcs) From a6d58ecbafc8906b9f0c6d4e2e3da10a23a5fe4b Mon Sep 17 00:00:00 2001 From: andrijapau Date: Mon, 19 Jan 2026 11:20:37 -0500 Subject: [PATCH 4/4] updating internal naming to be consistent --- frontend/catalyst/jax_extras/tracing.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/catalyst/jax_extras/tracing.py b/frontend/catalyst/jax_extras/tracing.py index 370a133caa..d658229952 100644 --- a/frontend/catalyst/jax_extras/tracing.py +++ b/frontend/catalyst/jax_extras/tracing.py @@ -1004,7 +1004,7 @@ def uses_transform(qnode, transform_name): bool: True if `transform_name` is detected (and is only one if only_one=True), False otherwise """ - transform_program = getattr(qnode, "compile_pipeline", []) - transform_funcs = [transform_container.transform for transform_container in transform_program] + compile_pipeline = getattr(qnode, "compile_pipeline", []) + transform_funcs = [bound_transform.transform for bound_transform in compile_pipeline] return any(transform_name in func.__name__ for func in transform_funcs)