Alina Zhidkovskaya and Evgeny Blokhin Tilde Materials Informatics and Materials Platform for Data Science LLC
dft-organizer is a command-line tool to manage data from density functional theory calculations using CRYSTAL and FLEUR engines.
It automates:
- Archiving calculation directories with 7z compression
 - Parsing output files to generate detailed error reports and CSV summaries
 - Cleaning up original calculation directories after archiving
 
It also supports unpacking 7z archives and restoring archived calculation directories recursively, with optional AiiDA UUID tracking.
Requires Python ≥ 3.11
Dependencies:
- click ≥ 8.1
 - pandas
 - 7z (command-line tool)
 
Install via pip:
pip install .
dft-pack --path <directory_path> [--engine <crystal|fleur>] [--report|--no-report] [--aiida|--no-aiida]
--pathPath to the calculation directory--engineDFT engine (default: crystal)--reportGenerate error report and summary (default)--no-reportSkip report generation--aiidaExtract UUID from AiiDA directory structure--no-aiidaDo not extract UUID
Creates:
<directory_name>.7zreport_<engine>_<timestamp>.txtsummary_<engine>_<timestamp>.csv
dft-unpack --path <archive_or_directory_path> [--engine <crystal|fleur>] [--report|--no-report] [--aiida|--no-aiida]
--pathPath to a .7z archive or directory with archives--engineDFT engine (default: crystal)--reportGenerate summary and error reports after extraction (default)--no-reportSkip report generation--aiidaExtract UUID from AiiDA directory structure--no-aiidaDo not extract UUID
Creates under parent directory:
summary_<engine>_extracted_<timestamp>.csvreport_<engine>_extracted_<timestamp>.txt
from pathlib import Path
from dft_organizer.archiver import archive_and_remove
archive_and_remove(
	Path("./my_calc_dir"),
	engine="crystal",
	make_report=True,
	aiida=True
)
from pathlib import Path
from dft_organizer.re_archiver import restore_archives_iterative
restore_archives_iterative(
	Path("./archive_dir.7z"),
	engine="crystal",
	generate_reports=True,
	aiida=True
)
Generate report for a specific calculation UUID:
dft-pack report \
--path aiida_playground_data \
--uuid 0ea8a6be-7199-4c3e-9263-fae76e8d081e \
--engine crystal
Output files:
summary_uuid_<uuid>_<timestamp>.csverrors_uuid_<uuid>_<timestamp>.txt
bandgapBand gap valuecpu_timeCPU timetotal_energyTotal energys_pop,p_pop,d_popMulliken populationstotal_popTotal populationoutput_pathFull path to OUTPUT fileuuidCalculation UUID (AiiDA mode only)