{"id":37744847,"url":"https://github.com/quantastica/qiskit-toaster","last_synced_at":"2026-01-16T14:14:26.925Z","repository":{"id":45191817,"uuid":"228934202","full_name":"quantastica/qiskit-toaster","owner":"quantastica","description":"Qubit Toaster backend for Qiskit","archived":false,"fork":false,"pushed_at":"2022-01-03T23:28:42.000Z","size":118,"stargazers_count":7,"open_issues_count":1,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-01-06T21:37:08.015Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/quantastica.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-18T22:49:02.000Z","updated_at":"2022-01-03T23:28:45.000Z","dependencies_parsed_at":"2022-08-28T14:11:32.042Z","dependency_job_id":null,"html_url":"https://github.com/quantastica/qiskit-toaster","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/quantastica/qiskit-toaster","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quantastica%2Fqiskit-toaster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quantastica%2Fqiskit-toaster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quantastica%2Fqiskit-toaster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quantastica%2Fqiskit-toaster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/quantastica","download_url":"https://codeload.github.com/quantastica/qiskit-toaster/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quantastica%2Fqiskit-toaster/sbom","scorecard":{"id":755090,"data":{"date":"2025-08-11","repo":{"name":"github.com/quantastica/qiskit-toaster","commit":"7143ef47b06403c364ec496d4399bbedc6e33131"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.7,"checks":[{"name":"Code-Review","score":3,"reason":"Found 4/11 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/linux.yml:1","Warn: no topLevel permission defined: .github/workflows/mac.yml:1","Warn: no topLevel permission defined: .github/workflows/win.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/quantastica/qiskit-toaster/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/quantastica/qiskit-toaster/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/quantastica/qiskit-toaster/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/mac.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/quantastica/qiskit-toaster/mac.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/mac.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/quantastica/qiskit-toaster/mac.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/mac.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/quantastica/qiskit-toaster/mac.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/quantastica/qiskit-toaster/win.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/quantastica/qiskit-toaster/win.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/win.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/quantastica/qiskit-toaster/win.yml/master?enable=pin","Warn: downloadThenRun not pinned by hash: .github/workflows/linux.yml:22","Warn: pipCommand not pinned by hash: .github/workflows/linux.yml:30","Warn: pipCommand not pinned by hash: .github/workflows/linux.yml:40","Warn: downloadThenRun not pinned by hash: .github/workflows/mac.yml:22","Warn: pipCommand not pinned by hash: .github/workflows/mac.yml:30","Warn: pipCommand not pinned by hash: .github/workflows/mac.yml:40","Warn: downloadThenRun not pinned by hash: .github/workflows/win.yml:23","Info:   0 out of   9 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 pipCommand dependencies pinned","Info:   0 out of   3 downloadThenRun dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 23 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T21:26:21.838Z","repository_id":45191817,"created_at":"2025-08-22T21:26:21.838Z","updated_at":"2025-08-22T21:26:21.838Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28479282,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: 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":[],"created_at":"2026-01-16T14:14:26.269Z","updated_at":"2026-01-16T14:14:26.920Z","avatar_url":"https://github.com/quantastica.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Qubit Toaster backend for Qiskit\n\nAllows running Qiskit code on [Qubit Toaster](https://quantastica.com/toaster/) - a high performance quantum circuit simulator.\n\n\n# Install\n\n```\npip install quantastica-qiskit-toaster\n```\n\n# Usage\n\nYou need to install and run [Qubit Toaster](https://quantastica.com/toaster/) first. By default, this library expects Toaster running in server mode.\n\n\nNow import ToasterBackend into your Qiskit code:\n\n```\nfrom quantastica.qiskit_toaster import ToasterBackend\n```\n\nReplace `Aer.get_backend` with `ToasterBackend.get_backend`.\n\n# Example\n\n```python\nfrom qiskit import QuantumRegister, ClassicalRegister\nfrom qiskit import QuantumCircuit, execute\n\n# Instead:\n#from qiskit import Aer\n\n# Do:\nfrom quantastica.qiskit_toaster import ToasterBackend\n\n\nqc = QuantumCircuit()\n\nq = QuantumRegister(2, \"q\")\nc = ClassicalRegister(2, \"c\")\n\nqc.add_register(q)\nqc.add_register(c)\n\nqc.h(q[0])\nqc.cx(q[0], q[1])\n\nqc.measure(q[0], c[0])\nqc.measure(q[1], c[1])\n\n\n# Instead:\n#backend = Aer.get_backend(\"qasm_simulator\")\n\n# Use:\nbackend = ToasterBackend.get_backend(\"qasm_simulator\")\n\n\n# OR (to use statevector_simulator backend):\n# backend = ToasterBackend.get_backend(\"statevector_simulator\")\n\n# OR (to specify custom toaster_host and toaster_port params\n# default values are 127.0.0.1 and 8001 respectively):\n# backend = ToasterBackend.get_backend(\n#            \"statevector_simulator\",\n#            toaster_host=\"192.168.1.2\",\n#            toaster_port=8888,\n#        )\n\n# OR (to use it directly via CLI instead of HTTP API)\n# backend = ToasterBackend.get_backend(\n#            \"qasm_simulator\",\n#            use_cli=True)\n\njob = execute(qc, backend=backend)\n\n# To speed things up a little bit qiskit's optimization can be disabled\n# by setting optimization_level to 0 like following:\n#   job = execute(qc, backend=backend, optimization_level=0)\n#\n# To pass different optimization level to qubit-toaster use backend_options:\n#   options = { \"toaster_optimization\": 3 }\n#   job = execute(qc, backend=backend, backend_options=options)\n\njob_result = job.result()\n\nprint(job_result.get_counts(qc))\n\n```\n\n\n# Details\n\n## Syntax\n\n```\nToasterBackend.get_backend( backend_name = None,\n                            toaster_host=None, \n                            toaster_port=None, \n                            use_cli=False)\n```\n\n\n### Arguments\n\n- `backend_name` can be:\n  - `qasm_simulator` only counts will be returned (default)\n  - `statevector_simulator` both counts and state vector will be returned\n  - If backend name is not provided then it will act as `qasm_simulator`\n- `toaster_host` - ip address of machine running `qubit-toaster` simulator (default: 127.0.0.1)\n- `toaster_port` - port that `qubit-toaster` is listening on (default: 8001)\n- `use_cli` - if this param is set to `True` the `qubit-toaster` will be used directly (by invoking it as executable) instead via HTTP API. For this to work the `qubit-toaster` binary must be available somewhere in system PATH\n\n### Toaster's backend_options\n  - `toaster_optimization` - integer from 0 to 7\n    - 0 - automatic optimization\n    - 1 - optimization is off\n    - 2..7 - optimization is on. 7 is highest optimization level.\n\n## Running unit tests\n\nFirst start `qubit-toaster` in HTTP API mode:\n```\nqubit-toaster -S\n```\n\n Running standard set of tests (excluding the slow ones):\n ```\n python -m unittest -v\n ```\n\nRunning all tests (including the slow ones):\n```\nSLOW=1 python -m unittest -v\n```\n\nSpecifying different toaster host/port:\n```\nTOASTER_HOST=192.168.1.2 TOASTER_PORT=8001  python -m unittest -v -f\n```\n\nRunning tests by using CLI interface instead of HTTP:\n```\nUSE_CLI=1 python -m unittest -v -f\n```\n\n-------\n\nFind more goodies at [https://quantastica.com](https://quantastica.com)\n\nThat's it. Enjoy! :)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquantastica%2Fqiskit-toaster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquantastica%2Fqiskit-toaster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquantastica%2Fqiskit-toaster/lists"}