Skip to content

Commit

Permalink
Update v0.9.1
Browse files Browse the repository at this point in the history
  • Loading branch information
Samuelopez-ansys committed May 13, 2024
2 parents 04b2829 + 5a2b89a commit 85e03fa
Show file tree
Hide file tree
Showing 104 changed files with 572 additions and 175 deletions.
File renamed without changes.
5 changes: 5 additions & 0 deletions _unittest/test_12_PostProcessing.py
Original file line number Diff line number Diff line change
Expand Up @@ -637,6 +637,7 @@ def test_71_antenna_plot(self, field_test):
title="Contour at {}Hz".format(ffdata.frequency),
image_path=os.path.join(self.local_scratch.path, "contour.jpg"),
convert_to_db=True,
show=False,
)
assert os.path.exists(os.path.join(self.local_scratch.path, "contour.jpg"))

Expand Down Expand Up @@ -686,6 +687,7 @@ def test_72_antenna_plot(self, array_test):
title="Contour at {}Hz".format(ffdata.frequency),
image_path=os.path.join(self.local_scratch.path, "contour.jpg"),
convert_to_db=True,
show=False,
)
assert os.path.exists(os.path.join(self.local_scratch.path, "contour.jpg"))

Expand All @@ -695,6 +697,7 @@ def test_72_antenna_plot(self, array_test):
secondary_sweep_value=[-180, -75, 75],
title="Azimuth at {}Hz".format(ffdata.frequency),
image_path=os.path.join(self.local_scratch.path, "2d1.jpg"),
show=False,
)
assert os.path.exists(os.path.join(self.local_scratch.path, "2d1.jpg"))
ffdata.plot_2d_cut(
Expand All @@ -703,6 +706,7 @@ def test_72_antenna_plot(self, array_test):
secondary_sweep_value=30,
title="Azimuth at {}Hz".format(ffdata.frequency),
image_path=os.path.join(self.local_scratch.path, "2d2.jpg"),
show=False,
)

assert os.path.exists(os.path.join(self.local_scratch.path, "2d2.jpg"))
Expand All @@ -725,6 +729,7 @@ def test_72_antenna_plot(self, array_test):
title="Contour at {}Hz".format(ffdata1.frequency),
image_path=os.path.join(self.local_scratch.path, "contour1.jpg"),
convert_to_db=True,
show=False,
)
assert os.path.exists(os.path.join(self.local_scratch.path, "contour1.jpg"))

