{"id":29240098,"url":"https://github.com/qiskit/qiskit-cpp","last_synced_at":"2026-04-07T04:31:18.139Z","repository":{"id":301685939,"uuid":"928578527","full_name":"Qiskit/qiskit-cpp","owner":"Qiskit","description":"Qiskit C++ is an opensource interface to quantum centric supercomputing, compatible interface to Qiskit in C++","archived":false,"fork":false,"pushed_at":"2026-03-09T04:37:45.000Z","size":707,"stargazers_count":31,"open_issues_count":4,"forks_count":13,"subscribers_count":11,"default_branch":"main","last_synced_at":"2026-03-09T09:33:58.079Z","etag":null,"topics":["cpp","qiskit","quantum-computing","supercomputing"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Qiskit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-06T21:33:29.000Z","updated_at":"2026-03-09T04:37:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"f875e28a-317b-4d30-b00c-893357f24d4d","html_url":"https://github.com/Qiskit/qiskit-cpp","commit_stats":null,"previous_names":["qiskit/qiskit-cpp"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Qiskit/qiskit-cpp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qiskit%2Fqiskit-cpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qiskit%2Fqiskit-cpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qiskit%2Fqiskit-cpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qiskit%2Fqiskit-cpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Qiskit","download_url":"https://codeload.github.com/Qiskit/qiskit-cpp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qiskit%2Fqiskit-cpp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31500397,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","qiskit","quantum-computing","supercomputing"],"created_at":"2025-07-03T19:09:58.168Z","updated_at":"2026-04-07T04:31:18.127Z","avatar_url":"https://github.com/Qiskit.png","language":"C++","readme":"\u003e [!WARNING]\n\u003e This code is experimental and its API may change without prior warning. Use it at your own risk.\n\n# Qiskit C++\n\nQiskit C++ provides a modern C++ (version C++ 11 or later) interface of Qiskit for circuit building, (transpilation and returning samples of quantum circuit outputs ... to be added in the future release), as same as Qiskit Python interfaces.\nThis interface is based on Qiskit C-API introduced in Qiskit 2.1.\n\n## Supported OS\n\n* Linux\n  * AlmaLinux 9\n  * Amazon Linux 2023\n  * RedHat Enterprise Linux 8\n  * RedHat Enterprise Linux 9\n  * SuSE 15\n  * Ubuntu 22.04\n  * Ubuntu 24.04\n\n* macOS\n  * Sequoia 15.1 or above\n\n* Windows\n\n\n## Jump To:\n\n* [API Docs](https://quantum.cloud.ibm.com/docs/en/api/qiskit-c)\n* [Getting Started](#getting-started)\n* [Contributing](#contributing)\n* [License](#license)\n\n## Getting Started\n\n### Preparing Qiskit and Qiskit C extension\n\nBefore building Qiskit C++, install Qiskit 2.2 or later and build Qiskit C extension library https://github.com/Qiskit/qiskit/tree/main/crates/cext\n\n```shell-session\n$ git clone git@github.com:Qiskit/qiskit.git\n$ cd qiskit\n$ make c\n```\n\n### Preparing Interface API to Quantum hardware\n\nQiskit C++ requires one of the following APIs to access IBM Quantum Platform to run the quantum circuits.\n\n- qiskit-ibm-runtime C (https://github.com/Qiskit/qiskit-ibm-runtime-c)\n- QRMI (https://github.com/qiskit-community/qrmi)\n- SQC 0.10.0 (https://github.com/jhpc-quantum/SQC)\n\nBefore building your application with Qiskit C++, build one of these APIs.\n\n\nIf you want to use QRMI, build as following.\n\n```shell-session\n$ git clone git@github.com:qiskit-community/qrmi.git\n$ cd qrmi\n$ cargo build --release\n```\n\nIf you want to use qiskit-ibm-runtime C, build as following.\n(Note, qiskit-ibm-runtime C is an early prototype so build method may be changed)\n\n```shell-session\n$ git clone git@github.com:Qiskit/qiskit-ibm-runtime-c\n$ cd qiskit-ibm-runtime-c\n$ mkdir build\n$ cd build\n$ cmake ..\n$ make\n```\n\nIf you want to use [SQC C API](https://github.com/jhpc-quantum/SQC), follow [the SQC documentation](https://github.com/jhpc-quantum/documents/blob/main/SQC_JHPC_Quantum_user_guide.md).\nBasically, SQC is pre-built and available in the environment, and thus you only need to set up authentication credentials (JWT token) and environment variables based on the provided scripts.\n\n### Building Qiskit C++\n\nQiskit C++ only has C++ header files. There is nothing to do to build the SDK.\n\n### Running examples\n\nExamples are available in [this directory](./samples).\n\n#### Building examples\n\nTo build application using Qiskit C++, add path to Qiskit C-API, include path to `qiskit.h` (installed in `dist/c/include`) and library `libqiskit.so` (installed in `dist/c/lib`) or `qiskit_cext.dll.lib` (generated in `target/release`) for Windows.\nSee ./samples/CMakeLists.txt for example to make test program.\n\n```shell-session\n$ cd samples\n$ mkdir build\n$ cd build\n$ cmake -DQISKIT_ROOT=Path_to_qiskit ..\n$ make\n```\n\nIf you want to build sampler or transpiler example, you will need one of qiskit-ibm-runtime C or QRMI or SQC.\n\nThen example can be built by setting `QISKIT_IBM_RUNTIME_C_ROOT` or `QRMI_ROOT` or `SQC_ROOT` to cmake.\n\n```shell-session\n$ cd samples\n$ mkdir build\n$ cd build\n$ cmake -DQISKIT_ROOT=Path_to_qiskit -DQISKIT_IBM_RUNTIME_C_ROOT=\"path to qiskit-ibm-runtime C\" or -DQRMI_ROOT=\"path to QRMI\" or -DSQC_ROOT=\"path to SQC\" ..\n$ make\n```\n\nTo run sampler example, set your account information in `$HOME/.qiskit/qiskit-ibm.json` (see https://github.com/Qiskit/qiskit-ibm-runtime?tab=readme-ov-file#save-your-account-on-disk) or setting following environment variables to access Quantum hardware.\n\n```\nQISKIT_IBM_TOKEN=\u003cyour API key\u003e\nQISKIT_IBM_INSTANCE=\u003cyour CRN\u003e\n```\n\nTo run the sample example with SQC, you also need to set the library options to the environment variable `SQC_LIBS`, which is automatically set by a provided script (see [here](https://github.com/jhpc-quantum/documents/blob/main/SQC_JHPC_Quantum_user_guide.md)), before running cmake. In SQC 0.10.0, `backend_setup.sh` configures `SQC_LIBS` as follows:\n\n```\nSQC_LIBS=\"-lsqc_api -lsqc_rpc ... (omitted) ... -pthread\"\n```\n\n### Tutorials\n\nSee [tutorial](tutorials/readme.md) for more examples.\n\n### Making your own interface to Quantum hardware\n\nQiskit C++ offers an abstract interface to access Quantum hardware. You can make your own interface to the hardware\nby overriding `providers::Job` and `providers::BackendV2` and make your own service provider to make backend object like\n`service::QiskitRuntimeService` class.\nRefer to `./src/providers/qrmi_backend.hpp` and `./src/providers/qrmi_job.hpp` for details.\n\n## Contributing\n\nRegardless if you are part of the core team or an external contributor, welcome and thank you for contributing to Qiskit C++\n\n### Running unit test\n\nContributor must add test cases under ./test directory if you have added new features to Qiskit C++.\nAlso all the test cases running on the github repository should be passed.\n\n### Checking API document\n\nContributor can generate API document from source.\n```shell-session\n$ doxygen Doxyfile\n```\nAPI document will be created under `html` directory.\n\n\n## License\n\n[Apache License 2.0](https://github.com/Qiskit/qiskit-cpp/blob/main/LICENSE.txt)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqiskit%2Fqiskit-cpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqiskit%2Fqiskit-cpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqiskit%2Fqiskit-cpp/lists"}