{"id":24897216,"url":"https://github.com/deepmodeling/dftio","last_synced_at":"2026-03-02T23:39:56.320Z","repository":{"id":241471353,"uuid":"806600146","full_name":"deepmodeling/dftio","owner":"deepmodeling","description":"dftio is to assist machine learning communities to transcript DFT output into a format that is easy to read or used by machine learning models.","archived":false,"fork":false,"pushed_at":"2025-12-18T17:25:33.000Z","size":9370,"stargazers_count":13,"open_issues_count":4,"forks_count":8,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-12-21T20:50:21.100Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://deepmodeling.github.io/dftio/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deepmodeling.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-05-27T14:03:49.000Z","updated_at":"2025-12-18T17:24:51.000Z","dependencies_parsed_at":"2024-06-15T15:33:13.693Z","dependency_job_id":"8d5356cc-bcbe-448a-a324-9172466b4c27","html_url":"https://github.com/deepmodeling/dftio","commit_stats":null,"previous_names":["floatingcatty/dftio","deepmodeling/dftio"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/deepmodeling/dftio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepmodeling%2Fdftio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepmodeling%2Fdftio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepmodeling%2Fdftio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepmodeling%2Fdftio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deepmodeling","download_url":"https://codeload.github.com/deepmodeling/dftio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepmodeling%2Fdftio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30025428,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-02T23:36:48.274Z","status":"ssl_error","status_checked_at":"2026-03-02T23:33:36.569Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-01T20:16:58.456Z","updated_at":"2026-03-02T23:39:56.312Z","avatar_url":"https://github.com/deepmodeling.png","language":"Jupyter Notebook","funding_links":[],"categories":["Density functional theory (ML-DFT)"],"sub_categories":[],"readme":"# dftio\n\n[![Documentation](https://img.shields.io/badge/docs-latest-brightgreen.svg)](https://deepmodeling.github.io/dftio/)\n[![Tests](https://github.com/deepmodeling/dftio/workflows/Tests/badge.svg)](https://github.com/deepmodeling/dftio/actions/workflows/test.yml)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![Python](https://img.shields.io/badge/python-3.10-blue)](https://www.python.org/downloads/)\n\n\ndftio is to assist machine learning communities in transcribing and manipulating DFT output into a format that is easy to read or used by machine learning models. \n\ndftio uses multiprocessing to paralleling the processing, and provide a standard dataset class that reads the processed dataset directly.\n\n## Installation\n\n### Using the install script (Recommended)\n\nThe easiest way to install dftio is using the provided installation script:\n\n```bash\n# CPU version (default)\n./install.sh\n\n# Or for GPU with CUDA 12.1\n./install.sh cu121\n```\n\n### Manual installation with UV\n\nIf you prefer manual installation:\n\n```bash\n# Install UV if you haven't already\npip install uv\n\n# Install dftio (CPU version)\nuv sync\n\n# Or for GPU version\nuv sync --find-links https://data.pyg.org/whl/torch-2.5.0+cu121.html\n```\n\n### Using pip (from PyPI - coming soon)\n\n```bash\npip install dftio\n```\n\n**Note**: dftio depends on `torch-scatter` which requires special handling. The install script automatically manages this for you.\n\n## Supports\n\nCurrent:\n\n| Package  | Structure | Eigenvalues | Hamiltonian | Density matrix | Overlap matrix | Total energy |\n|:--------:|:---------:|:-----------:|    :----:   |     :----:     |     :----:     |   :----:     |\n|  ABACUS  |     √     |      √      | √           | √              | √              | √            |\n|  RESCU   |     √     |             | √           |                | √              |              |\n|  SIESTA  |     √     |             | √           | √              | √              |              |\n| Gaussian |     √     |             | √           | √              | √              |              |\n|   VASP   |     √     |      √      |             |                |                | √            |\n|  PYATB   |     √     |      √      |             |                |                |              |\n\nOngoing:\n\n- Charge Density\n- Atomic Orbitals\n- Wave Function\n- Wave Function Coefficients\n- Total Energy\n\n\n## How to use\nTo parse the DFT output files into readable data format, user can follows:\n\n```bash\nusage: dftio parse [-h] [-ll {DEBUG,3,INFO,2,WARNING,1,ERROR,0}] [-lp LOG_PATH] [-m MODE] [-n NUM_WORKERS] [-r ROOT] [-p PREFIX] [-o OUTROOT] [-f FORMAT] [-ham] [-ovp] [-dm] [-eig] [-min BAND_INDEX_MIN]\n\noptions:\n  -h, --help            show this help message and exit\n  -ll {DEBUG,3,INFO,2,WARNING,1,ERROR,0}, --log-level {DEBUG,3,INFO,2,WARNING,1,ERROR,0}\n                        set verbosity level by string or number, 0=ERROR, 1=WARNING, 2=INFO and 3=DEBUG (default: INFO)\n  -lp LOG_PATH, --log-path LOG_PATH\n                        set log file to log messages to disk, if not specified, the logs will only be output to console (default: None)\n  -m MODE, --mode MODE  The name of the DFT software, currently support abacus/rescu/siesta/gaussian/pyatb (default: abacus)\n  -n NUM_WORKERS, --num_workers NUM_WORKERS\n                        The number of workers used to parse the dataset. (For n\u003e1, we use the multiprocessing to accelerate io.) (default: 1)\n  -r ROOT, --root ROOT  The root directory of the DFT files. (default: ./)\n  -p PREFIX, --prefix PREFIX\n                        The prefix of the DFT files under root. (default: frame)\n  -o OUTROOT, --outroot OUTROOT\n                        The output root directory. (default: ./)\n  -f FORMAT, --format FORMAT\n                        The output file format, should be dat, ase or lmdb. (default: dat)\n  -ham, --hamiltonian   Whether to parse the Hamiltonian matrix. (default: False)\n  -ovp, --overlap       Whether to parse the Overlap matrix (default: False)\n  -dm, --density_matrix\n                        Whether to parse the Density matrix (default: False)\n  -eig, --eigenvalue    Whether to parse the kpoints and eigenvalues (default: False)\n  -min BAND_INDEX_MIN, --band_index_min BAND_INDEX_MIN\n                        The initial band index for eigenvalues to save.(0-band_index_min) bands will be ignored! (default: 0)\n  -energy, --energy     Whether to parse the total energy from DFT output (default: False)\n```\n\n## Call for Contributors\ndftio is an open-source tool that calls for enthusiastic developers to contribute their talent. One can contribute through raising function requirement issues, or contact the current developer directly.\n\n### Current Contributors (in alphabetical order)\nQiangqiang Gu, Jijie Zou, Mingkang Liu, Zixi Gan, Zhanghao Zhouyin\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeepmodeling%2Fdftio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeepmodeling%2Fdftio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeepmodeling%2Fdftio/lists"}