Expand Down
14 changes: 8 additions & 6 deletions _unittest/test_20_HFSS.py
Original file line number Diff line number Diff line change
Expand Up @@ -213,23 +213,23 @@ def test_06a_create_linear_count_sweep(self):
assert self.aedtapp.create_linear_count_sweep("MySetup", "GHz", 0.8, 1.2, 401)
assert self.aedtapp.create_linear_count_sweep(
setup="MySetup",
unit="GHz",
units="GHz",
start_frequency=1.1e3,
stop_frequency=1200.1,
num_of_freq_points=1234,
sweep_type="Interpolating",
)
assert self.aedtapp.create_linear_count_sweep(
setup="MySetup",
unit="MHz",
units="MHz",
start_frequency=1.1e3,
stop_frequency=1200.1,
num_of_freq_points=1234,
sweep_type="Interpolating",
)
assert self.aedtapp.create_linear_count_sweep(
setup="MySetup",
unit="MHz",
units="MHz",
start_frequency=1.1e3,
stop_frequency=1200.1,
num_of_freq_points=1234,
Expand All @@ -241,7 +241,7 @@ def test_06a_create_linear_count_sweep(self):
units = "MHz"
sweep = self.aedtapp.create_linear_count_sweep(
setup="MySetup",
unit="MHz",
units="MHz",
start_frequency=freq_start,
stop_frequency=freq_stop,
num_of_freq_points=num_points,
Expand All @@ -255,7 +255,7 @@ def test_06a_create_linear_count_sweep(self):
with pytest.raises(AttributeError) as execinfo:
self.aedtapp.create_linear_count_sweep(
setup="MySetup",
unit="MHz",
units="MHz",
start_frequency=1.1e3,
stop_frequency=1200.1,
num_of_freq_points=1234,
Expand All @@ -269,15 +269,17 @@ def test_06a_create_linear_count_sweep(self):
self.aedtapp["der_var2"] = "2mm"
setup2 = self.aedtapp.create_setup("MySetup_2", setup_type=0)
assert setup2.add_derivatives("der_var")
assert not setup2.set_tuning_offset({"der_var": 0.05})
assert "der_var" in setup2.get_derivative_variables()
assert setup2.add_derivatives("der_var2")
assert "der_var2" in setup2.get_derivative_variables()
assert "der_var" in setup2.get_derivative_variables()
setup2.delete()
setup3 = self.aedtapp.create_setup("MySetup_3", setup_type=0)
setup3 = self.aedtapp.create_setup("MySetup_3", setup_type=1)
assert setup3.add_derivatives("der_var")
assert "der_var" in setup3.get_derivative_variables()
assert setup3.add_derivatives("der_var2")
assert not self.aedtapp.post.set_tuning_offset(setup3.name, {"der_var": 0.05})
assert "der_var2" in setup3.get_derivative_variables()
assert "der_var" in setup3.get_derivative_variables()
setup3.delete()
Expand Down
19 changes: 17 additions & 2 deletions _unittest/test_21_Circuit.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
diff_proj_name = "differential_pairs"
netlist1 = "netlist_small.cir"
netlist2 = "Schematic1.qcv"
touchstone = "SSN_ssn.s6p"
touchstone = "SSN_1.5_ssn.s6p"
touchstone_custom = "SSN_custom.s6p"
touchstone2 = "Galileo_V3P3S0.ts"
ami_project = "AMI_Example"
Expand Down Expand Up @@ -317,7 +317,7 @@ def test_24_new_connect_components(self):

def test_25_import_model(self):
self.aedtapp.insert_design("Touch_import")
touch = os.path.join(local_path, "example_models", test_subfolder, "SSN_ssn.s6p")
touch = os.path.join(local_path, "example_models", test_subfolder, touchstone)
t1 = self.aedtapp.modeler.schematic.create_touchstone_component(touch)
assert t1
assert len(t1.pins) == 6
Expand Down Expand Up @@ -898,3 +898,18 @@ def test_49_automatic_ami(self):
design_name="AMI",
)
assert result

def test_50_enforce_touchstone_passive(self):
self.aedtapp.insert_design("Touchstone_passive")
self.aedtapp.modeler.schematic_units = "mil"
s_parameter_component = self.aedtapp.modeler.schematic.create_touchstone_component(self.touchstone_file)
assert s_parameter_component.enforce_touchstone_model_passive()
nexxim_customization = s_parameter_component.model_data.props["NexximCustomization"]
assert -1 == nexxim_customization["DCOption"]
assert 1 == nexxim_customization["InterpOption"]
assert 3 == nexxim_customization["ExtrapOption"]
assert 0 == nexxim_customization["Convolution"]
assert 6 == nexxim_customization["Passivity"]
assert not nexxim_customization["Reciprocal"]
assert "" == nexxim_customization["ModelOption"]
assert 2 == nexxim_customization["DataType"]
4 changes: 0 additions & 4 deletions _unittest_solvers/test_00_analyze.py
Original file line number Diff line number Diff line change
Expand Up @@ -431,7 +431,6 @@ def test_07_export_maxwell_fields(self, m3dtransient):
new_setup.props = setup.props
new_setup.update()

@pytest.mark.skipif(is_linux and desktop_version == "2024.1", reason="Temporary skip for SPISIM related tests")
def test_08_compute_erl(self, circuit_erl):
touchstone_file = circuit_erl.export_touchstone()
spisim = SpiSim(touchstone_file)
Expand All @@ -453,7 +452,6 @@ def test_08_compute_erl(self, circuit_erl):
erl_data_3 = spisim.compute_erl(specify_through_ports=[1, 2, 3, 4])
assert erl_data_3

@pytest.mark.skipif(is_linux and desktop_version == "2024.1", reason="Temporary skip for SPISIM related tests")
def test_09a_compute_com(self, local_scratch, circuit_com):
touchstone_file = circuit_com.export_touchstone()
spisim = SpiSim(touchstone_file)
Expand All @@ -466,7 +464,6 @@ def test_09a_compute_com(self, local_scratch, circuit_com):
)
assert com

@pytest.mark.skipif(is_linux and desktop_version == "2024.1", reason="Temporary skip for SPISIM related tests")
def test_09b_compute_com(self, local_scratch):
com_example_file_folder = os.path.join(local_path, "example_models", test_subfolder, "com_unit_test_sparam")
thru_s4p = local_scratch.copyfile(os.path.join(com_example_file_folder, "SerDes_Demo_02_Thru.s4p"))
Expand Down Expand Up @@ -506,7 +503,6 @@ def test_09b_compute_com(self, local_scratch):
)
assert com_0 and com_1

