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}
}
Metadata
Release files for clelandlab-HAL 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| clelandlab_hal-0.2.0.tar.gz | 12.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| clelandlab_hal-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.0 kB
Release files / clelandlab_hal-0.2.0.tar.gz
| Download URL | clelandlab_hal-0.2.0.tar.gz |
|---|---|
| Size | 12.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2aa808a63e2cc115abc700212b9d2e9e18bccb6bddc015000a7388769ed5c147
|
|
BLAKE2b-256 checksum How to use checksums |
0fef670959cf2b0504fcaa26d0807167de10039e4e7a8df680dbb9f772b55b10
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / clelandlab_hal-0.2.0-py3-none-any.whl
| Download URL | clelandlab_hal-0.2.0-py3-none-any.whl |
|---|---|
| Size | 15.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
658c2b35e1a2ab6d1414599b9d46609c14e31683dd376f1ce65f67e8681227d1
|
|
BLAKE2b-256 checksum How to use checksums |
bd5b30367fd0890a0cfea543ba6283dedfb8148bf13578f4e8fdb711bdd2aa35
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|