---
title: tools (v0.46)
description: API reference for qiskit.tools in qiskit v0.46
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/0.46/tools
---

# Qiskit Tools

`qiskit.tools`

## Monitoring

A helper module to get IBM backend information and submitted job status.

### job\_monitor

`qiskit.tools.job_monitor(job, interval=None, quiet=False, output=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>, line_discipline='\r')`

[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.46/qiskit/tools/monitor/job_monitor.py)

Monitor the status of a [`Job`](/docs/api/qiskit/0.46/qiskit.providers.Job "qiskit.providers.job.Job") instance.

**Parameters**

- **job** (*BaseJob*) – Job to monitor.
- **interval** ([*int*](https://docs.python.org/3/library/functions.html#int)) – Time interval between status queries.
- **quiet** ([*bool*](https://docs.python.org/3/library/functions.html#bool)) – If True, do not print status messages.
- **output** (*file*) – The file like object to write status messages to.
- **default** (*By*) –
- **sys.stdout.** (*this is*) –
- **line\_discipline** (*string*) – character emitted at start of a line of job monitor output,
- **r.** (*This defaults to*) –

**Examples**

```python
from qiskit import BasicAer, transpile
from qiskit.circuit import QuantumCircuit
from qiskit.tools.monitor import job_monitor
sim_backend = BasicAer.get_backend("qasm_simulator")
qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
qc.measure_all()
tqc = transpile(qc, sim_backend)
job_sim = sim_backend.run(tqc)
job_monitor(job_sim)
```

### backend\_monitor

`qiskit.tools.backend_monitor(backend)`

[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.46/qiskit/tools/monitor/overview.py)

Monitor a single IBM Quantum backend.

**Parameters**

**backend** (*IBMBackend*) – Backend to monitor.

**Raises**

- [**QiskitError**](/docs/api/qiskit/0.46/exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") – Input is not a IBM Quantum backend.
- [**MissingOptionalLibraryError**](/docs/api/qiskit/0.46/exceptions#qiskit.exceptions.MissingOptionalLibraryError "qiskit.exceptions.MissingOptionalLibraryError") – If qiskit-ibm-provider is not installed

Examples: .. code-block:: python

> from qiskit\_ibm\_provider import IBMProvider from qiskit.tools.monitor import backend\_monitor provider = IBMProvider() backend\_monitor(provider.get\_backend(‘ibm\_sherbrooke’))

### backend\_overview

`qiskit.tools.backend_overview()`

[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.46/qiskit/tools/monitor/overview.py)

Gives overview information on all the IBM Quantum backends that are available.

**Examples**

```python
from qiskit.tools.monitor import backend_overview
backend_overview()
```

### Events ([`qiskit.tools.events`](#module-qiskit.tools.events "qiskit.tools.events"))

A helper component for publishing and subscribing to events.

#### TextProgressBar

*class* `qiskit.tools.events.TextProgressBar(output_handler=None)`

[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.46/qiskit/tools/events/progressbar.py)

A simple text-based progress bar.

**output\_handlerthe handler the progress bar should be written to, default**

is sys.stdout, another option is sys.stderr

**Examples**

The progress bar can be used to track the progress of a parallel\_map.

```python
import numpy as np
import qiskit.tools.jupyter
from qiskit.tools.parallel import parallel_map
from qiskit.tools.events import TextProgressBar

TextProgressBar()
%qiskit_progress_bar -t text
parallel_map(np.sin, np.linspace(0,10,100));
```

And it can also be used individually.

```python
from qiskit.tools.events import TextProgressBar

iterations = 100
t = TextProgressBar()
t.start(iterations=iterations)
for i in range(iterations):
    # step i of heavy calculation ...
    t.update(i + 1)  # update progress bar
```