@pytest.mark.skipif(is_linux and desktop_version == "2024.1", reason="Temporary skip for SPISIM related tests")
def test_09c_compute_com(self, local_scratch):
com_example_file_folder = Path(local_path) / "example_models" / test_subfolder / "com_unit_test_sparam"
thru_s4p = local_scratch.copyfile(com_example_file_folder / "SerDes_Demo_02_Thru.s4p")
Expand Down
2 changes: 1 addition & 1 deletion doc/source/API/Application.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Application and solvers
The PyAEDT API includes classes for different applications available in Ansys Electronics Desktop (AEDT).
You must initialize AEDT to get access to all PyAEDT modules and methods.

.. image:: ../Resources/aedt_2.png
.. image:: ../Resources/aedt_2.webp
:width: 800
:alt: Ansys Electronics Desktop (AEDT) is a platform that enables true electronics system design.

Expand Down
2 changes: 1 addition & 1 deletion doc/source/API/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ and Mechanical solvers for comprehensive multiphysics analysis.
Tight integration among these solutions provides unprecedented ease of use for setup and
faster resolution of complex simulations for design and optimization.

.. image:: ../Resources/aedt_2.png
.. image:: ../Resources/aedt_2.webp
:width: 800
:alt: AEDT Applications
:target: https://www.ansys.com/products/electronics
Expand Down
2 changes: 1 addition & 1 deletion doc/source/Getting_started/About.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ and mechanical solvers for comprehensive multiphysics analysis.
Tight integration among these solutions provides unprecedented ease of use for setup and
faster resolution of complex simulations for design and optimization.

.. image:: ../Resources/aedt_collage.jpg
.. image:: ../Resources/aedt_collage.webp
:width: 800
:alt: AEDT Applications
:target: https://www.ansys.com/products/electronics
Expand Down
8 changes: 4 additions & 4 deletions doc/source/Getting_started/Installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,13 @@ In order to do that you can:
Please note that AEDT 2023 R1 and lower requires Python 3.7 wheelhouse while AEDT 2023 R2
and higher requires the Python 3.10 wheelhouse.

.. image:: ../Resources/wheelhouse_installation.png
.. image:: ../Resources/wheelhouse_installation.webp
:width: 800
:alt: PyAEDT run script

Starting from 2023R2, buttons are available in the Automation Tab as in the example below.

.. image:: ../Resources/toolkits_ribbon.png
.. image:: ../Resources/toolkits_ribbon.webp
:width: 800
:alt: PyAEDT toolkit buttons available in AEDT

Expand All @@ -55,13 +55,13 @@ There are three options:

- Open source PyAEDT toolkits. Open source PyAEDT toolkits following the `common library <https://aedt.common.toolkit.docs.pyansys.com/>`_ standard.

.. image:: ../Resources/toolkit_manager_1.png
.. image:: ../Resources/toolkit_manager_1.webp
:width: 800
:alt: PyAEDT toolkit manager 1

The user can select the AEDT application to install the specific workflow.

.. image:: ../Resources/toolkit_manager_2.png
.. image:: ../Resources/toolkit_manager_2.webp
:width: 400
:alt: PyAEDT toolkit manager 2

Expand Down
2 changes: 1 addition & 1 deletion doc/source/Getting_started/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ and Mechanical solvers for comprehensive multiphysics analysis.
Tight integration among these solutions provides unprecedented ease of use for setup and
faster resolution of complex simulations for design and optimization.

