{"id":34054950,"url":"https://github.com/hsulab/gdpy","last_synced_at":"2026-04-08T12:05:06.230Z","repository":{"id":57857240,"uuid":"355330537","full_name":"hsulab/GDPy","owner":"hsulab","description":"Generating Deep Potential with Python","archived":false,"fork":false,"pushed_at":"2026-04-02T14:49:41.000Z","size":55852,"stargazers_count":72,"open_issues_count":0,"forks_count":11,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-04-03T03:15:14.360Z","etag":null,"topics":["ase","automation","lammps","machine-learning-interatomic-potential","molecular-dynamics","monte-carlo"],"latest_commit_sha":null,"homepage":"https://gdpx.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hsulab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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":"2021-04-06T21:09:43.000Z","updated_at":"2026-01-25T02:32:14.000Z","dependencies_parsed_at":"2023-02-19T11:30:54.386Z","dependency_job_id":"25e82a01-b89f-4dae-b5c9-f98ff31d7f0b","html_url":"https://github.com/hsulab/GDPy","commit_stats":{"total_commits":1391,"total_committers":1,"mean_commits":1391.0,"dds":0.0,"last_synced_commit":"4c1104e8a5456f3feb161687c055d2e00d48c95e"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/hsulab/GDPy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsulab%2FGDPy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsulab%2FGDPy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsulab%2FGDPy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsulab%2FGDPy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hsulab","download_url":"https://codeload.github.com/hsulab/GDPy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsulab%2FGDPy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31554141,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T10:21:54.569Z","status":"ssl_error","status_checked_at":"2026-04-08T10:21:38.171Z","response_time":54,"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":["ase","automation","lammps","machine-learning-interatomic-potential","molecular-dynamics","monte-carlo"],"created_at":"2025-12-14T02:33:54.330Z","updated_at":"2026-04-08T12:05:06.167Z","avatar_url":"https://github.com/hsulab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./assets/logo.png\" width=\"400\" height=\"300\"\u003e\n\u003c/p\u003e\n\n![](https://anaconda.org/conda-forge/gdpx/badges/version.svg)\n![](https://anaconda.org/conda-forge/gdpx/badges/downloads.svg)\n![](https://anaconda.org/conda-forge/gdpx/badges/latest_release_date.svg)\n\n\u003cfont size=36\u003e**NOTE: `GDPy` is the name of this repository and the corresponding python package name is `gdpx`.**\u003c/font\u003e\n\n\u003cfont size=36\u003e**NOTE: `gdpx` is under active development and has not been released. The APIs are frequently changed and we cannot ensure any \n  backward compatibility.**\u003c/font\u003e\n\n# Install\n\n`gdpx` is a pure python package. Since it does not include any codes that actually perform calculations and training, for example, `VASP` and `DEEPMD`, you should install them by yourselves.\n\n## Latest Version\n```\n$ python -m pip install git+https://github.com/hsulab/GDPy.git\n```\n\n## Stable Release\n```\n$ conda install gdpx -c conda-forge\n```\n\n# Table of Contents\n\n- [Overview](#overview)\n- [Features](#features)\n- [Architecture](#architecture)\n- [Modules](#modules)\n- [Authors](#authors)\n- [License](#license)\n\n# Overview\n**Documentation**: https://gdpx.readthedocs.io (Changed from gdpyx)\n\nGDPy stands for Generating Deep Potential with Python (GDPy/GDP¥), including a set of tools and Python modules to automate the structure exploration and the training for machine learning interatomic potentials (MLIPs).\n\nIt mainly focuses on the applications in heterogeneous catalysis. The target systems are metal oxides, supported clusters, and solid-liquid interfaces.\n\n# Features\n- A unified interface to various MLIPs.\n- A graph-and-node session to construct user-defined workflows.\n- Versatile exploration algorithms to construct a general dataset.\n- Automation workflows for dataset construction and MLIP training.\n\n# Architecture\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./assets/workflow.png\" width=\"740\" height=\"400\"\u003e\n\u003c/p\u003e\n\n# Modules\n\n## Potential\nWe do not implement any MLIP but offers a unified interface to access. Certain MLIP could not be utilised before corresponding required packages are \ninstalled correctly.The calculations are performed by **ase** ``calculators`` using either **python** built-in codes (PyTorch, TensorFlow) \nor File-IO based external codes (e.g. **lammps**).\n\n**Supported MLIPs:**\n\n| MLIPs                                                | Representation                        | Regressor    | Implemented Backend    |\n| ---------------------------------------------------- | ------------------------------------- | ------------ | ---------------------- |\n| [eann](https://github.com/zhangylch/EANN)            | (Rescursive) Embedded Atom Descriptor | NN/PyTorch   | ASE/Python, ASE/LAMMPS |\n| [deepmd](https://github.com/deepmodeling/deepmd-kit) | Deep Potential Descriptors            | NN/Tensorflow| ASE/Python, ASE/LAMMPS | \n| [lasp](http://www.lasphub.com/#/lasp/laspHome)       | Atom-Centered Symmetry Functions      | NN/LASP      | ASE/LASP               |\n| [nequip](https://github.com/mir-group/nequip)        | E(3)-Equivalent Message Passing       | NN/PyTorch   | ASE/Python, ASE/LAMMPS |\n\n*NOTE: We use a modified eann package to train and utilise.*\n\n*NOTE: Allegro is supported as well through the nequip manager.*\n\n**Other Potentials:**\nSome potentials besides MLIPs are supported. Force fields or semi-empirical potentials are used for pre-sampling to build an initial dataset. \n*Ab-initio* methods are used to label structures with target properties (e.g. total energy, forces, and stresses).\n\n| Name.       | Description                          | Backend | Notes             |\n| ----------- | ------------------------------------ | ------- | ----------------- |\n| reax        | Reactive Force Field                 | LAMMPS  |                   |\n| xtb         | Tight Binding                        | xtb     | Under development |\n| VASP        | Plane-Wave Density Functional Theory | VASP    |                   |\n| CP2K        | Density Functional Theory            | CP2K    |                   |\n\n## Expedition\nWe take advantage of codes in well-established packages (ASE and LAMMPS) to perform basic minimisation and dynamics. Meanwhile, we have implemented several complicated alogirthms in GDPy itself.\n| Name                                       | Current Algorithm                          | Backend     |\n| ------------------------------------------ | ------------------------------------------ | ----------- |\n| Molecular Dynamics (md)                    | Brute-Force/Biased Dynamics                | ASE, LAMMPS |\n| Evolutionary Global Optimisation (evo)     | Genetic Algorithm                          | ASE/GDPy    |\n| Basin Hopping                              | Monte Carlo like Global Optimisation       | GDPy        |\n| Adsorbate Configuration (ads)              | Adsorbate Configuration Graph Search       | GDPy        |\n| Reaction Event Exploration (rxn)           | Artificial Force Induced Reaction (AFIR)   | GDPy        |\n| Grand Cononical Monte Carlo (gcmc)         | Monte Carlo with Variable Composition      | GDPy        |\n\n## Workflow\nThere are two kinds of workflows according to the way they couple the expedition and the training. Offline workflow as the major category separates the expedition and the training, which collects structures from several expeditions and then trains the MLIP with the collective dataset. This process is highly parallelised and is usually aimed at a general dataset. Online workflow, a really popular one, adopts an on-the-fly strategy to build a dataset during the expedition, where a new MLIP is trained to continue exploration once new candidates are selected (sometimes only one structure every time!). Thus, it is mostly used to train an MLIP for a particular system.\n\n| Type    | Supported Expedition |\n| ------- | -------------------- |\n| Offline | md, evo, ads, rxn    |\n| Online  | md                   |\n\n# Authors\n\n[Jiayan Xu](https://scholar.google.com/citations?user=ue5SBQMAAAAJ\u0026hl=en) (jxu15@qub.ac.uk)\n\nunder the supervision of [Prof. P. Hu](https://scholar.google.com/citations?user=GNuXfeQAAAAJ\u0026hl=en) at Queen's University Belfast.\n\n# License\nGDPy project is under the GPL-3.0 license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhsulab%2Fgdpy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhsulab%2Fgdpy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhsulab%2Fgdpy/lists"}