Skip to content

Commit 86df8a6

Browse files
committed
More typing fixes.
1 parent c2ca47f commit 86df8a6

File tree

1 file changed

+16
-14
lines changed

1 file changed

+16
-14
lines changed

src/pymatgen/core/structure.py

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1014,9 +1014,9 @@ class IStructure(SiteCollection, MSONable):
10141014

10151015
def __init__(
10161016
self,
1017-
lattice: NDArray[np.float64] | Lattice,
1017+
lattice: ArrayLike | Lattice,
10181018
species: Sequence[CompositionLike],
1019-
coords: Sequence[NDArray[np.float64]] | Sequence[Sequence[float]],
1019+
coords: Sequence[ArrayLike],
10201020
charge: float | None = None,
10211021
validate_proximity: bool = False,
10221022
to_unit_cell: bool = False,
@@ -1276,9 +1276,9 @@ def from_sites(
12761276
def from_spacegroup(
12771277
cls,
12781278
sg: str | int,
1279-
lattice: list | np.ndarray | Lattice,
1279+
lattice: ArrayLike | Lattice,
12801280
species: Sequence[str | Element | Species | DummySpecies | Composition],
1281-
coords: Sequence[Sequence[float]],
1281+
coords: Sequence[ArrayLike],
12821282
site_properties: dict[str, Sequence] | None = None,
12831283
coords_are_cartesian: bool = False,
12841284
tol: float = 1e-5,
@@ -1346,7 +1346,9 @@ def from_spacegroup(
13461346
raise ValueError(f"Supplied species and coords lengths ({len(species)} vs {len(coords)}) are different!")
13471347

13481348
frac_coords = (
1349-
lattice.get_fractional_coords(coords) if coords_are_cartesian else np.array(coords, dtype=np.float64)
1349+
lattice.get_fractional_coords(np.asarray(coords, dtype=np.float64))
1350+
if coords_are_cartesian
1351+
else np.asarray(coords, dtype=np.float64)
13501352
)
13511353

13521354
props = {} if site_properties is None else site_properties
@@ -1376,7 +1378,7 @@ def from_spacegroup(
13761378
def from_magnetic_spacegroup(
13771379
cls,
13781380
msg: str | MagneticSpaceGroup,
1379-
lattice: list | np.ndarray | Lattice,
1381+
lattice: ArrayLike | Lattice,
13801382
species: Sequence[str | Element | Species | DummySpecies | Composition],
13811383
coords: Sequence[Sequence[float]],
13821384
site_properties: dict[str, Sequence],
@@ -1521,7 +1523,7 @@ def charge(self) -> float:
15211523
return self._charge
15221524

15231525
@property
1524-
def distance_matrix(self) -> np.ndarray:
1526+
def distance_matrix(self) -> NDArray[np.float64]:
15251527
"""The distance matrix between all sites in the structure. For
15261528
periodic structures, this should return the nearest image distance.
15271529
"""
@@ -2798,7 +2800,7 @@ def get_orderings(
27982800
disordered_sites = [site for site in self if not site.is_ordered]
27992801
subset_structure = Structure.from_sites(disordered_sites)
28002802
dist_matrix = subset_structure.distance_matrix
2801-
dists = sorted(set(dist_matrix.ravel()))
2803+
dists = sorted(set(dist_matrix.ravel())) # type:ignore[type-var]
28022804
unique_dists = []
28032805
for idx in range(1, len(dists)):
28042806
if dists[idx] - dists[idx - 1] > 0.1:
@@ -3442,7 +3444,7 @@ class IMolecule(SiteCollection, MSONable):
34423444
def __init__(
34433445
self,
34443446
species: Sequence[CompositionLike],
3445-
coords: Sequence[np.ndarray] | np.ndarray,
3447+
coords: Sequence[ArrayLike] | ArrayLike,
34463448
charge: float = 0.0,
34473449
spin_multiplicity: int | None = None,
34483450
validate_proximity: bool = False,
@@ -3480,10 +3482,10 @@ def __init__(
34803482
properties (dict): dictionary containing properties associated
34813483
with the whole molecule.
34823484
"""
3483-
if len(species) != len(coords):
3485+
if len(species) != len(coords): # type:ignore[arg-type]
34843486
raise StructureError(
3485-
f"len(species) != len(coords) ({len(species)} != {len(coords)}). List of atomic species must "
3486-
"have same length as list of fractional coordinates."
3487+
f"len(species) != len(coords) ({len(species)} != {len(coords)}). " # type:ignore[arg-type]
3488+
f"List of atomic species must have same length as list of fractional coordinates."
34873489
)
34883490

34893491
self._charge_spin_check = charge_spin_check
@@ -3494,7 +3496,7 @@ def __init__(
34943496
if site_properties:
34953497
prop = {k: v[idx] for k, v in site_properties.items()}
34963498
label = labels[idx] if labels else None
3497-
sites.append(Site(species[idx], coords[idx], properties=prop, label=label))
3499+
sites.append(Site(species[idx], coords[idx], properties=prop, label=label)) # type:ignore[index]
34983500

34993501
self._sites = tuple(sites) # type:ignore[arg-type]
35003502
if validate_proximity and not self.is_valid():
@@ -3571,7 +3573,7 @@ def nelectrons(self) -> float:
35713573
return n_electrons
35723574

35733575
@property
3574-
def center_of_mass(self) -> NDArray:
3576+
def center_of_mass(self) -> NDArray[np.float64]:
35753577
"""Center of mass of molecule."""
35763578
center = np.zeros(3)
35773579
total_weight: float = 0

0 commit comments

Comments
 (0)