.. image:: ../Resources/aedt_3.png
.. image:: ../Resources/aedt_3.webp
:width: 800
:alt: AEDT Applications
:target: https://www.ansys.com/products/electronics
Expand Down
Binary file removed doc/source/Resources/3dlayout.png
Binary file not shown.
Binary file removed doc/source/Resources/3dlayout_1.png
Binary file not shown.
Binary file removed doc/source/Resources/5gantenna.png
Binary file not shown.
Binary file removed doc/source/Resources/Dipole.png
Binary file not shown.
Binary file removed doc/source/Resources/IronPython2Cpython.png
Binary file not shown.
Binary file removed doc/source/Resources/Maxwell3DTeam3.png
Binary file not shown.
Binary file removed doc/source/Resources/Mesh_Operations.png
Binary file not shown.
Binary file added doc/source/Resources/Mesh_Operations.webp
Binary file not shown.
Binary file removed doc/source/Resources/Optimetrics_Parametric.png
Binary file not shown.
Binary file added doc/source/Resources/Optimetrics_Parametric.webp
Binary file not shown.
14 changes: 8 additions & 6 deletions doc/source/Resources/PyAEDTInstallerFromDesktop.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ def run_pyinstaller_from_c_python(oDesktop):
oDesktop.GetVersion()[:6], oDesktop.GetPersonalLibDirectory()))

command = r'"{}" "{}"'.format(python_exe, python_script)
oDesktop.AddMessage("", "", 0, command)
oDesktop.AddMessage("", "", 0, "Configuring PyAEDT Tabs.")
ret_code = os.system(command)
if ret_code != 0:
oDesktop.AddMessage("", "", 2, "Error configuring the configuration Tab.")
Expand All @@ -97,9 +97,11 @@ def run_pyinstaller_from_c_python(oDesktop):
if is_linux:
msg += " Please ensure Ansys Electronics Desktop is launched in gRPC mode (i.e. launch ansysedt with -grpcsrv" \
" argument) to take advantage of the new toolkits."
from System.Windows.Forms import MessageBox, MessageBoxButtons, MessageBoxIcon
oDesktop.AddMessage("", "", 0, msg)
MessageBox.Show(msg, 'Info', MessageBoxButtons.OK, MessageBoxIcon.Information)

if "GetIsNonGraphical" in oDesktop.__dir__() and not oDesktop.GetIsNonGraphical():
from System.Windows.Forms import MessageBox, MessageBoxButtons, MessageBoxIcon
oDesktop.AddMessage("", "", 0, msg)
MessageBox.Show(msg, 'Info', MessageBoxButtons.OK, MessageBoxIcon.Information)


