Skip to main content

The SDK in the Tergite software stack for connecting to the Swedish quantum computer

Project description

Tergite

PyPI version license CI PyPI pyversions

The SDK in the Tergite software stack for connecting to the Swedish quantum computer.

It includes:

This project is developed by a core group of collaborators. Chalmers Next Labs AB (CNL) takes on the role of managing and maintaining this project.

Version Control

The tergite stack is developed on a separate version control system and mirrored on Github. If you are reading this on GitHub, then you are looking at a mirror.

Installation

Install using pip

pip install tergite

Dependencies

Provider Setup

  • Ensure you have Python +3.8 installed.

  • Create an account with QAL 9000 if you haven't already. (Or you can have your own tergite Frontend running)

  • With the credentials received from Tergite, create and save a provider account by calling Tergite.use_provider_account(account, save=True).

from tergite.qiskit.providers import Tergite
from tergite.qiskit.providers.provider_account import ProviderAccount

TERGITE_API_URL="https://api.qal9000.se"  # or the URL to your own tergite MSS

account = ProviderAccount(
      service_name="MY_SERVICE_NAME", url="TERGITE_API_URL", token="MY_API_TOKEN"
)
provider = Tergite.use_provider_account(account, save=True)

The code above stores your credentials in a configuration file called tergiterc, located in $HOME/.qiskit folder, $HOME being your home directory.

Once saved, you can retrieve this particular account using the SERVICE_NAME from anywhere in your code. From the provider, you can retrieve any backend you wish by name.

provider = Tergite.get_provider(service_name="MY_SERVICE_NAME")

# display list of backends
print(provider.backends())

# access the 'Loke' backend
backend = provider.get_backend("Loke")

Create a Throw-away Provider Account

  • Alternatively, you can create a provider account that won't be saved. This is useful in things like automated tests. Just call the Tergite.use_provider_account(account) without the save option.
# the account from before
provider = Tergite.use_provider_account(account)

Examples and demos

This project has a long history with contributions of many different partners. All files in the archive folder are scripts from live demonstrations, which show the historical progression of the project. Since research in quantum computing is moving fast, these files are meant to inspire and might not be functional with the source code of this library.

To find out how to use the library, please take a look into the notebooks and scripts inside the examples folder.

ToDo

  • Add docs and doc generation

Contribution Guidelines

If you would like to contribute to tergite, please have a look at our contribution guidelines

Authors

This project is a work of many contributors.

Special credit goes to the authors of this project as seen in the CREDITS file.

ChangeLog

To view the changelog for each version, have a look at the CHANGELOG.md file.

License

Apache 2.0 License

Acknowledgements

This project was sponsored by:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tergite-2024.9.1.tar.gz (21.9 kB view hashes)

Uploaded Source

Built Distribution

tergite-2024.9.1-py3-none-any.whl (27.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page