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:
  1. Environment variables (ORIGINQ_*)

  2. 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:
  1. Environment variables (IBM_TOKEN)

  2. 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:
  1. Environment variables (QPANDA_*)

  2. 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:
  1. Environment variables (QUAFU_API_TOKEN)

  2. 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.txt line-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 .txt file 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 with QINIT are 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.txt exist.

Creates savepath and an empty online_info.txt inside 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>.txt containing the JSON-serialized taskinfo. If savepath is None, 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; raises ImportError on 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.