def parse_arguments_for_pyaedt_installer(args=None):
Expand Down Expand Up @@ -175,9 +177,9 @@ def install_pyaedt():
else:
run_command('"{}" -m pip install --upgrade pip'.format(python_exe))
run_command('"{}" --default-timeout=1000 install wheel'.format(pip_exe))
run_command('"{}" --default-timeout=1000 install pyaedt[all]'.format(pip_exe))
# run_command(
# '"{}" --default-timeout=1000 install git+https://github.com/ansys/pyaedt.git@main'.format(pip_exe))
# '"{}" --default-timeout=1000 install git+https://github.com/ansys/pyaedt.git@fix/main'.format(pip_exe))
run_command('"{}" --default-timeout=1000 install pyaedt[all]'.format(pip_exe))
run_command('"{}" --default-timeout=1000 install jupyterlab'.format(pip_exe))
run_command('"{}" --default-timeout=1000 install ipython -U'.format(pip_exe))
run_command('"{}" --default-timeout=1000 install ipyvtklink'.format(pip_exe))
Expand Down
Binary file removed doc/source/Resources/Setups.png
Binary file not shown.
Binary file added doc/source/Resources/Setups.webp
Binary file not shown.
Binary file removed doc/source/Resources/Sherlock.png
Binary file not shown.
Binary file removed doc/source/Resources/aedt_2.png
Binary file not shown.
Binary file added doc/source/Resources/aedt_2.webp
Binary file not shown.
Binary file removed doc/source/Resources/aedt_3.png
Binary file not shown.
Binary file added doc/source/Resources/aedt_3.webp
Binary file not shown.
Binary file removed doc/source/Resources/aedt_box.png
Binary file not shown.
Binary file added doc/source/Resources/aedt_box.webp
Binary file not shown.
Binary file removed doc/source/Resources/aedt_collage.jpg
Binary file not shown.
Binary file added doc/source/Resources/aedt_collage.webp
Binary file not shown.
Binary file removed doc/source/Resources/aedt_first_page.png
Binary file not shown.
Binary file added doc/source/Resources/aedt_first_page.webp
Binary file not shown.
Binary file removed doc/source/Resources/aedt_setup.png
Binary file not shown.
Binary file removed doc/source/Resources/aedt_variables.png
Binary file not shown.
Binary file added doc/source/Resources/aedt_variables.webp
Binary file not shown.
Binary file removed doc/source/Resources/array.png
Binary file not shown.
Binary file removed doc/source/Resources/busbar.png
Binary file not shown.
Binary file removed doc/source/Resources/coordinate_system.png
Binary file not shown.
Binary file removed doc/source/Resources/edb.png
Binary file not shown.
Binary file removed doc/source/Resources/edb2.png
Binary file not shown.
Binary file removed doc/source/Resources/edb_intro.png
Binary file not shown.
Binary file removed doc/source/Resources/icepak.png
Binary file not shown.
Binary file removed doc/source/Resources/ipc2581.png
Binary file not shown.
Binary file removed doc/source/Resources/maxwell_losses.png
Diff not rendered.
Binary file removed doc/source/Resources/mechanical.png
Diff not rendered.
Binary file removed doc/source/Resources/nde.png
Diff not rendered.
Binary file modified doc/source/Resources/objects_operations.gif
Binary file removed doc/source/Resources/optimetrics.png
Diff not rendered.
Binary file removed doc/source/Resources/parametrized_edb.png
Diff not rendered.
Binary file removed doc/source/Resources/pyvista_plot.jpg
Diff not rendered.
Binary file added doc/source/Resources/pyvista_plot.webp
Binary file not shown.
Binary file removed doc/source/Resources/schematic.png
Diff not rendered.
Binary file removed doc/source/Resources/sherlock_doppler.png
Diff not rendered.
Binary file removed doc/source/Resources/siwave.png
Diff not rendered.
Binary file removed doc/source/Resources/sparams.jpg
Diff not rendered.
Binary file added doc/source/Resources/sparams.webp
Binary file not shown.
Binary file removed doc/source/Resources/sparams_w_matplotlib.jpg
Diff not rendered.
Binary file added doc/source/Resources/sparams_w_matplotlib.webp
Binary file not shown.
Binary file removed doc/source/Resources/spiral.png
Diff not rendered.
Binary file removed doc/source/Resources/template_ribbon.png
Diff not rendered.
Binary file removed doc/source/Resources/toolkit_manager_1.png
Diff not rendered.
Binary file added doc/source/Resources/toolkit_manager_1.webp
Binary file not shown.
Binary file removed doc/source/Resources/toolkit_manager_2.png
Diff not rendered.
Binary file added doc/source/Resources/toolkit_manager_2.webp
Binary file not shown.
Binary file removed doc/source/Resources/toolkits.png
Diff not rendered.
Binary file removed doc/source/Resources/toolkits_ribbon.png
Diff not rendered.
Binary file added doc/source/Resources/toolkits_ribbon.webp
Binary file not shown.
Binary file removed doc/source/Resources/variables_advanced.png
Diff not rendered.
Binary file added doc/source/Resources/variables_advanced.webp
Binary file not shown.
Binary file removed doc/source/Resources/viawizard.png
Diff not rendered.
Binary file removed doc/source/Resources/wheelhouse_installation.png
Diff not rendered.
Binary file not shown.
2 changes: 1 addition & 1 deletion doc/source/User_guide/intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ You can initiate AEDT in non-graphical mode from Python using this code:
The preceding code launches AEDT and initializes a new Circuit design.

