{"id":28120,"library":"qcs-sdk-python","title":"QCS SDK Python","description":"Python interface for the QCS Rust SDK, providing the core data structures and client for interacting with Rigetti Quantum Cloud Services. Version 0.26.1 requires Python >=3.10 and <4.0. Release cadence is irregular, tied to the underlying Rust SDK.","status":"active","version":"0.26.1","language":"python","source_language":"en","source_url":"https://github.com/rigetti/qcs-sdk-python","tags":["quantum-computing","rigetti","qcs","rust-sdk"],"install":[{"cmd":"pip install qcs-sdk-python","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"The package itself has no hard dependencies beyond Python standard library; Rust extensions are pre-built.","package":"qcs-sdk-python","optional":false}],"imports":[{"note":"QCSClient is exposed directly from the top-level module since v0.20.","wrong":"from qcs_sdk.client import QCSClient","symbol":"QCSClient","correct":"from qcs_sdk import QCSClient"},{"note":"ExecutionData was moved to top-level to simplify the API.","wrong":"from qcs_sdk.execution import ExecutionData","symbol":"ExecutionData","correct":"from qcs_sdk import ExecutionData"}],"quickstart":{"code":"import os\nfrom qcs_sdk import QCSClient\n\nclient = QCSClient(\n    quantum_processor_id=os.environ.get(\"QUANTUM_PROCESSOR_ID\", \"\"),\n    api_key=os.environ.get(\"QCS_API_KEY\", \"\"),\n    api_url=os.environ.get(\"QCS_API_URL\", \"https://api.qcs.rigetti.com\")\n)\nprint(client.list_quantum_processors())","lang":"python","description":"Initialize a QCSClient and list available quantum processors. Set environment variables QCS_API_KEY and QUANTUM_PROCESSOR_ID for authentication."},"warnings":[{"fix":"Update client initialization to use new parameters: QCSClient(api_key=..., api_url=...).","message":"In v0.24, the 'QCSClient' constructor changed: 'api_key' and 'api_url' parameters replaced 'credentials' and 'endpoint'. Code using the old signature will fail.","severity":"breaking","affected_versions":"<0.24"},{"fix":"Change import to 'from qcs_sdk import ExecutionData'.","message":"The 'ExecutionData' class was moved from qcs_sdk.execution.ExecutionData to qcs_sdk.ExecutionData in v0.20. Old imports break.","severity":"breaking","affected_versions":"<0.20"},{"fix":"Use client.get_quantum_processor(quantum_processor_id) instead.","message":"The function 'get_qpu' is deprecated in favor of 'QCSClient.get_quantum_processor()' since v0.22.","severity":"deprecated","affected_versions":">=0.22"},{"fix":"Always use 'import qcs_sdk' or 'from qcs_sdk import ...' in code, never 'qcs-sdk-python'.","message":"The package name on PyPI is 'qcs-sdk-python', but the importable module is 'qcs_sdk' (underscore, not hyphen). This mismatch confuses beginners.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","problems":[{"fix":"Use 'from qcs_sdk import ...' (underscore, not dot).","cause":"Incorrect import path; many tutorials use the old 'qcs.sdk' module name.","error":"ModuleNotFoundError: No module named 'qcs.sdk'"},{"fix":"Use 'QCSClient(api_key='...', api_url='...')' instead.","cause":"Using the old QCSClient constructor with 'credentials' parameter. It was renamed to 'api_key' and 'api_url'.","error":"TypeError: __init__() got an unexpected keyword argument 'credentials'"},{"fix":"Use client methods like 'client.compile_program()' or 'client.run_program()' instead of ExecutionConfig.","cause":"ExecutionConfig was removed in v0.21; configuration is now done via client methods.","error":"AttributeError: module 'qcs_sdk' has no attribute 'ExecutionConfig'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}