Skip to content
This repository has been archived by the owner on Jul 24, 2024. It is now read-only.
/ qiskit-ibm-provider Public archive

Qiskit Provider for accessing the IBM Quantum Services: Online Systems and Simulators

License

Notifications You must be signed in to change notification settings

Qiskit/qiskit-ibm-provider

Qiskit IBM Quantum Provider (NOW DEPRECATED)

License CI Code style: black Coverage Status


PLEASE NOTE: As of version 0.11.0, released in April 2024, qiskit-ibm-provider has been deprecated with its support ending and eventual archival being no sooner than 3 months from that date. The function provided by qiskit-ibm-provider has been moved to qiskit-ibm-runtime. Please see the Runtime migration Guide for more details. We encourage you to migrate over at your earliest convenience.


Qiskit is an open-source SDK for working with quantum computers at the level of circuits, algorithms, and application modules.

This project contains a provider that allows accessing the IBM Quantum systems and simulators.

Migrating from qiskit-ibmq-provider

If you are familiar with the qiskit-ibmq-provider repository, check out the migration guide.

Installation

You can install the provider using pip:

pip install qiskit-ibm-provider

Provider Setup

  1. Create an IBM Quantum account or log in to your existing account by visiting the IBM Quantum login page.

  2. Copy (and/or optionally regenerate) your API token from your IBM Quantum account page.

  3. Take your token from step 2, here called MY_API_TOKEN, and save it by calling IBMProvider.save_account():

    from qiskit_ibm_provider import IBMProvider
    IBMProvider.save_account(token='MY_API_TOKEN')

    The command above stores your credentials locally in a configuration file called qiskit-ibm.json. By default, this file is located in $HOME/.qiskit, where $HOME is your home directory. Once saved you can then instantiate the provider like below and access the backends:

    from qiskit_ibm_provider import IBMProvider
    provider = IBMProvider()
    
    # display current supported backends
    print(provider.backends())
    
    # get IBM's simulator backend
    simulator_backend = provider.get_backend('ibmq_qasm_simulator')

Load Account from Environment Variables

Alternatively, the IBM Provider can discover credentials from environment variables:

export QISKIT_IBM_TOKEN='MY_API_TOKEN'

Then instantiate the provider without any arguments and access the backends:

from qiskit_ibm_provider import IBMProvider
provider = IBMProvider()

Enable Account for Current Session

As another alternative, you can also enable an account just for the current session by instantiating the provider with the token.

from qiskit_ibm_provider import IBMProvider
provider = IBMProvider(token='MY_API_TOKEN')

Next Steps

Now you're set up and ready to check out some of the tutorials.

Contribution Guidelines

If you'd like to contribute to qiskit-ibm-provider, please take a look at our contribution guidelines. This project adheres to Qiskit's code of conduct. By participating, you are expect to uphold to this code.

We use GitHub issues for tracking requests and bugs. Please use our slack for discussion and simple questions. To join our Slack community, use the invite link here.

Authors and Citation

The Qiskit IBM Quantum Provider is the work of many people who contribute to the project at different levels. If you use Qiskit, please cite as per the included BibTeX file.

License

Apache License 2.0.