.. image:: ../Resources/aedt_first_page.png
.. image:: ../Resources/aedt_first_page.webp
:width: 800
:alt: AEDT launched

Expand Down
2 changes: 1 addition & 1 deletion doc/source/User_guide/mesh.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ All mesh operations are conveniently listed within the mesh object:
my_mesh_op.update()
.. image:: ../Resources/Mesh_Operations.png
.. image:: ../Resources/Mesh_Operations.webp
:width: 800
:alt: Mesh object List

Expand Down
2 changes: 1 addition & 1 deletion doc/source/User_guide/modeler.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The following code creates a box and changes the color to red:
.. image:: ../Resources/aedt_box.png
.. image:: ../Resources/aedt_box.webp
:width: 800
:alt: Modeler Object

Expand Down
6 changes: 3 additions & 3 deletions doc/source/User_guide/postprocessing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ To use PyAEDT to create a report in AEDT, you can follow this general structure:
hfss.post.create_report(["db(S11)", "db(S12)"])
.. image:: ../Resources/sparams.jpg
.. image:: ../Resources/sparams.webp
:width: 800
:alt: AEDT report

Expand All @@ -34,7 +34,7 @@ You can also generate reports in Matplotlib:
plt = solution.plot(solution.expressions) # Matplotlib axes object.
.. image:: ../Resources/sparams_w_matplotlib.jpg
.. image:: ../Resources/sparams_w_matplotlib.webp
:width: 800
:alt: S-Parameters report created with Matplotlib

Expand Down Expand Up @@ -97,7 +97,7 @@ PyAEDT leverages PyVista to export and plot fields outside AEDT, generating imag
)
.. image:: ../Resources/pyvista_plot.jpg
.. image:: ../Resources/pyvista_plot.webp
:width: 800
:alt: Postprocessing features

Expand Down
2 changes: 1 addition & 1 deletion doc/source/User_guide/setup.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ essential components of the simulation process:
new_setup = m3d.create_setup("New_Setup")
.. image:: ../Resources/Setups.png
.. image:: ../Resources/Setups.webp
:width: 800
:alt: Setup Editing and Creation

6 changes: 3 additions & 3 deletions doc/source/User_guide/variables.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ for the variable name, a project-wide variable is created:
hfss["$dim"] = "1mm" # project variable
.. image:: ../Resources/aedt_variables.png
.. image:: ../Resources/aedt_variables.webp
:width: 800
:alt: Variable Management

Expand All @@ -36,7 +36,7 @@ access the ``variable_manager`` object for a more comprehensive set of functions
'34 * $PrjVar1/$PrjVar2'
.. image:: ../Resources/variables_advanced.png
.. image:: ../Resources/variables_advanced.webp
:width: 600
:alt: Variable Management

Expand All @@ -54,7 +54,7 @@ optimetrics setups by allowing you to read existing configurations, make edits,
m3d.parametrics.add("Rload", 0.1, 1, 0.1)
.. image:: ../Resources/Optimetrics_Parametric.png
.. image:: ../Resources/Optimetrics_Parametric.webp
:width: 800
:alt: Optimetrics creation

21 changes: 10 additions & 11 deletions doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -353,17 +353,16 @@ def setup(app):
},
}

# Only add button to download PDF in dev mode as the building PDF for the full documentation is too long
if switcher_version == "dev":
html_theme_options["icon_links"].append(
{
"name": "Download documentation in PDF",
# NOTE: Changes to this URL must be reflected in CICD documentation build
"url": f"https://{cname}/version/{switcher_version}/_static/assets/download/pyaedt.pdf",
# noqa: E501
"icon": "fa fa-file-pdf fa-fw",
}
)
# Add button to download PDF
html_theme_options["icon_links"].append(
{
"name": "Download documentation in PDF",
# NOTE: Changes to this URL must be reflected in CICD documentation build
"url": f"https://{cname}/version/{switcher_version}/_static/assets/download/pyaedt.pdf",
# noqa: E501
"icon": "fa fa-file-pdf fa-fw",
}
)

html_static_path = ["_static"]

Expand Down
Loading

0 comments on commit 85e03fa

Please sign in to comment.