From ba662cd9fbd06648234249ebe1eecb688be47c19 Mon Sep 17 00:00:00 2001 From: Ali-Tehrani Date: Thu, 3 Aug 2023 11:35:44 -0400 Subject: [PATCH] Fix #173 by updating import-resources API This arises from pull-request #174. Rather than using an older version of import-resources. This fixed the issue to the current API --- src/grid/angular.py | 5 ++--- src/grid/atomgrid.py | 11 +++++------ src/grid/hirshfeld.py | 5 ++--- 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/grid/angular.py b/src/grid/angular.py index 211e4cef..b0b91171 100644 --- a/src/grid/angular.py +++ b/src/grid/angular.py @@ -68,7 +68,7 @@ from bisect import bisect_left import numpy as np -from importlib_resources import path +from importlib_resources import files from grid.basegrid import Grid @@ -554,8 +554,7 @@ def _load_precomputed_angular_grid(degree: int, size: int, use_spherical: bool): raise ValueError(f"Given size={size} is not supported, choose from {npoints}") # load npz file corresponding to the given degree & size filename = f"{type}_{degree}_{size}.npz" - with path(file_path, filename) as npz_file: - data = np.load(npz_file) + data = np.load(files(file_path).joinpath(filename)) if len(data["weights"]) == 1: return data["points"], np.ones(len(data["points"])) * data["weights"] return data["points"], data["weights"] diff --git a/src/grid/atomgrid.py b/src/grid/atomgrid.py index 152517f5..4c5dea5d 100644 --- a/src/grid/atomgrid.py +++ b/src/grid/atomgrid.py @@ -22,7 +22,7 @@ from typing import Union import numpy as np -from importlib_resources import path +from importlib_resources import files from scipy.interpolate import CubicSpline from scipy.spatial.transform import Rotation as R @@ -173,11 +173,10 @@ def from_preset( center = np.zeros(3, dtype=float) if center is None else np.asarray(center, dtype=float) cls._input_type_check(rgrid, center) # load radial points and - with path("grid.data.prune_grid", f"prune_grid_{preset}.npz") as npz_file: - data = np.load(npz_file) - # load predefined_radial sectors and num_of_points in each sectors - rad = data[f"{atnum}_rad"] - npt = data[f"{atnum}_npt"] + data = np.load(files("grid.data.prune_grid").joinpath(f"prune_grid_{preset}.npz")) + # load predefined_radial sectors and num_of_points in each sectors + rad = data[f"{atnum}_rad"] + npt = data[f"{atnum}_npt"] degs = AngularGrid.convert_angular_sizes_to_degrees(npt, use_spherical) rad_degs = AtomGrid._find_l_for_rad_list(rgrid.points, rad, degs) diff --git a/src/grid/hirshfeld.py b/src/grid/hirshfeld.py index 60c15397..d1ad0096 100644 --- a/src/grid/hirshfeld.py +++ b/src/grid/hirshfeld.py @@ -21,7 +21,7 @@ import numpy as np -from importlib_resources import path +from importlib_resources import files from scipy.interpolate import CubicSpline @@ -34,8 +34,7 @@ def __init__(self): @staticmethod def _load_npz_proatom(num): """Return radial grid points and neutral density for a given atomic number.""" - with path("grid.data.proatoms", f"a{num:03d}.npz") as fname: - data = np.load(fname) + data = np.load(files("grid.data.proatoms").joinpath(f"a{num:03d}.npz")) return data["r"], data["dn"] @staticmethod