qpandalite.task package#
Subpackages#
Submodules#
qpandalite.task.config module#
Unified configuration management for task backends.
All configuration is read from environment variables. JSON config files are deprecated and only used as a fallback when the corresponding environment variables are not set.
Environment variables#
- OriginQ Cloud:
QPANDA_API_KEY : API authentication token (required for origin_qcloud) QPANDA_SUBMIT_URL : Task submission endpoint URL QPANDA_QUERY_URL : Task query endpoint URL QPANDA_TASK_GROUP_SIZE: Max circuits per submission (default: 200)
- Quafu:
QUAFU_API_TOKEN : Quafu API token (required for quafu)
- IBM:
IBM_TOKEN : IBM Quantum API token (required for ibm)
- OriginQ Dummy (local simulation):
ORIGINQ_AVAILABLE_QUBITS : JSON list of available qubit indices ORIGINQ_AVAILABLE_TOPOLOGY: JSON list of [u, v] edge pairs ORIGINQ_TASK_GROUP_SIZE : Max circuits per group (default: 200)
- Deprecated config files (fallback only):
originq_cloud_config.json -> QPANDA_* env vars quafu_online_config.json -> QUAFU_API_TOKEN ibm_online_config.json -> IBM_TOKEN originq_online_config.json -> ORIGINQ_* env vars
- qpandalite.task.config.load_dummy_config()[源代码]
Load OriginQ Dummy simulation configuration from environment variables.
- Fallback order:
Environment variables (ORIGINQ_*)
originq_online_config.json (deprecated)
- 返回:
available_qubits, available_topology, task_group_size
- 返回类型:
dict with keys
- qpandalite.task.config.load_ibm_config()[源代码]
Load IBM Quantum configuration from environment variables.
- Fallback order:
Environment variables (IBM_TOKEN)
ibm_online_config.json (deprecated)
- 返回:
api_token
- 返回类型:
dict with key
- 抛出:
ImportError -- If neither env vars nor config file is available.
- qpandalite.task.config.load_originq_config()[源代码]
Load OriginQ Cloud configuration from environment variables.
- Fallback order:
Environment variables (QPANDA_*)
originq_cloud_config.json (deprecated)
- 返回:
- api_key, submit_url, query_url, task_group_size,
available_qubits
- 返回类型:
dict with keys
- 抛出:
ImportError -- If neither env vars nor config file is available.
- qpandalite.task.config.load_quafu_config()[源代码]
Load Quafu configuration from environment variables.
- Fallback order:
Environment variables (QUAFU_API_TOKEN)
quafu_online_config.json (deprecated)
- 返回:
api_token
- 返回类型:
dict with key
- 抛出:
ImportError -- If neither env vars nor config file is available.
qpandalite.task.task_utils module#
Utility functions for quantum task management.
Provides helpers for loading/saving circuit files, managing local task
records (online_info), and generating timestamp strings. These are
used internally by the platform-specific task modules.
- qpandalite.task.task_utils.get_last_taskid(savepath=None)[源代码]
Return the task ID of the most recently submitted task.
- 参数:
savepath (os.PathLike, optional) -- Directory containing
online_info.txt. Defaults to<cwd>/online_info.- 返回:
The taskid from the last line of
online_info.txt.- 返回类型:
str
- qpandalite.task.task_utils.load_all_online_info(savepath=None)[源代码]
Load all locally saved online task info entries.
Reads
online_info.txtline-by-line; each line is expected to be a JSON object.- 参数:
savepath (os.PathLike, optional) -- Directory containing
online_info.txt. Defaults to<cwd>/online_info.- 返回:
A list of parsed JSON objects.
- 返回类型:
list[dict]
- qpandalite.task.task_utils.load_circuit(basepath=None)[源代码]
Load all quantum circuits from text files under basepath.
Each
.txtfile is read as a single circuit string and stored in a dict keyed by filename.- 参数:
basepath (os.PathLike, optional) -- Directory containing circuit files. Defaults to
<cwd>/output_circuits.- 返回:
Mapping from filename to circuit text.
- 返回类型:
dict[str, str]
- qpandalite.task.task_utils.load_circuit_group(path=None)[源代码]
Load multiple circuits from a single grouped circuit file.
The file is split on the
//////////delimiter. Only non-empty fragments starting withQINITare kept.- 参数:
path (os.PathLike, optional) -- Path to the grouped circuit file. Defaults to
<cwd>/output_circuits/originir.txt.- 返回:
Mapping from index to circuit text.
- 返回类型:
dict[int, str]
- qpandalite.task.task_utils.make_savepath(savepath=None)[源代码]
Ensure the save directory and
online_info.txtexist.Creates savepath and an empty
online_info.txtinside it if they do not already exist.- 参数:
savepath (os.PathLike, optional) -- Target directory. Defaults to
<cwd>/online_info.
- qpandalite.task.task_utils.timestr()[源代码]
Return a human-readable timestamp string (
YYYYMMDD_HHMMSS).
- qpandalite.task.task_utils.timestr_ymd_hms()[源代码]
Return the current time formatted as
YYYYMMDD_HHMMSS.
- qpandalite.task.task_utils.write_taskinfo(taskid, taskinfo, savepath=None)[源代码]
Persist task info to a per-task JSON file.
Writes
<savepath>/<taskid>.txtcontaining the JSON-serialized taskinfo. If savepath isNone, nothing is written. Existing files are never overwritten.- 参数:
taskid (str) -- The task ID used as the filename.
taskinfo (dict) -- Task information to save.
savepath (os.PathLike, optional) -- Target directory. If
None, the call is a no-op.
Module contents#
Quantum computing task management module.
This package provides a unified interface for submitting and querying quantum computing tasks across multiple backend platforms:
origin_qcloud— Origin Quantum Cloud (本源量子云), the primary production backend.originq_dummy— Local simulator that mimics the Origin Quantum Cloud API, useful for testing without consuming real quantum resources.originq— Legacy OriginQ QPilot interface (currently unavailable; raisesImportErroron import).quafu— BAQIS ScQ quantum cloud platform (Quafu).ibm— IBM Quantum (Qiskit) backend.
Each platform sub-module exposes a consistent set of public functions:
submit_task— Submit one or more quantum circuits for execution.query_by_taskid— Asynchronously query task status by task ID.query_by_taskid_sync— Synchronously query task status, blocking until completion or timeout.query_all_tasks— Query all tasks recorded in the local save directory.