HAL
Heuristic Autonomous Lab
This tool is supposed to be run in Jupyter notebooks using JupyterLab. Examples are available in the
examplesfolder.
Config
Create a config.json with the following content:
{
"GEMINI_API_KEY": "your gemini API key",
"MEMORY_DATA_PATH": "/path/to/the/memory/data.gz",
"EXEC_IMPORT": "import time, os, sys, json, yaml, scipy\nimport numpy as np\nimport matplotlib.pyplot as plt\n"
}
Or pass config dictionary to init function, check examples/mininum.ipynb
Get Started
import HAL
HAL.init() # initialization: loading memory, setting up display, etc.
# HAL.auto = 3 # auto-execution: HAL will automatically execute up to 3 steps
HAL.reset() # this reset HAL session
HAL("Do something") # main interface: query HAL
HAL() # continue without user input
API
# initialization
HAL.init("Name", _config=None)
# main interface
HAL(query=None)
# properties
HAL.auto = 0
HAL.session = {}
# session operations
HAL.reset()
HAL.save(path="session.json")
HAL.load(path="session.json")
# memory operations
HAL.search(query)
HAL.memorize(content, meta={ "source": HAL.name })
# low-level components
HAL.memory # knowledge base
HAL.display # UI rendering for JupyterLab
# Components
HAL.gather_document
HAL.sort
HAL.plan
HAL.answer
HAL.code
Directory Structure
HAL/HAL_answer.py: Answer componentHAL/HAL_code.py: Develop component (developer)HAL/HAL_gather_document.py: Search agentHAL/HAL_plan.py: Plan component (planner)HAL/HAL_sort.py: Preprocess componentHAL/__init__.py: Entrypoint and main interfaceHAL/memory.py: Knowledge base implementationHAL/display.py: UI rendering for JupyterLabHAL/run.py: Execution runtimeHAL/utils.py: Utility functions
Cite this work
https://arxiv.org/abs/2603.08801
@article{li2026large,
title={Large Language Model-Assisted Superconducting Qubit Experiments},
author={Li, Shiheng and Miller, Jacob M and Lee, Phoebe J and Andersson, Gustav and Conner, Christopher R and Joshi, Yash J and Karimi, Bayan and King, Amber M and Malc, Howard L and Mishra, Harsh and others},
journal={arXiv preprint arXiv:2603.08801},
year={2026}
}
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
clelandlab_hal-0.1.1.tar.gz
(12.2 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 clelandlab_hal-0.1.1.tar.gz.
File metadata
- Download URL: clelandlab_hal-0.1.1.tar.gz
- Upload date:
- Size: 12.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2ea22b3e69bb27513f2058a3d1ad39b24b457196a53ff8a3880fe698a65f4ad
|
|
| MD5 |
e562260727701a9b1b6009a088979878
|
|
| BLAKE2b-256 |
9edc112ff336a35c1700184313662637d7514ee703d1a84a4cfa22e098191889
|
File details
Details for the file clelandlab_hal-0.1.1-py3-none-any.whl.
File metadata
- Download URL: clelandlab_hal-0.1.1-py3-none-any.whl
- Upload date:
- Size: 15.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
976227fd02ec2217a0337f0c6f0240b858788ed5da20cd138230fdb964945706
|
|
| MD5 |
435ea166cfe91dfd4d3464c5b70e9b44
|
|
| BLAKE2b-256 |
ccdf3ce79591e8588e6b193dd11fcc1d8738c780876bbd02290835ec6ca589f5
|