The Unified Pseudopotential Format (UPF) specification is here: https://pseudopotentials.quantum-espresso.org/home/unified-pseudopotential-format.
This repository provides a Rust library that reads Unified Pseudopotential
Format (UPF) text files into typed Rust structs and writes validated
UpfData values back to UPF text, enabling semantic round-trips between file
content and Rust data.
Current UPF 2.0.1 coverage includes core sections plus conditional metagga,
spin-orbit, PAW, and GIPAW subtrees, with validation for the corresponding
header-gated relationships.
Project documentation:
Local verification:
cargo fmt --checkcargo clippy --all-targets -- -D warningscargo testcargo doc --no-deps
Core API:
upf::from_strupf::from_readerupf::from_fileupf::to_stringupf::to_writerupf::to_file