from ase.io import read, write

atoms = read("sample.cif")

write(
    "scf.in",
    atoms,
    format="espresso-in",
    input_data={
        "control": {
            "calculation": "scf",
            "prefix": "qe",
            "pseudo_dir": "./pseudo",
            "outdir": "./tmp",
        },
        "system": {
            "ecutwfc": 60,
            "ecutrho": 480,
        },
        "electrons": {
            "conv_thr": 1.0e-8,
        },
    },
    pseudopotentials={
        "Zn": "Zn.upf",
        "O": "O.upf",
    },
    kpts=(4, 4, 4),
)