Skip to content

Commit 4d52865

Browse files
committed
follow PEP 484 in crystal_toolkit/components/__init__.py
1 parent b56f413 commit 4d52865

File tree

6 files changed

+65
-46
lines changed

6 files changed

+65
-46
lines changed

crystal_toolkit/components/__init__.py

Lines changed: 47 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,69 @@
1+
# use redundant as-import following PEP 484, see
2+
# https://github.com/microsoft/pylance-release/issues/856#issuecomment-763793949
3+
# and https://peps.python.org/pep-0484/#stub-files
4+
5+
from crystal_toolkit.components.bandstructure import (
6+
BandstructureAndDosComponent as BandstructureAndDosComponent,
7+
)
18
from crystal_toolkit.components.bandstructure import (
2-
BandstructureAndDosComponent,
3-
BandstructureAndDosPanelComponent,
9+
BandstructureAndDosPanelComponent as BandstructureAndDosPanelComponent,
10+
)
11+
from crystal_toolkit.components.diffraction import (
12+
TEMDiffractionComponent as TEMDiffractionComponent,
413
)
514
from crystal_toolkit.components.diffraction import (
6-
TEMDiffractionComponent,
7-
XRayDiffractionComponent,
15+
XRayDiffractionComponent as XRayDiffractionComponent,
816
)
9-
from crystal_toolkit.components.localenv import LocalEnvironmentPanel
1017
from crystal_toolkit.components.phase_diagram import (
11-
PhaseDiagramComponent,
12-
PhaseDiagramPanelComponent,
18+
PhaseDiagramComponent as PhaseDiagramComponent,
19+
)
20+
from crystal_toolkit.components.phase_diagram import (
21+
PhaseDiagramPanelComponent as PhaseDiagramPanelComponent,
22+
)
23+
from crystal_toolkit.components.pourbaix import (
24+
PourbaixDiagramComponent as PourbaixDiagramComponent,
25+
)
26+
from crystal_toolkit.components.robocrys import RobocrysComponent as RobocrysComponent
27+
from crystal_toolkit.components.search import SearchComponent as SearchComponent
28+
from crystal_toolkit.components.structure import (
29+
StructureMoleculeComponent as StructureMoleculeComponent,
1330
)
14-
from crystal_toolkit.components.pourbaix import PourbaixDiagramComponent
15-
from crystal_toolkit.components.robocrys import RobocrysComponent
16-
from crystal_toolkit.components.search import SearchComponent
17-
from crystal_toolkit.components.structure import StructureMoleculeComponent
1831

19-
# from crystal_toolkit.components.submit_snl import SubmitSNLPanel
20-
from crystal_toolkit.components.symmetry import SymmetryPanel
32+
# from crystal_toolkit.components.submit_snl import SubmitSNLPanel as SubmitSNLPanel
33+
from crystal_toolkit.components.symmetry import SymmetryPanel as SymmetryPanel
2134
from crystal_toolkit.components.transformations.autooxistatedecoration import (
22-
AutoOxiStateDecorationTransformationComponent,
35+
AutoOxiStateDecorationTransformationComponent as AutoOxiStateDecorationTransformationComponent,
36+
)
37+
from crystal_toolkit.components.transformations.core import (
38+
AllTransformationsComponent as AllTransformationsComponent,
2339
)
24-
from crystal_toolkit.components.transformations.core import AllTransformationsComponent
2540

2641
# from crystal_toolkit.components.transformations.cubic import (
27-
# CubicSupercellTransformationComponent,
42+
# CubicSupercellTransformationComponent as CubicSupercellTransformationComponent,
2843
# )
2944
from crystal_toolkit.components.transformations.grainboundary import (
30-
GrainBoundaryTransformationComponent,
45+
GrainBoundaryTransformationComponent as GrainBoundaryTransformationComponent,
46+
)
47+
48+
# from crystal_toolkit.components.transformations.rattle import (
49+
# MonteCarloRattleTransformationComponent as MonteCarloRattleTransformationComponent,
50+
# )
51+
from crystal_toolkit.components.transformations.slab import (
52+
SlabTransformationComponent as SlabTransformationComponent,
3153
)
32-
from crystal_toolkit.components.transformations.slab import SlabTransformationComponent
3354
from crystal_toolkit.components.transformations.substitution import (
34-
SubstitutionTransformationComponent,
55+
SubstitutionTransformationComponent as SubstitutionTransformationComponent,
3556
)
3657
from crystal_toolkit.components.transformations.supercell import (
37-
SupercellTransformationComponent,
58+
SupercellTransformationComponent as SupercellTransformationComponent,
59+
)
60+
from crystal_toolkit.components.upload import (
61+
StructureMoleculeUploadComponent as StructureMoleculeUploadComponent,
3862
)
39-
from crystal_toolkit.components.upload import StructureMoleculeUploadComponent
40-
from crystal_toolkit.core.mpcomponent import MPComponent
41-
42-
# from crystal_toolkit.components.xas import XASComponent, XASPanelComponent
43-
44-
45-
# from crystal_toolkit.components.transformations.rattle import (
46-
# MonteCarloRattleTransformationComponent,
47-
# )
4863

