QUASAR: Quantum Universal Autonomous System for Atomistic Research
Project description
Quantum Universal Autonomous System for Atomistic Research
A research-ready autonomous computational chemistry agentic system. QUASAR covers the full atomistic simulation pipeline with integrated tools including Density Functional Theory (DFT), Machine Learning Potentials (MLP), Molecular Dynamics (MD), and Grand Canonical Monte Carlo (GCMC), allowing scientists to rapidly iterate on hypotheses, explore large design spaces, and accelerate the discovery of novel materials and phenomena.
Quick Start
1. Install Docker or Singularity
- Docker: Docker Desktop (Mac/Windows) or Docker Engine (Linux).
- HPC: Singularity for cluster environments.
2. Pull the Image
Get the latest version from Docker Hub:
docker pull fengxuyang/quasar:<tag>
3. Choose Your Interface
-
CLI — Terminal-based interactive interface with essential functionalities; see CLI below.
-
Batch — Headless automated execution for background or HPC tasks; see Batch Jobs below.
-
Web — A premium web-based experience offering advanced usage, fine-grained control, and rich visualisation; currently in private beta, contact us at j.evans@adelaide.edu.au for early access.
CLI
Run QUASAR interactively from the terminal or inspect run history.
Docker — Interactive
docker run -it --rm \
-e MODEL_API_KEY=<api_key> \
-e MODEL=<model_name> \
-v "<workspace_path>:/workspace" \
fengxuyang/quasar:<tag> \
quasar
Singularity (HPC) — Interactive
singularity exec --cleanenv \
-B "<workspace_path>:/workspace" \
--home "<workspace_path>:/workspace" \
--env MODEL_API_KEY=<api_key> \
--env MODEL=<model_name> \
<tag>.sif quasar
quasar history
After a run (or when resuming from a checkpoint), the CLI can show per-task run history from the current workspace checkpoint. This is useful to review what the operator and evaluator did for each task without re-running.
- Command:
quasar history - Requires: A workspace with an existing checkpoint (from a current or past run).
- Behavior: Starts an interactive view that lists all tasks (e.g.
task_1,task_2, …). Use ↑/↓ to select a task and Enter to open it. For the selected task you see the full step-by-step history: task description, operator tool calls (e.g. code snippets, file reads, searches), code outputs, and the evaluator’s summary for that task. Use ESC to go back to the task list; Ctrl+C or Ctrl+D to exit.
If no checkpoint exists, quasar history reports that you need to run quasar first or resume an interrupted session.
Batch Jobs
Automate your research with one-off batch jobs for headless execution.
Docker — Batch (headless)
Pass a prompt as an argument for automated jobs:
docker run --rm \
-e MODEL_API_KEY=<api_key> \
-e MODEL=<model_name> \
-v "<workspace_path>:/workspace" \
fengxuyang/quasar:<tag> \
quasar "Calculate the band structure of silicon"
Singularity (HPC) — Batch (headless)
singularity exec --cleanenv \
-B "<workspace_path>:/workspace" \
--home "<workspace_path>:/workspace" \
--env MODEL_API_KEY=<api_key> \
--env MODEL=<model_name> \
<tag>.sif quasar "Your research prompt here"
Configuration
Configure the system via environment variables (Web and CLI):
| Variable | Description | Default |
|---|---|---|
MODEL_API_KEY |
Required. Your API key (Gemini, Claude, OpenAI, etc.). | - |
MODEL |
Required. Model name. | - |
ACCURACY |
eco (fast/balanced) or pro (maximum rigor). |
eco |
GRANULARITY |
Workflow task breakdown level (low, medium, high). |
medium |
ENABLE_RAG |
Enable/disable documentation search. | true |
IF_RESTART |
Resume from the last checkpoint. | false |
PMG_MAPI_KEY |
Materials Project API key for pymatgen. |
- |
CHECK_INTERVAL |
Minutes between LLM check-ins for long Python runs. | 15 |
Workspace Structure
All outputs are saved within the mounted workspace directory:
workspace/
├── final_results/ # Final outputs and analysis from the current run
│ └── summary.md # Results summary
├── logs/ # Execution logs and usage reports
│ ├── usage_report.md # Token usage and cost breakdown
│ ├── overview.md # High-level run summary
│ ├── input_messages.md # Input prompts sent to the agent
│ └── conversation/ # Conversation history
├── checkpoints.sqlite # Checkpoint database for resumption
├── checkpoint_settings.json # Run settings and token stats
├── archive/ # Historical runs (preserved across runs)
│ ├── run_1/ # First completed run
│ │ ├── final_results/
│ │ ├── logs/
│ │ └── ... # All workspace files from that run
│ └── run_N/ # Subsequent runs
└── docs/ # Downloaded documentation (preserved)
When a run completes:
- All workspace files are copied to
archive/run_N/ - Checkpoint files are removed from the workspace
- The
archive/anddocs/directories are preserved for future runs
Restart
QUASAR automatically checkpoints progress during execution. To resume from the last checkpoint:
Docker:
docker run --rm -e IF_RESTART=true \
-v "<workspace_path>:/workspace" \
fengxuyang/quasar:<tag> quasar
Singularity:
singularity exec --cleanenv \
--env IF_RESTART=true \
-B "<workspace_path>:/workspace" \
--home "<workspace_path>:/workspace" \
<tag>.sif quasar
When changing hardware (e.g., moving to a different node or GPU):
- Ensure the same workspace path is mounted
- Set
IF_RESTART=trueto resume from the checkpoint - The system will continue from exactly where it left off
Note: Checkpoints are stored in
checkpoints.sqlitewithin the workspace. Completed runs are archived toarchive/run_N/with their checkpoint data preserved.
Acknowledgements
QUASAR is built upon a foundation of powerful open-source tools and research. We gratefully acknowledge the following projects: Quantum ESPRESSO, ASE, MACE, pymatgen, LAMMPS, and RASPA3.
Citation
If you find QUASAR useful for your research, please cite our benchmark paper:
Yang, Fengxu, and Jack D. Evans. "QUASAR: A Universal Autonomous System for Atomistic Simulation and a Benchmark of Its Capabilities." arXiv:2602.00185, 30 Jan. 2026. https://doi.org/10.48550/arXiv.2602.00185
@misc{yang2026quasar,
title={QUASAR: A Universal Autonomous System for Atomistic Simulation and a Benchmark of Its Capabilities},
author={Fengxu Yang and Jack D. Evans},
year={2026},
eprint={2602.00185},
archivePrefix={arXiv},
primaryClass={physics.chem-ph},
url={https://arxiv.org/abs/2602.00185},
}
Contact
For inquiries, advanced features, or beta access, please reach out to: j.evans@adelaide.edu.au
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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 quasar_core-0.1.0.tar.gz.
File metadata
- Download URL: quasar_core-0.1.0.tar.gz
- Upload date:
- Size: 714.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c861859be6788590e2ac772870042bff1cbf4ab3685fc8b104dffc8b583e89e
|
|
| MD5 |
bab89adf3c1634208a3182022af1bda6
|
|
| BLAKE2b-256 |
2a99ba529b00ac2a922c35117da576b81930b9c2d384f2408be9af70ae28d908
|
File details
Details for the file quasar_core-0.1.0-py3-none-any.whl.
File metadata
- Download URL: quasar_core-0.1.0-py3-none-any.whl
- Upload date:
- Size: 677.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94592448086b9da90e071b0fc7831f40fb45bc0f8a25e4e80dcdaa632aed5ae3
|
|
| MD5 |
51678c73b8085c0379ba9d07f05ef0c2
|
|
| BLAKE2b-256 |
d454b98068f27f22106fc6f5ee23f1ec442e3fd99aef636eeb8cbfba1d35bccb
|