Metadata-Version: 2.4
Name: dft-agent
Version: 0.4.4
Summary: Run VASP and Quantum ESPRESSO calculations on your cluster.
Author-email: Qirui Cui <qiruic@kth.se>
License-Expression: MIT
Project-URL: Homepage, https://github.com/cuiqirui99/DFT-AGENT
Project-URL: Repository, https://github.com/cuiqirui99/DFT-AGENT
Project-URL: Documentation, https://github.com/cuiqirui99/DFT-AGENT/blob/v0.4.4/README.md
Project-URL: Issues, https://github.com/cuiqirui99/DFT-AGENT/issues
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Natural Language :: English
Classifier: Natural Language :: Chinese (Simplified)
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE.md
Requires-Dist: pymatgen<2027,>=2024.11.13
Requires-Dist: numpy<3,>=1.26
Requires-Dist: matplotlib<4,>=3.8
Requires-Dist: streamlit<2,>=1.65
Requires-Dist: seekpath<3,>=2.1
Requires-Dist: paramiko<5,>=3.5; sys_platform == "win32"
Provides-Extra: agent
Requires-Dist: openai<3,>=1.99; extra == "agent"
Requires-Dist: anthropic<2,>=0.86; extra == "agent"
Requires-Dist: keyring<27,>=24; extra == "agent"
Provides-Extra: desktop
Requires-Dist: pywebview<7,>=6; extra == "desktop"
Requires-Dist: openai<3,>=1.99; extra == "desktop"
Requires-Dist: anthropic<2,>=0.86; extra == "desktop"
Requires-Dist: keyring<27,>=24; extra == "desktop"
Provides-Extra: dev
Requires-Dist: pytest<10,>=8; extra == "dev"
Requires-Dist: build<2,>=1.2; extra == "dev"
Requires-Dist: streamlit<2,>=1.65; extra == "dev"
Dynamic: license-file

# DFT Agent

![DFT Agent](docs/assets/dft-agent-logo.png)

Version `0.4.4`. [中文说明](README.zh-CN.md)

[Qirui Cui](https://www.kth.se/profile/qiruic?l=en) · KTH Royal Institute of Technology

Describe a calculation, review its inputs, and run VASP or Quantum ESPRESSO on your own HPC cluster. Each project keeps its files, conversations and results together. You can revise tasks in chat, combine both engines in a workflow, and discuss the results when they return.

![DFT Agent workflow](docs/assets/workflow.png)

Conceptual overview. Current engines: VASP and Quantum ESPRESSO.

The built-in workflows cover structure edits, relaxation, SCF, bands, DOS, magnetism, SOC, DFT+U and hybrid functionals. [QE](docs/qe.md) also supports installation, phonons, NEB and electron–phonon calculations.

![SrTiO3 crystal](docs/assets/crystal.png)

## Install

Download [v0.4.4](https://github.com/cuiqirui99/DFT-AGENT/releases/tag/v0.4.4):

- **Apple Silicon Mac, macOS 14+:** open the `.dmg`, copy **DFT Agent** to Applications, then open it.
- **Windows x64:** run the `.exe` installer, then open **DFT Agent** from the Start menu.

Python and model SDKs are included. Codex CLI and Claude Code CLI are optional, separate installations. Linux users can [install from source](docs/install.md#python-installation-from-source).

## Start a project

1. Click **New project** and give it a name.
2. Open **Connections → Model**. Connect a signed-in **Codex CLI** or **Claude Code CLI**, or enter your provider's API key and model name. **Test connection** checks a saved connection. [Model setup](docs/models.md).
3. Open **Cluster** and enter your SSH address, such as `ssh name@cluster`. The app tries your keys first, then asks for a password or login code when needed. Review the detected software, or add it under **Software**. If QE is missing, review and start its installation here. [Cluster setup](docs/install.md#your-first-cluster-setup).
4. Return to chat. Open **Context → Files → Add files**, upload your structure, and click **Import files**. Describe what you want to calculate and refine the plan in the same conversation.
5. Click **Prepare inputs**, review the files and resources, tick the confirmation box, and click **Submit**. Follow the task in **Context → Jobs** and open its outputs under **Results**.

VASP and QE are selected per workflow step. A project can use either engine or both; it does not need a separate global switch. **Attach results** selects the runs for a follow-up discussion.

Model calls use your own account and quota. API keys and saved SSH passwords stay in the system keychain; login codes are not saved. VASP requires licensed VASP and POTCAR files. QE uses public pseudopotentials. No model credits or cluster allocation are included.

## Explore offline

![Band structure of a sample run](docs/assets/screenshot-results.png)

Open **Settings → Legacy workbench → Runs → Load sample runs** to browse the bundled SrTiO3, Si, MgO and Fe results. The legacy workbench also retains manual input preparation, the original forms and Memory browser. Use **Settings → Language / 语言** to change the project interface language.

[Quickstart](docs/quickstart.md) · [Project guide](docs/project-workspace.md#use-the-workspace) · [Workflows](docs/workflows.md) · [Scientific guidance](docs/harness.md) · [Memory](docs/memory.md)

## Citation

Cui, Q. (2026). *DFT Agent* (v0.4.4). [Source](https://github.com/cuiqirui99/DFT-AGENT).

[Archived v0.3.0](https://doi.org/10.5281/zenodo.23260917).

[Install](docs/install.md) · [Windows](docs/windows.md) · [Methods](docs/methods.md) · [Input defaults](docs/input-defaults.md) · [CLI examples](docs/examples.md) · [VASP validation](docs/validation-0.4.1.md) · [QE validation](validation/qe-0.4.3/README.md) · [MIT license](LICENSE) · [Notices](NOTICE.md) · [Citation](CITATION.cff)
