From cc987b0050635813fd5c2647b6afad694cfd16a0 Mon Sep 17 00:00:00 2001 From: Zhuoyuan <75076820+ZLI-afk@users.noreply.github.com> Date: Thu, 14 Nov 2024 12:13:47 +0800 Subject: [PATCH 01/14] doc: change scass type in lammps_demo --- examples/lammps_demo/global_bohrium.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/lammps_demo/global_bohrium.json b/examples/lammps_demo/global_bohrium.json index dcdf0252..2f48a6a3 100644 --- a/examples/lammps_demo/global_bohrium.json +++ b/examples/lammps_demo/global_bohrium.json @@ -11,5 +11,5 @@ "run_command":"lmp -in in.lammps", "batch_type": "Bohrium", "context_type": "Bohrium", - "scass_type":"c16_m62_1 * NVIDIA T4" + "scass_type":"1 * NVIDIA P100_16g" } From 63af0f4a76bce9ae79bf25eaa9dff721f7319787 Mon Sep 17 00:00:00 2001 From: Zhuoyuan <75076820+ZLI-afk@users.noreply.github.com> Date: Thu, 14 Nov 2024 12:34:03 +0800 Subject: [PATCH 02/14] feat: support "reuss" and "vrh" modulus average type indication in Elastic.py --- README.md | 1 + apex/core/property/Elastic.py | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b5c8202b..86274fd6 100644 --- a/README.md +++ b/README.md @@ -413,6 +413,7 @@ Below are three examples (for detailed explanations of each parameter, please re | shear_deform | Float | 0.01 | The deformation in other directions, default = 1e-2 | | conventional | Bool | False | Whether adopt conventional cell for deformation | | ieee | Bool | False | Whether rotate relaxed structure into IEEE-standard format before deformation ([ref](https://ieeexplore.ieee.org/document/26560)) | + | modulus_type | String | "voigt" | Bulk and shear modulus average type (default: "voigt"). Choose from "voigt", "reuss" and "vrh" | ##### 3.1.2.3. Surface | Key words | Data structure | Example | Description | diff --git a/apex/core/property/Elastic.py b/apex/core/property/Elastic.py index 1a59af5b..23835390 100644 --- a/apex/core/property/Elastic.py +++ b/apex/core/property/Elastic.py @@ -35,6 +35,8 @@ def __init__(self, parameter, inter_param=None): self.conventional = parameter["conventional"] parameter.setdefault("ieee", False) self.ieee = parameter["ieee"] + parameter.setdefault("modulus_type", "voigt") + self.modulus_type = parameter["modulus_type"] parameter.setdefault("cal_type", "relaxation") self.cal_type = parameter["cal_type"] default_cal_setting = { @@ -272,8 +274,16 @@ def _compute_lower(self, output_file, all_tasks, all_res): res_data["elastic_tensor"].append(c_ii) ptr_data += "\n" - BV = et.k_voigt / 1e4 - GV = et.g_voigt / 1e4 + if self.modulus_type == "voigt": + BV = et.k_voigt / 1e4 + GV = et.g_voigt / 1e4 + elif self.modulus_type == "reuss": + BV = et.k_reuss / 1e4 + GV = et.g_reuss / 1e4 + elif self.modulus_type == "vrh": + BV = et.k_vrh / 1e4 + GV = et.g_vrh / 1e4 + EV = 9 * BV * GV / (3 * BV + GV) uV = 0.5 * (3 * BV - 2 * GV) / (3 * BV + GV) From acb3a11425568495cea127db4747398c5a3d0f38 Mon Sep 17 00:00:00 2001 From: Zhuoyuan <75076820+ZLI-afk@users.noreply.github.com> Date: Thu, 14 Nov 2024 12:35:03 +0800 Subject: [PATCH 03/14] chore: update version tag --- apex/__init__.py | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apex/__init__.py b/apex/__init__.py index 3d7752d7..2342c410 100644 --- a/apex/__init__.py +++ b/apex/__init__.py @@ -1,5 +1,5 @@ import os -__version__ = '1.2.10' +__version__ = '1.2.11' LOCAL_PATH = os.getcwd() diff --git a/setup.py b/setup.py index 3d9f6863..9c9ca2a8 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setuptools.setup( name="apex-flow", - version="1.2.10", + version="1.2.11", author="Zhuoyuan Li, Tongqi Wen", author_email="zhuoyli@outlook.com", description="Alloy Properties EXplorer using simulations", From a20e652cd3345be2748b6771f7f4e0568b50c55d Mon Sep 17 00:00:00 2001 From: Zhuoyuan <75076820+ZLI-afk@users.noreply.github.com> Date: Mon, 18 Nov 2024 22:10:28 +0800 Subject: [PATCH 04/14] feat: detect relaxation mismatch and option to skip property calc --- apex/core/common_equi.py | 11 +++++++++++ apex/core/common_prop.py | 10 ++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/apex/core/common_equi.py b/apex/core/common_equi.py index fa6493c6..f49ffce3 100644 --- a/apex/core/common_equi.py +++ b/apex/core/common_equi.py @@ -5,6 +5,7 @@ import dpdata from monty.serialization import dumpfn from pymatgen.core.structure import Structure +from pymatgen.analysis.structure_matcher import StructureMatcher from apex.core.calculator.lib import abacus_utils from apex.core.lib import crys from apex.core.calculator.calculator import make_calculator @@ -201,13 +202,23 @@ def post_equi(confs, inter_param): except FileNotFoundError: logging.warning(f"No CONTCAR found in {ii}, skip") continue + try: + init_ss = Structure.from_file(poscar) + except FileNotFoundError: + logging.warning(f"No POSCAR found in {ii}, skip") + continue st = StructureInfo(ss) + matcher = StructureMatcher() + is_match = matcher.fit(init_ss, ss) + if not is_match: + logging.warning(f"Structure mismatch after relaxation in {ii}") struct_info_dict = { "space_group_symbol": st.space_group_symbol, "space_group_number": st.space_group_number, "point_group_symbol": st.point_group_symbol, "crystal_system": st.crystal_system, "lattice_type": st.lattice_type, + "mismatch": not is_match, } dumpfn(struct_info_dict, os.path.join(ii, "structure.json"), indent=4) diff --git a/apex/core/common_prop.py b/apex/core/common_prop.py index dc179dd7..3124fbbc 100644 --- a/apex/core/common_prop.py +++ b/apex/core/common_prop.py @@ -1,7 +1,7 @@ import glob import os from multiprocessing import Pool -from monty.serialization import dumpfn +from monty.serialization import dumpfn, loadfn from apex.core.calculator.calculator import make_calculator from apex.core.property.Elastic import Elastic @@ -54,6 +54,9 @@ def make_property(confs, inter_param, property_list): conf_dirs.sort() for ii in conf_dirs: sepline(ch=ii, screen=True) + path_to_equi = os.path.join(ii, "relaxation", "relax_task") + structure_dict = loadfn(os.path.join(path_to_equi, "structure.json")) + mismatch = structure_dict.get("mismatch", False) for jj in property_list: do_refine, suffix = handle_prop_suffix(jj) if not suffix: @@ -63,8 +66,11 @@ def make_property(confs, inter_param, property_list): # determine the suffix: from scratch or refine property_type = jj["type"] - path_to_equi = os.path.join(ii, "relaxation", "relax_task") path_to_work = os.path.join(ii, property_type + "_" + suffix) + skip_mismatch = jj.get("skip_mismatch", False) + if mismatch and skip_mismatch: + print("Skip mismatched structure") + continue create_path(path_to_work) From d06cc166aa02a392bdde0bf98c2177e377a8ddab Mon Sep 17 00:00:00 2001 From: Zhuoyuan <75076820+ZLI-afk@users.noreply.github.com> Date: Tue, 19 Nov 2024 18:27:07 +0800 Subject: [PATCH 05/14] feat: skip property calc due to mismatch relaxed structure --- apex/op/property_ops.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/apex/op/property_ops.py b/apex/op/property_ops.py index 2ec2b5b7..11ef525b 100644 --- a/apex/op/property_ops.py +++ b/apex/op/property_ops.py @@ -1,5 +1,6 @@ import os, glob, pathlib, shutil, subprocess, logging from pathlib import Path +from monty.serialization import loadfn from typing import List from dflow.python import ( OP, @@ -65,7 +66,20 @@ def execute( create_path(str(abs_path_to_prop)) conf_path = abs_path_to_prop.parent prop_name = abs_path_to_prop.name + + # break subworkflow if mismatch stop is set path_to_equi = conf_path / "relaxation" / "relax_task" + structure_dict = loadfn(os.path.join(path_to_equi, "structure.json")) + mismatch = structure_dict.get("mismatch", False) + skip_mismatch = prop_param.get("skip_mismatch", False) + if mismatch and skip_mismatch: + print("Skipped due to mismatched relaxed structure") + return OPIO({ + 'output_work_path': abs_path_to_prop, + 'task_names': [], + 'njobs': 0, + 'task_paths': [] + }) inter_param_prop = inter_param if "cal_setting" in prop_param and "overwrite_interaction" in prop_param["cal_setting"]: @@ -141,6 +155,13 @@ def execute(self, op_in: OPIO) -> OPIO: task_names = op_in["task_names"] path_to_prop = op_in["path_to_prop"] inter_type = inter_param["type"] + + if len(task_names) == 0: + print("Skip post property") + return OPIO({ + 'retrieve_path': [] + }) + copy_dir_list_input = [path_to_prop.split('/')[0]] os.chdir(input_all) copy_dir_list = [] From 9f6a341e81830180487564c289e23fd1dcf8493a Mon Sep 17 00:00:00 2001 From: Zhuoyuan <75076820+ZLI-afk@users.noreply.github.com> Date: Wed, 20 Nov 2024 10:39:56 +0800 Subject: [PATCH 06/14] feat: skip property calc due to mismatch relaxed structure --- apex/__init__.py | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apex/__init__.py b/apex/__init__.py index 2342c410..cb2b070e 100644 --- a/apex/__init__.py +++ b/apex/__init__.py @@ -1,5 +1,5 @@ import os -__version__ = '1.2.11' +__version__ = '1.2.12.nightly-241039' LOCAL_PATH = os.getcwd() diff --git a/setup.py b/setup.py index 9c9ca2a8..a8cf53ba 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setuptools.setup( name="apex-flow", - version="1.2.11", + version="1.2.12.nightly-241039", author="Zhuoyuan Li, Tongqi Wen", author_email="zhuoyli@outlook.com", description="Alloy Properties EXplorer using simulations", From 893b7e2c55231c32762990d69ebc48d0d406da87 Mon Sep 17 00:00:00 2001 From: Zhuoyuan <75076820+ZLI-afk@users.noreply.github.com> Date: Wed, 20 Nov 2024 10:46:32 +0800 Subject: [PATCH 07/14] feat: skip property calc due to mismatch relaxed structure --- apex/core/common_prop.py | 5 ++++- apex/op/property_ops.py | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/apex/core/common_prop.py b/apex/core/common_prop.py index 3124fbbc..ecbd9452 100644 --- a/apex/core/common_prop.py +++ b/apex/core/common_prop.py @@ -55,7 +55,10 @@ def make_property(confs, inter_param, property_list): for ii in conf_dirs: sepline(ch=ii, screen=True) path_to_equi = os.path.join(ii, "relaxation", "relax_task") - structure_dict = loadfn(os.path.join(path_to_equi, "structure.json")) + try: + structure_dict = loadfn(os.path.join(path_to_equi, "structure.json")) + except FileNotFoundError: + structure_dict = {} mismatch = structure_dict.get("mismatch", False) for jj in property_list: do_refine, suffix = handle_prop_suffix(jj) diff --git a/apex/op/property_ops.py b/apex/op/property_ops.py index 11ef525b..ddc5056f 100644 --- a/apex/op/property_ops.py +++ b/apex/op/property_ops.py @@ -69,7 +69,10 @@ def execute( # break subworkflow if mismatch stop is set path_to_equi = conf_path / "relaxation" / "relax_task" - structure_dict = loadfn(os.path.join(path_to_equi, "structure.json")) + try: + structure_dict = loadfn(os.path.join(path_to_equi, "structure.json")) + except FileNotFoundError: + structure_dict = {} mismatch = structure_dict.get("mismatch", False) skip_mismatch = prop_param.get("skip_mismatch", False) if mismatch and skip_mismatch: From 5d088b40f8248357e593adc844473a2e6b973558 Mon Sep 17 00:00:00 2001 From: Zhuoyuan <75076820+ZLI-afk@users.noreply.github.com> Date: Wed, 20 Nov 2024 10:55:19 +0800 Subject: [PATCH 08/14] feat: skip property calc due to mismatch relaxed structure --- apex/__init__.py | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apex/__init__.py b/apex/__init__.py index cb2b070e..a8611d52 100644 --- a/apex/__init__.py +++ b/apex/__init__.py @@ -1,5 +1,5 @@ import os -__version__ = '1.2.12.nightly-241039' +__version__ = '1.2.12-nightly-241039' LOCAL_PATH = os.getcwd() diff --git a/setup.py b/setup.py index a8cf53ba..d9cc476f 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setuptools.setup( name="apex-flow", - version="1.2.12.nightly-241039", + version="1.2.12-nightly-241039", author="Zhuoyuan Li, Tongqi Wen", author_email="zhuoyli@outlook.com", description="Alloy Properties EXplorer using simulations", From 711d1d8ab3d6c480bbb1c0ca65911396f61719d6 Mon Sep 17 00:00:00 2001 From: Zhuoyuan <75076820+ZLI-afk@users.noreply.github.com> Date: Wed, 20 Nov 2024 11:01:49 +0800 Subject: [PATCH 09/14] feat: skip property calc due to mismatch relaxed structure --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index d9cc476f..74d71be9 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setuptools.setup( name="apex-flow", - version="1.2.12-nightly-241039", + version="1.2.12", author="Zhuoyuan Li, Tongqi Wen", author_email="zhuoyli@outlook.com", description="Alloy Properties EXplorer using simulations", From f543df401454e3f7c6aaecdc1a2d4b9ace4e8e8c Mon Sep 17 00:00:00 2001 From: Zhuoyuan <75076820+ZLI-afk@users.noreply.github.com> Date: Fri, 13 Dec 2024 11:38:11 +0800 Subject: [PATCH 10/14] feat: add interatomic type of `nep` --- apex/core/calculator/Lammps.py | 5 ++++- apex/core/calculator/__init__.py | 1 + apex/core/calculator/lib/lammps_utils.py | 10 ++++++++++ apex/core/common_equi.py | 2 +- 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/apex/core/calculator/Lammps.py b/apex/core/calculator/Lammps.py index cd979c21..06a83a29 100644 --- a/apex/core/calculator/Lammps.py +++ b/apex/core/calculator/Lammps.py @@ -14,7 +14,8 @@ inter_snap, inter_gap, inter_rann, - inter_mace + inter_mace, + inter_nep ) from .Task import Task from dflow.python import upload_packages @@ -55,6 +56,8 @@ def set_inter_type_func(self): self.inter_func = inter_rann elif self.inter_type == "mace": self.inter_func = inter_mace + elif self.inter_type == "nep": + self.inter_func = inter_nep else: self.inter_func = inter_eam_alloy diff --git a/apex/core/calculator/__init__.py b/apex/core/calculator/__init__.py index 4beed011..3fc41b72 100644 --- a/apex/core/calculator/__init__.py +++ b/apex/core/calculator/__init__.py @@ -8,4 +8,5 @@ 'gap', 'rann', 'mace', + 'nep' ] diff --git a/apex/core/calculator/lib/lammps_utils.py b/apex/core/calculator/lib/lammps_utils.py index f6baa57a..1811244d 100644 --- a/apex/core/calculator/lib/lammps_utils.py +++ b/apex/core/calculator/lib/lammps_utils.py @@ -138,6 +138,16 @@ def inter_mace(param): ret += line return ret +def inter_nep(param): + ret = "" + line = "pair_style nep \n" + line += "pair_coeff * * %s " % param["model_name"][0] + for ii in param["param_type"]: + line += ii + " " + line += "\n" + ret += line + return ret + def inter_snap(param): ret = "" diff --git a/apex/core/common_equi.py b/apex/core/common_equi.py index f49ffce3..472ab3ee 100644 --- a/apex/core/common_equi.py +++ b/apex/core/common_equi.py @@ -15,7 +15,7 @@ from apex.core.structure import StructureInfo from dflow.python import upload_packages upload_packages.append(__file__) -lammps_task_type = ['deepmd', 'eam_alloy', 'meam', 'eam_fs', 'meam_spline', 'snap', 'gap', 'rann', 'mace'] +lammps_task_type = ['deepmd', 'eam_alloy', 'meam', 'eam_fs', 'meam_spline', 'snap', 'gap', 'rann', 'mace', 'nep'] def make_equi(confs, inter_param, relax_param): From 2fcb1b613f6d5743577fdf970a2d8695b058bcf5 Mon Sep 17 00:00:00 2001 From: Zhuoyuan <75076820+ZLI-afk@users.noreply.github.com> Date: Fri, 13 Dec 2024 11:57:08 +0800 Subject: [PATCH 11/14] update version tag to 1.2.11 --- apex/__init__.py | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apex/__init__.py b/apex/__init__.py index a8611d52..2342c410 100644 --- a/apex/__init__.py +++ b/apex/__init__.py @@ -1,5 +1,5 @@ import os -__version__ = '1.2.12-nightly-241039' +__version__ = '1.2.11' LOCAL_PATH = os.getcwd() diff --git a/setup.py b/setup.py index 74d71be9..9c9ca2a8 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setuptools.setup( name="apex-flow", - version="1.2.12", + version="1.2.11", author="Zhuoyuan Li, Tongqi Wen", author_email="zhuoyli@outlook.com", description="Alloy Properties EXplorer using simulations", From 74abf5deb199ba52deed849c2f5e6ee079c559e5 Mon Sep 17 00:00:00 2001 From: Zhuoyuan <75076820+ZLI-afk@users.noreply.github.com> Date: Mon, 30 Dec 2024 10:26:54 +0800 Subject: [PATCH 12/14] update to 2.1.12 --- apex/__init__.py | 2 +- apex/core/property/Elastic.py | 16 ++++++++-------- apex/reporter/property_report.py | 26 +++++++++++++------------- setup.py | 2 +- 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/apex/__init__.py b/apex/__init__.py index 2342c410..3c3d3e4a 100644 --- a/apex/__init__.py +++ b/apex/__init__.py @@ -1,5 +1,5 @@ import os -__version__ = '1.2.11' +__version__ = '1.2.12' LOCAL_PATH = os.getcwd() diff --git a/apex/core/property/Elastic.py b/apex/core/property/Elastic.py index 23835390..46fc83f6 100644 --- a/apex/core/property/Elastic.py +++ b/apex/core/property/Elastic.py @@ -287,14 +287,14 @@ def _compute_lower(self, output_file, all_tasks, all_res): EV = 9 * BV * GV / (3 * BV + GV) uV = 0.5 * (3 * BV - 2 * GV) / (3 * BV + GV) - res_data["BV"] = BV - res_data["GV"] = GV - res_data["EV"] = EV - res_data["uV"] = uV - ptr_data += "# Bulk Modulus BV = %.2f GPa\n" % BV - ptr_data += "# Shear Modulus GV = %.2f GPa\n" % GV - ptr_data += "# Youngs Modulus EV = %.2f GPa\n" % EV - ptr_data += "# Poission Ratio uV = %.2f\n " % uV + res_data["B"] = BV + res_data["G"] = GV + res_data["E"] = EV + res_data["u"] = uV + ptr_data += "# Bulk Modulus B = %.2f GPa\n" % BV + ptr_data += "# Shear Modulus G = %.2f GPa\n" % GV + ptr_data += "# Youngs Modulus E = %.2f GPa\n" % EV + ptr_data += "# Poission Ratio u = %.2f\n " % uV dumpfn(res_data, output_file, indent=4) diff --git a/apex/reporter/property_report.py b/apex/reporter/property_report.py index a64a0661..2434996f 100644 --- a/apex/reporter/property_report.py +++ b/apex/reporter/property_report.py @@ -131,17 +131,17 @@ def plotly_graph(res_data: dict, name: str, **kwargs): c44 = elastic_tensor[3][3] c55 = elastic_tensor[4][4] c66 = elastic_tensor[5][5] - BV = res_data['BV'] - GV = res_data['GV'] - EV = res_data['EV'] - uV = res_data['uV'] + BV = res_data['B'] + GV = res_data['G'] + EV = res_data['E'] + uV = res_data['u'] polar = go.Scatterpolar( name=name, r=[c11, c12, c13, c22, c23, c33, c44, c55, c66, BV, GV, EV, uV], theta=['C11', 'C12', 'C13', 'C22', 'C23', 'C33', - 'C44', 'C55', 'C66', 'BV', 'GV', 'EV', 'uV'], + 'C44', 'C55', 'C66', 'B', 'G', 'E', 'u'], fill='none' ) @@ -156,15 +156,15 @@ def plotly_graph(res_data: dict, name: str, **kwargs): def dash_table(res_data: dict, decimal: int = 3, **kwargs) -> dash_table.DataTable: ph = '-' et = res_data['elastic_tensor'] - BV = res_data['BV'] - GV = res_data['GV'] - EV = res_data['EV'] - uV = res_data['uV'] + BV = res_data['B'] + GV = res_data['G'] + EV = res_data['E'] + uV = res_data['u'] null_t = [' '] * 6 - BV_t = ['BV', BV, ph, ph, ph, ph] - GV_t = ['GV', GV, ph, ph, ph, ph] - EV_t = ['EV', EV, ph, ph, ph, ph] - uV_t = ['uV', uV, ph, ph, ph, ph] + BV_t = ['B', BV, ph, ph, ph, ph] + GV_t = ['G', GV, ph, ph, ph, ph] + EV_t = ['E', EV, ph, ph, ph, ph] + uV_t = ['u', uV, ph, ph, ph, ph] table_tensor = [et[0], et[1], et[2], et[3], et[4], et[5], null_t, BV_t, GV_t, EV_t, uV_t] diff --git a/setup.py b/setup.py index 9c9ca2a8..74d71be9 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setuptools.setup( name="apex-flow", - version="1.2.11", + version="1.2.12", author="Zhuoyuan Li, Tongqi Wen", author_email="zhuoyli@outlook.com", description="Alloy Properties EXplorer using simulations", From 0e3c558842f3fe7e07163cef0c02cb3701bb87a4 Mon Sep 17 00:00:00 2001 From: Zhuoyuan <75076820+ZLI-afk@users.noreply.github.com> Date: Mon, 6 Jan 2025 20:35:25 +0800 Subject: [PATCH 13/14] update to 2.1.12 (fix pymatgen deprecation) --- apex/core/calculator/lib/abacus_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apex/core/calculator/lib/abacus_utils.py b/apex/core/calculator/lib/abacus_utils.py index e1e30a12..e97c899e 100644 --- a/apex/core/calculator/lib/abacus_utils.py +++ b/apex/core/calculator/lib/abacus_utils.py @@ -4,7 +4,7 @@ import dpdata import numpy as np -from pymatgen.core.structure import Structure +from pymatgen.core import Structure from . import abacus_scf from dflow.python import upload_packages From 0211917ee102eba441a5dd87d58c142d01cfa4c9 Mon Sep 17 00:00:00 2001 From: Zhuoyuan <75076820+ZLI-afk@users.noreply.github.com> Date: Mon, 6 Jan 2025 20:48:52 +0800 Subject: [PATCH 14/14] update to 2.1.12 (fix pymatgen deprecation) --- .github/workflows/main.yml | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4c0bdb77..c9daafe9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.8", "3.9", "3.10"] + python-version: ["3.10"] steps: - uses: actions/checkout@master diff --git a/setup.py b/setup.py index 74d71be9..7f618c0f 100644 --- a/setup.py +++ b/setup.py @@ -34,7 +34,7 @@ "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Operating System :: OS Independent", ], - python_requires='>=3.8', + python_requires='>=3.10', entry_points={'console_scripts': [ 'apex = apex.__main__:main', ]}