A client for submitting calculation tasks and polling results
Project description
DMRG Task Client
A Python client for submitting calculation tasks to a server and polling results.
Installation
pip install qumulator
Usage Example
from entropec_quantumoperator_test import DMRGClient
# Initialize client with server URL
client = DMRGClient(api_base="http://192.168.124.22:12805")
def main():
# 初始化客户端
client = DMRGClient(
api_base="http://192.168.124.22:12805", # 服务地址
timeout=1000, # 超时时间(秒)
retry_interval=5 # 结果轮询间隔(秒)
)
# 任务参数
task_id = "test_task_001" # 使用唯一实例ID
program = " vmps1FM" # 选择调用的程序
# program = "measureSC" # 选择调用的程序
params = {
"CaseParams": {
"Geometry": "OBC",
"Lx": 3,
"Ly": 4,
"t": 1.0,
"t2": -0.2,
"J": 3.0,
"J2": 1.0,
"phi": 0.1,
"mu": 0,
"NumHole": 2,
"Sweeps": 5,
"Dmin": 10,
"Dmax": 10,
"CutOff": 1e-9,
"LanczErr": 1e-9,
"MaxLanczIter": 70,
"Threads": 2,
"noise": [0.1, 0.01],
"Perturbation": 0.0,
"BondSingletPairPerturbation": 0.0,
"wavelength": 4
}
}
try:
# 提交任务
print("提交测试任务...")
response = client.submit_job(task_id, program, params)
print(f"提交响应: {response}")
# 获取结果(限制重试次数,避免无限等待)
print("获取测试结果...")
result = client.fetch_result(task_id, max_retries=5)
print(f"测试结果: {result}") # 打印部分结果
except Exception as e:
print(f"测试失败: {str(e)}")
if __name__ == "__main__":
main()
API Reference
DMRGClient
__init__(api_base, timeout=10, retry_interval=5)
Initialize a new DMRG client.
api_base: Base URL of the DMRG servertimeout: Request timeout in seconds (default: 10)retry_interval: Interval between result polling attempts (default: 5)
submit_job(task_id, program, params)
Submit a DMRG calculation task.
task_id: Unique identifier for the taskprogram: The program to execute (e.g., "vmps1FM" or "measureSC")params: Dictionary containing calculation parameters- Returns: Server response JSON
fetch_result(task_id, max_retries=None)
Poll for calculation results.
task_id: Task identifier to fetch results formax_retries: Maximum number of retries (None for infinite)- Returns: Calculation result text
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
qumulator-0.1.0.tar.gz
(4.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qumulator-0.1.0.tar.gz.
File metadata
- Download URL: qumulator-0.1.0.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6cece153171ebdac103bb08f76704fe5c503a997b3a05a1d1da0051368d065a
|
|
| MD5 |
0ab31267090c361356bbb862fd4847ea
|
|
| BLAKE2b-256 |
db7ad3680f5bae80c4c3e31afab6946e65b4633f46231adf6e6f1f0cbf308dad
|
File details
Details for the file qumulator-0.1.0-py3-none-any.whl.
File metadata
- Download URL: qumulator-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6842cef5f3f19ecfa3e622d2f814df4b7c41f082f330ed51b4308932972a3db
|
|
| MD5 |
84b937aa778a21a64593f1f8239fa7ee
|
|
| BLAKE2b-256 |
62baf78719c81ec4a0f791da57a659ac531a801c190e5ce64aeed5e75c03e6ed
|