1
+ <!DOCTYPE html>
2
+ < html class ="writer-html5 " lang ="en " >
3
+ < head >
4
+ < meta charset ="utf-8 " />
5
+ < meta name ="viewport " content ="width=device-width, initial-scale=1.0 " />
6
+ < title > crystal_toolkit.components.robocrys — Crystal Toolkit documentation</ title >
7
+ < link rel ="stylesheet " href ="../../../_static/pygments.css " type ="text/css " />
8
+ < link rel ="stylesheet " href ="../../../_static/css/theme.css " type ="text/css " />
9
+ < link rel ="canonical " href ="https://crystaltoolkit.org_modules/crystal_toolkit/components/robocrys.html "/>
10
+ <!--[if lt IE 9]>
11
+ <script src="../../../_static/js/html5shiv.min.js"></script>
12
+ <![endif]-->
13
+
14
+ < script data-url_root ="../../../ " id ="documentation_options " src ="../../../_static/documentation_options.js "> </ script >
15
+ < script src ="../../../_static/jquery.js "> </ script >
16
+ < script src ="../../../_static/underscore.js "> </ script >
17
+ < script src ="../../../_static/doctools.js "> </ script >
18
+ < script src ="../../../_static/js/theme.js "> </ script >
19
+ < link rel ="index " title ="Index " href ="../../../genindex.html " />
20
+ < link rel ="search " title ="Search " href ="../../../search.html " />
21
+ </ head >
22
+
23
+ < body class ="wy-body-for-nav ">
24
+ < div class ="wy-grid-for-nav ">
25
+ < nav data-toggle ="wy-nav-shift " class ="wy-nav-side ">
26
+ < div class ="wy-side-scroll ">
27
+ < div class ="wy-side-nav-search " style ="background: linear-gradient(0deg, rgba(23,162,135,1) 0%, rgba(0,192,136,1) 100%) " >
28
+ < a href ="../../../index.html " class ="icon icon-home "> Crystal Toolkit
29
+ </ a >
30
+ < div role ="search ">
31
+ < form id ="rtd-search-form " class ="wy-form " action ="../../../search.html " method ="get ">
32
+ < input type ="text " name ="q " placeholder ="Search docs " />
33
+ < input type ="hidden " name ="check_keywords " value ="yes " />
34
+ < input type ="hidden " name ="area " value ="default " />
35
+ </ form >
36
+ </ div >
37
+ </ div > < div class ="wy-menu wy-menu-vertical " data-spy ="affix " role ="navigation " aria-label ="Navigation menu ">
38
+ < ul >
39
+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../../introduction.html "> Introduction</ a > </ li >
40
+ < li class ="toctree-l1 "> < a class ="reference external " href ="https://materialsproject.org/#apps/xtaltoolkit "> Try The App!</ a > </ li >
41
+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../../first_web_app.html "> Your First App</ a > </ li >
42
+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../../first_component.html "> Your First Component</ a > </ li >
43
+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../../components.html "> Component Library</ a > </ li >
44
+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../../mp_app.html "> A Materials Project App</ a > </ li >
45
+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../../helpers.html "> Helpers</ a > </ li >
46
+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../../jupyter.html "> Jupyter Integration</ a > </ li >
47
+ < li class ="toctree-l1 "> < a class ="reference internal " href ="../../../source/crystal_toolkit.html "> API Docs</ a > </ li >
48
+ </ ul >
49
+
50
+ </ div >
51
+ </ div >
52
+ </ nav >
53
+
54
+ < section data-toggle ="wy-nav-shift " class ="wy-nav-content-wrap "> < nav class ="wy-nav-top " aria-label ="Mobile navigation menu " style ="background: linear-gradient(0deg, rgba(23,162,135,1) 0%, rgba(0,192,136,1) 100%) " >
55
+ < i data-toggle ="wy-nav-top " class ="fa fa-bars "> </ i >
56
+ < a href ="../../../index.html "> Crystal Toolkit</ a >
57
+ </ nav >
58
+
59
+ < div class ="wy-nav-content ">
60
+ < div class ="rst-content style-external-links ">
61
+ < div role ="navigation " aria-label ="Page navigation ">
62
+ < ul class ="wy-breadcrumbs ">
63
+ < li > < a href ="../../../index.html " class ="icon icon-home "> </ a > »</ li >
64
+ < li > < a href ="../../index.html "> Module code</ a > »</ li >
65
+ < li > < a href ="../../crystal_toolkit.html "> crystal_toolkit</ a > »</ li >
66
+ < li > crystal_toolkit.components.robocrys</ li >
67
+ < li class ="wy-breadcrumbs-aside ">
68
+ </ li >
69
+ </ ul >
70
+ < hr />
71
+ </ div >
72
+ < div role ="main " class ="document " itemscope ="itemscope " itemtype ="http://schema.org/Article ">
73
+ < div itemprop ="articleBody ">
74
+
75
+ < h1 > Source code for crystal_toolkit.components.robocrys</ h1 > < div class ="highlight "> < pre >
76
+ < span > </ span > < span class ="kn "> from</ span > < span class ="nn "> dash</ span > < span class ="kn "> import</ span > < span class ="n "> html</ span >
77
+ < span class ="kn "> from</ span > < span class ="nn "> dash.dependencies</ span > < span class ="kn "> import</ span > < span class ="n "> Input</ span > < span class ="p "> ,</ span > < span class ="n "> Output</ span >
78
+ < span class ="kn "> from</ span > < span class ="nn "> robocrys</ span > < span class ="kn "> import</ span > < span class ="n "> StructureCondenser</ span > < span class ="p "> ,</ span > < span class ="n "> StructureDescriber</ span >
79
+ < span class ="kn "> from</ span > < span class ="nn "> robocrys</ span > < span class ="kn "> import</ span > < span class ="n "> __version__</ span > < span class ="k "> as</ span > < span class ="n "> robocrys_version</ span >
80
+
81
+ < span class ="kn "> from</ span > < span class ="nn "> crystal_toolkit.core.panelcomponent</ span > < span class ="kn "> import</ span > < span class ="n "> PanelComponent</ span >
82
+ < span class ="kn "> from</ span > < span class ="nn "> crystal_toolkit.helpers.layouts</ span > < span class ="kn "> import</ span > < span class ="n "> MessageContainer</ span > < span class ="p "> ,</ span > < span class ="n "> MessageBody</ span > < span class ="p "> ,</ span > < span class ="n "> Loading</ span >
83
+
84
+
85
+ < div class ="viewcode-block " id ="RobocrysComponent "> < a class ="viewcode-back " href ="../../../source/crystal_toolkit.components.robocrys.html#crystal_toolkit.components.robocrys.RobocrysComponent "> [docs]</ a > < span class ="k "> class</ span > < span class ="nc "> RobocrysComponent</ span > < span class ="p "> (</ span > < span class ="n "> PanelComponent</ span > < span class ="p "> ):</ span >
86
+ < span class ="nd "> @property</ span >
87
+ < span class ="k "> def</ span > < span class ="nf "> title</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ):</ span >
88
+ < span class ="k "> return</ span > < span class ="s2 "> "Description"</ span >
89
+
90
+ < span class ="nd "> @property</ span >
91
+ < span class ="k "> def</ span > < span class ="nf "> description</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ):</ span >
92
+ < span class ="k "> return</ span > < span class ="p "> (</ span >
93
+ < span class ="s2 "> "Your friendly robocrystallographer tries to describe a structure much "</ span >
94
+ < span class ="s2 "> "like a human crystallographer would."</ span >
95
+ < span class ="p "> )</ span >
96
+
97
+ < div class ="viewcode-block " id ="RobocrysComponent.contents_layout "> < a class ="viewcode-back " href ="../../../source/crystal_toolkit.components.robocrys.html#crystal_toolkit.components.robocrys.RobocrysComponent.contents_layout "> [docs]</ a > < span class ="k "> def</ span > < span class ="nf "> contents_layout</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> )</ span > < span class ="o "> -></ span > < span class ="n "> html</ span > < span class ="o "> .</ span > < span class ="n "> Div</ span > < span class ="p "> :</ span >
98
+
99
+ < span class ="k "> return</ span > < span class ="n "> Loading</ span > < span class ="p "> (</ span > < span class ="nb "> id</ span > < span class ="o "> =</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> id</ span > < span class ="p "> (</ span > < span class ="s2 "> "robocrys"</ span > < span class ="p "> ))</ span > </ div >
100
+
101
+ < div class ="viewcode-block " id ="RobocrysComponent.generate_callbacks "> < a class ="viewcode-back " href ="../../../source/crystal_toolkit.components.robocrys.html#crystal_toolkit.components.robocrys.RobocrysComponent.generate_callbacks "> [docs]</ a > < span class ="k "> def</ span > < span class ="nf "> generate_callbacks</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ,</ span > < span class ="n "> app</ span > < span class ="p "> ,</ span > < span class ="n "> cache</ span > < span class ="p "> ):</ span >
102
+
103
+ < span class ="nb "> super</ span > < span class ="p "> ()</ span > < span class ="o "> .</ span > < span class ="n "> generate_callbacks</ span > < span class ="p "> (</ span > < span class ="n "> app</ span > < span class ="p "> ,</ span > < span class ="n "> cache</ span > < span class ="p "> )</ span >
104
+
105
+ < span class ="nd "> @app</ span > < span class ="o "> .</ span > < span class ="n "> callback</ span > < span class ="p "> (</ span >
106
+ < span class ="n "> Output</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> id</ span > < span class ="p "> (</ span > < span class ="s2 "> "robocrys"</ span > < span class ="p "> ),</ span > < span class ="s2 "> "children"</ span > < span class ="p "> ),</ span > < span class ="p "> [</ span > < span class ="n "> Input</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> id</ span > < span class ="p "> (),</ span > < span class ="s2 "> "data"</ span > < span class ="p "> )]</ span >
107
+ < span class ="p "> )</ span >
108
+ < span class ="nd "> @cache</ span > < span class ="o "> .</ span > < span class ="n "> memoize</ span > < span class ="p "> ()</ span >
109
+ < span class ="k "> def</ span > < span class ="nf "> run_robocrys_analysis</ span > < span class ="p "> (</ span > < span class ="n "> new_store_contents</ span > < span class ="p "> ):</ span >
110
+
111
+ < span class ="n "> struct</ span > < span class ="o "> =</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> from_data</ span > < span class ="p "> (</ span > < span class ="n "> new_store_contents</ span > < span class ="p "> )</ span >
112
+
113
+ < span class ="k "> try</ span > < span class ="p "> :</ span >
114
+
115
+ < span class ="n "> condenser</ span > < span class ="o "> =</ span > < span class ="n "> StructureCondenser</ span > < span class ="p "> ()</ span >
116
+ < span class ="n "> describer</ span > < span class ="o "> =</ span > < span class ="n "> StructureDescriber</ span > < span class ="p "> (</ span > < span class ="n "> fmt</ span > < span class ="o "> =</ span > < span class ="s2 "> "unicode"</ span > < span class ="p "> )</ span >
117
+
118
+ < span class ="n "> condensed_structure</ span > < span class ="o "> =</ span > < span class ="n "> condenser</ span > < span class ="o "> .</ span > < span class ="n "> condense_structure</ span > < span class ="p "> (</ span > < span class ="n "> struct</ span > < span class ="p "> )</ span >
119
+
120
+ < span class ="n "> description</ span > < span class ="o "> =</ span > < span class ="n "> describer</ span > < span class ="o "> .</ span > < span class ="n "> describe</ span > < span class ="p "> (</ span > < span class ="n "> condensed_structure</ span > < span class ="p "> )</ span >
121
+
122
+ < span class ="k "> except</ span > < span class ="ne "> Exception</ span > < span class ="k "> as</ span > < span class ="n "> exc</ span > < span class ="p "> :</ span >
123
+
124
+ < span class ="n "> description</ span > < span class ="o "> =</ span > < span class ="nb "> str</ span > < span class ="p "> (</ span > < span class ="n "> exc</ span > < span class ="p "> )</ span >
125
+
126
+ < span class ="k "> return</ span > < span class ="n "> MessageContainer</ span > < span class ="p "> (</ span >
127
+ < span class ="n "> MessageBody</ span > < span class ="p "> (</ span >
128
+ < span class ="p "> [</ span >
129
+ < span class ="sa "> f</ span > < span class ="s2 "> "</ span > < span class ="si "> {</ span > < span class ="n "> description</ span > < span class ="si "> }</ span > < span class ="s2 "> – "</ span > < span class ="p "> ,</ span >
130
+ < span class ="n "> html</ span > < span class ="o "> .</ span > < span class ="n "> A</ span > < span class ="p "> (</ span >
131
+ < span class ="sa "> f</ span > < span class ="s2 "> "🤖 robocrys v</ span > < span class ="si "> {</ span > < span class ="n "> robocrys_version</ span > < span class ="si "> }</ span > < span class ="s2 "> "</ span > < span class ="p "> ,</ span >
132
+ < span class ="n "> href</ span > < span class ="o "> =</ span > < span class ="s2 "> "https://github.com/hackingmaterials/robocrystallographer"</ span > < span class ="p "> ,</ span >
133
+ < span class ="n "> style</ span > < span class ="o "> =</ span > < span class ="p "> {</ span > < span class ="s2 "> "white-space"</ span > < span class ="p "> :</ span > < span class ="s2 "> "nowrap"</ span > < span class ="p "> },</ span >
134
+ < span class ="p "> ),</ span >
135
+ < span class ="p "> ]</ span >
136
+ < span class ="p "> ),</ span >
137
+ < span class ="n "> kind</ span > < span class ="o "> =</ span > < span class ="s2 "> "dark"</ span > < span class ="p "> ,</ span >
138
+ < span class ="p "> )</ span > </ div > </ div >
139
+ </ pre > </ div >
140
+
141
+ </ div >
142
+ </ div >
143
+ < footer >
144
+
145
+ < hr />
146
+
147
+ < div role ="contentinfo ">
148
+ < p > © Copyright 2019, Crystal Toolkit Development Team.</ p >
149
+ </ div >
150
+
151
+ Built with < a href ="https://www.sphinx-doc.org/ "> Sphinx</ a > using a
152
+ < a href ="https://github.com/readthedocs/sphinx_rtd_theme "> theme</ a >
153
+ provided by < a href ="https://readthedocs.org "> Read the Docs</ a > .
154
+
155
+
156
+ </ footer >
157
+ </ div >
158
+ </ div >
159
+ </ section >
160
+ </ div >
161
+ < script >
162
+ jQuery ( function ( ) {
163
+ SphinxRtdTheme . Navigation . enable ( true ) ;
164
+ } ) ;
165
+ </ script >
166
+
167
+ </ body >
168
+ </ html >
0 commit comments