---
title: PassManagerStagePlugin (v1.1)
description: API reference for qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePlugin in qiskit v1.1
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/1.1/qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePlugin
---

# PassManagerStagePlugin

*class* `qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePlugin`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.1/qiskit/transpiler/preset_passmanagers/plugin.py#L182-L207)

Bases: [`ABC`](https://docs.python.org/3/library/abc.html#abc.ABC)

A `PassManagerStagePlugin` is a plugin interface object for using custom stages in [`transpile()`](/docs/api/qiskit/1.1/compiler#qiskit.compiler.transpile "qiskit.compiler.transpile").

A `PassManagerStagePlugin` object can be added to an external package and integrated into the [`transpile()`](/docs/api/qiskit/1.1/compiler#qiskit.compiler.transpile "qiskit.compiler.transpile") function with an entry point. This will enable users to use the output of [`pass_manager()`](#qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePlugin.pass_manager "qiskit.transpiler.preset_passmanagers.plugin.PassManagerStagePlugin.pass_manager") to implement a stage in the compilation process.

## Methods

### pass\_manager

*abstract* `pass_manager(pass_manager_config, optimization_level=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.1/qiskit/transpiler/preset_passmanagers/plugin.py#L192-L207)

This method is designed to return a [`PassManager`](/docs/api/qiskit/1.1/qiskit.transpiler.PassManager "qiskit.transpiler.PassManager") for the stage this implements

**Parameters**

- **pass\_manager\_config** ([*PassManagerConfig*](/docs/api/qiskit/1.1/qiskit.transpiler.PassManagerConfig "qiskit.transpiler.passmanager_config.PassManagerConfig")) – A configuration object that defines all the target device specifications and any user specified options to [`transpile()`](/docs/api/qiskit/1.1/compiler#qiskit.compiler.transpile "qiskit.compiler.transpile") or [`generate_preset_pass_manager()`](/docs/api/qiskit/1.1/transpiler_preset#qiskit.transpiler.preset_passmanagers.generate_preset_pass_manager "qiskit.transpiler.preset_passmanagers.generate_preset_pass_manager")
- **optimization\_level** ([*int*](https://docs.python.org/3/library/functions.html#int) *| None*) – The optimization level of the transpilation, if set this should be used to set values for any tunable parameters to trade off runtime for potential optimization. Valid values should be `0`, `1`, `2`, or `3` and the higher the number the more optimization is expected.

**Return type**

[*PassManager*](/docs/api/qiskit/1.1/qiskit.transpiler.PassManager "qiskit.transpiler.passmanager.PassManager")
