11from datetime import datetime
22from glob import glob
33import os
4+ import sys
45from pathlib import Path
56import subprocess
67
1617from ansys .dpf .core import __version__ , server , server_factory
1718from ansys .dpf .core .examples import get_example_required_minimum_dpf_version
1819
20+ # Make sphinx_utilities modules importable
21+ sys .path .append (os .path .join (os .path .dirname (__file__ ), "../sphinx_utilities" ))
22+
1923# Manage errors
2024pyvista .set_error_output_file ("errors.txt" )
2125# Ensure that offscreen rendering is used for docs generation
5660server_version = server_instance .version
5761server .shutdown_all_session_servers ()
5862print (f"DPF version: { server_version } " )
63+ print (f"DPF install: { server_instance .ansys_path } " )
5964
6065# Build ignore pattern
6166ignored_pattern = r"(ignore"
6267header_flag = "\" \" \" "
6368note_flag = r".. note::"
64- for example in glob (r"../../examples/**/*.py" ):
69+ for example in sorted ( glob (r"../../examples/**/*.py" ) ):
6570 minimum_version_str = get_example_required_minimum_dpf_version (example )
6671 if float (server_version ) - float (minimum_version_str ) < - 0.05 :
6772 example_name = example .split (os .path .sep )[- 1 ]
124129typehints_defaults = "comma"
125130typehints_use_signature = True
126131simplify_optional_unions = False
127- suppress_warnings = ['autosectionlabel.*' ]
128-
132+ autosectionlabel_prefix_document = True
129133# Intersphinx mapping
130134intersphinx_mapping = {
131135 "pyvista" : ("https://docs.pyvista.org/" , None ),
163167
164168
165169# -- Sphinx Gallery Options
166- from sphinx_gallery .sorting import FileNameSortKey
167-
168-
169- def reset_servers (gallery_conf , fname , when ):
170- import gc
171-
172- import psutil
173-
174- from ansys .dpf .core import server
175-
176- gc .collect ()
177- server .shutdown_all_session_servers ()
178-
179- proc_name = "Ans.Dpf.Grpc"
180- nb_procs = 0
181- for proc in psutil .process_iter ():
182- try :
183- # check whether the process name matches
184- if proc_name in proc .name ():
185- proc .kill ()
186- nb_procs += 1
187- except psutil .NoSuchProcess :
188- pass
189- print (f"Counted { nb_procs } { proc_name } processes { when } example { fname } ." )
190-
191-
192170sphinx_gallery_conf = {
193171 # convert rst to md for ipynb
194172 "pypandoc" : True ,
@@ -205,15 +183,15 @@ def reset_servers(gallery_conf, fname, when):
205183 # Remove the "Download all examples" button from the top level gallery
206184 "download_all_examples" : False ,
207185 # Sort gallery example by file name instead of number of lines (default)
208- "within_subsection_order" : FileNameSortKey ,
186+ "within_subsection_order" : " FileNameSortKey" ,
209187 # directory where function granular galleries are stored
210188 "backreferences_dir" : None ,
211189 "image_scrapers" : ("pyvista" , "matplotlib" ),
212190 # 'first_notebook_cell': ("%matplotlib inline\n"
213191 # "from pyvista import set_plot_theme\n"
214192 # "set_plot_theme('document')"),
215193 "reset_modules_order" : 'both' ,
216- "reset_modules" : (reset_servers ,),
194+ "reset_modules" : (" reset_servers.reset_servers" ,),
217195}
218196
219197
@@ -272,6 +250,9 @@ def reset_servers(gallery_conf, fname, when):
272250 "design.grid" ,
273251 "config.cache" ,
274252 "design.fa-build" ,
253+ "autosectionlabel.*" ,
254+ "ref.python" ,
255+ "toc.not_included"
275256]
276257
277258# Add any paths that contain custom static files (such as style sheets) here,
@@ -405,4 +386,4 @@ def reset_servers(gallery_conf, fname, when):
405386
406387BUILD_EXAMPLES = True if os .environ .get ("BUILD_EXAMPLES" , "true" ) == "true" else False
407388if BUILD_EXAMPLES :
408- extensions .extend (["sphinx_gallery.gen_gallery" ])
389+ extensions .extend (["sphinx_gallery.gen_gallery" ])
0 commit comments