64+
# from crystal_toolkit.components.xas import XASComponent as XASComponent
65+
# from crystal_toolkit.components.xas import XASPanelComponent as XASPanelComponent
66+
from crystal_toolkit.core.mpcomponent import MPComponent as MPComponent
4967

5068
register_app = MPComponent.register_app
5169
register_cache = MPComponent.register_cache

crystal_toolkit/core/legend.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import warnings
55
from collections import defaultdict
66
from itertools import chain
7-
from typing import Any
7+
from typing import Any, cast
88

99
import numpy as np
1010
from matplotlib.cm import get_cmap
@@ -134,7 +134,7 @@ def __init__(
134134
self.color_scheme = color_scheme
135135
self.radius_scheme = radius_scheme
136136
self.cmap = cmap
137-
self.cmap_range = cmap_range
137+
self.cmap_range = cast(tuple[float, float], cmap_range)
138138

139139
@staticmethod
140140
def generate_accessible_color_scheme_on_the_fly(
@@ -162,12 +162,12 @@ def generate_accessible_color_scheme_on_the_fly(
162162
(0, 0, 0), # 0, black
163163
(230, 159, 0), # 1, orange
164164
(86, 180, 233), # 2, sky blue
165-
(0, 158, 115), #  3, bluish green
165+
(0, 158, 115), # 3, bluish green
166166
(240, 228, 66), # 4, yellow
167167
(0, 114, 178), # 5, blue
168168
(213, 94, 0), # 6, vermilion
169169
(204, 121, 167), # 7, reddish purple
170-
(255, 255, 255), #  8, white
170+
(255, 255, 255), # 8, white
171171
]
172172

173173
# similar to CPK, mapping element to palette index
@@ -300,8 +300,7 @@ def get_color(self, sp: Specie | Element, site: Site | None = None) -> str:
300300
cmap = get_cmap(self.cmap)
301301

302302
# normalize in [0, 1] range, as expected by cmap
303-
prop_min = self.cmap_range[0]
304-
prop_max = self.cmap_range[1]
303+
prop_min, prop_max = self.cmap_range
305304
prop_normed = (prop - prop_min) / (prop_max - prop_min)
306305

307306
color = [int(c * 255) for c in cmap(prop_normed)[0:3]]

crystal_toolkit/core/scene.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class Scene:
4848

4949
name: str # name for the scene, does not have to be unique
5050
contents: list = field(default_factory=list)
51-
origin: list[float] = field(default=(0, 0, 0))
51+
origin: tuple[float, float, float] = field(default=(0, 0, 0))
5252
visible: bool = True
5353
lattice: list[list[float]] | None = None
5454
_meta: dict | None = None
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
from crystal_toolkit.renderables.lattice import Lattice
2-
from crystal_toolkit.renderables.molecule import Molecule
3-
from crystal_toolkit.renderables.moleculegraph import MoleculeGraph
4-
from crystal_toolkit.renderables.phasediagram import PhaseDiagram
5-
from crystal_toolkit.renderables.site import Site
6-
from crystal_toolkit.renderables.structure import Structure
7-
from crystal_toolkit.renderables.structuregraph import StructureGraph
8-
from crystal_toolkit.renderables.volumetric import VolumetricData
1+
from crystal_toolkit.renderables.lattice import Lattice as Lattice
2+
from crystal_toolkit.renderables.molecule import Molecule as Molecule
3+
from crystal_toolkit.renderables.moleculegraph import MoleculeGraph as MoleculeGraph
4+
from crystal_toolkit.renderables.phasediagram import PhaseDiagram as PhaseDiagram
5+
from crystal_toolkit.renderables.site import Site as Site
6+
from crystal_toolkit.renderables.structure import Structure as Structure
7+
from crystal_toolkit.renderables.structuregraph import StructureGraph as StructureGraph
8+
from crystal_toolkit.renderables.volumetric import VolumetricData as VolumetricData

crystal_toolkit/renderables/moleculegraph.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from __future__ import annotations
2+
13
from collections import defaultdict
24

35
from pymatgen.analysis.graphs import MoleculeGraph
@@ -18,7 +20,7 @@ def get_molecule_graph_scene(
1820

1921
legend = legend or Legend(self.molecule)
2022

21-
primitives = defaultdict(list)
23+
primitives: dict[str, list] = defaultdict(list)
2224

2325
for idx, site in enumerate(self.molecule):
2426

tests/test_chgcar.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222

2323
def get_mesh(chgcar, data_tag="total", isolvl=2.0, step_size=3):
24-
vertices, faces, normals, values = measure.marching_cubes_lewiner(
24+
vertices, faces, _normals, _values = measure.marching_cubes_lewiner(
2525
chgcar.data[data_tag], level=isolvl, step_size=step_size
2626
)
2727
vertices = (

0 commit comments

Comments
 (0)