qiskit-documentation/docs/api/qiskit/0.46/tools.mdx

134 lines
4.4 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: tools
description: API reference for qiskit.tools
in_page_toc_min_heading_level: 2
python_api_type: module
python_api_name: qiskit.tools
---
<span id="module-qiskit.tools" />
<span id="qiskit-tools-qiskit-tools" />
# Qiskit Tools
<span id="module-qiskit.tools" />
`qiskit.tools`
## Monitoring
A helper module to get IBM backend information and submitted job status.
### job\_monitor
<Function id="qiskit.tools.job_monitor" github="https://github.com/qiskit/qiskit/tree/stable/0.46/qiskit/tools/monitor/job_monitor.py" signature="qiskit.tools.job_monitor(job, interval=None, quiet=False, output=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>, line_discipline='\r')">
Monitor the status of a [`Job`](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 "(in Python v3.12)")) Time interval between status queries.
* **quiet** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.12)")) 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)
```
</Function>
### backend\_monitor
<Function id="qiskit.tools.backend_monitor" github="https://github.com/qiskit/qiskit/tree/stable/0.46/qiskit/tools/monitor/overview.py" signature="qiskit.tools.backend_monitor(backend)">
Monitor a single IBM Quantum backend.
**Parameters**
**backend** (*IBMBackend*) Backend to monitor.
**Raises**
* [**QiskitError**](exceptions#qiskit.exceptions.QiskitError "qiskit.exceptions.QiskitError") Input is not a IBM Quantum backend.
* [**MissingOptionalLibraryError**](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))
</Function>
### backend\_overview
<Function id="qiskit.tools.backend_overview" github="https://github.com/qiskit/qiskit/tree/stable/0.46/qiskit/tools/monitor/overview.py" signature="qiskit.tools.backend_overview()">
Gives overview information on all the IBM Quantum backends that are available.
**Examples**
```python
from qiskit.tools.monitor import backend_overview
backend_overview()
```
</Function>
<span id="module-qiskit.tools.events" />
<span id="events-qiskit-tools-events" />
### Events ([`qiskit.tools.events`](#module-qiskit.tools.events "qiskit.tools.events"))
A helper component for publishing and subscribing to events.
#### TextProgressBar
<Class id="qiskit.tools.events.TextProgressBar" github="https://github.com/qiskit/qiskit/tree/stable/0.46/qiskit/tools/events/progressbar.py" signature="qiskit.tools.events.TextProgressBar(output_handler=None)" modifiers="class">
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
```
</Class>