Educational atomic electronic-structure toolkit with strict layered architecture.
Developed by Prof. Bin Shan (bshan@mail.hust.edu.cn).
Install editable package:
pip install -e .Optional extras:
pip install -e '.[frontend,dev]'Run desktop GUI (pywebview host):
pydftRun CLI calculation:
pydft-cli run --symbol He --xc-model LDARun HTTP backend:
pydft-api --host 127.0.0.1 --port 8000The GUI supports three compute modes:
direct: in-process execution via the Python bridge (no HTTP hop)api: send request to configured HTTP backend URLauto: trydirectfirst, then API fallback if direct fails
API base URL is configurable in the GUI form and is used by api and auto fallback paths.
pyDFT/
├── pyproject.toml
├── README.md
├── src/
│ └── pydft/
│ ├── __init__.py
│ ├── __main__.py
│ ├── main.py
│ ├── cli.py
│ ├── core/
│ │ ├── __init__.py
│ │ ├── __main__.py
│ │ ├── models.py
│ │ ├── presets.py
│ │ ├── request_mapper.py
│ │ └── parser.py
│ ├── application/
│ │ ├── __init__.py
│ │ └── scf.py
│ ├── methods/
│ │ ├── __init__.py
│ │ └── atomic/
│ │ ├── __init__.py
│ │ ├── dft_engine.py
│ │ ├── functionals.py
│ │ ├── grid.py
│ │ ├── hartree_fock.py
│ │ ├── lsda.py
│ │ ├── occupations.py
│ │ ├── potentials.py
│ │ └── radial_solver.py
│ ├── api/
│ │ ├── __init__.py
│ │ ├── __main__.py
│ │ ├── app.py
│ │ └── server.py
│ └── gui/
│ ├── __init__.py
│ ├── __main__.py
│ ├── bridge.py
│ ├── window.py
│ └── assets/
│ ├── index.html
│ ├── styles.css
│ └── app.js
├── tests/
├── benchmarks/
└── docs/
This project is released under the MIT License. See LICENSE.
Copyright (c) 2026 Prof. Bin Shan