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 quantummanybody
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
quantummanybody-0.1.2.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 quantummanybody-0.1.2.tar.gz.
File metadata
- Download URL: quantummanybody-0.1.2.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 |
1896f0efe61e1b6d20e1d674d25b08de106b0ea9093aaa72172e722cdb28d95a
|
|
| MD5 |
e1ad8d4448cbf617f74c65b4de295aa5
|
|
| BLAKE2b-256 |
cb05ac62b74235d0244edfb585371028c122c99a90fc0824ebac91f1824c1f50
|
File details
Details for the file quantummanybody-0.1.2-py3-none-any.whl.
File metadata
- Download URL: quantummanybody-0.1.2-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 |
8d5469c030898269f25aed71520914cc1c75a0ae44b4f400313c37f6a036977e
|
|
| MD5 |
0959ffff5340de6da352861defae26d0
|
|
| BLAKE2b-256 |
dc8059f4c240854bd115207f55505067f930d48cd4fa65a1a412ac89f234a793
|