Skip to content

qiskit-community/qiskit-ibm-experiment

Repository files navigation

Qiskit IBM Experiment service

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

This project contains a service that allows accessing the IBM Quantum experiment database.

Installation

The provider can be installed via pip:

pip install qiskit-ibm-experiment

Provider Setup

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

  2. Ensure you have access to the experiment database.

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

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

    from qiskit_ibm_experiment import IBMExperimentService
    IBMExperimentService.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 experiment service without using the API token:

    from qiskit_ibm_experiment import IBMExperimentService
    service = IBMExperimentService()
    
    # display current supported backends
    print(service.backends())
    
    # get the latest experiments in the DB
    experiment_list = service.experiments()

    You can also save specific configuration under a given name:

    from qiskit_ibm_experiment import IBMExperimentService
    IBMExperimentService.save_account(name='my_config', token='MY_API_TOKEN')

    And explicitly load it:

    from qiskit_ibm_experiment import IBMExperimentService
    service = IBMExperimentService(name='my_config')
    
    # display current supported backends
    print(service.backends())

Load Account from Environment Variables

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

export QISKIT_IBM_EXPERIMENT_TOKEN='MY_API_TOKEN'
export QISKIT_IBM_EXPERIMENT_URL='https://auth.quantum-computing.ibm.com/api'

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

from qiskit_ibm_experiment import IBMExperimentService
service = IBMExperimentService()

Environment variable take precedence over the default account saved to disk via save_account, if one exists; but if the name parameter is given, the environment variables are ignored.

Enable Account for Current Session

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

from qiskit_ibm_experiment import IBMExperimentService
service = IBMExperimentService(token='MY_API_TOKEN')

Contribution Guidelines

If you'd like to contribute to IBM Quantum Experiment Service, 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.

Next Steps

Now you're set up and ready to check out some of the other examples from our Qiskit Tutorial repository.

Authors and Citation

The Qiskit IBM Quantum Experiment Service 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.