pyedb 0.5.dev0__py3-none-any.whl → 0.6.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pyedb might be problematic. Click here for more details.

Files changed (108) hide show
  1. pyedb/__init__.py +2 -3
  2. pyedb/dotnet/application/Variables.py +22 -0
  3. pyedb/dotnet/edb.py +46 -9
  4. pyedb/dotnet/edb_core/cell/hierarchy/model.py +22 -0
  5. pyedb/dotnet/edb_core/components.py +23 -1
  6. pyedb/dotnet/edb_core/configuration.py +23 -2
  7. pyedb/dotnet/edb_core/definition/component_def.py +24 -3
  8. pyedb/dotnet/edb_core/definition/component_model.py +22 -0
  9. pyedb/dotnet/edb_core/definition/definition_obj.py +24 -4
  10. pyedb/dotnet/edb_core/definition/definitions.py +22 -1
  11. pyedb/dotnet/edb_core/definition/package_def.py +23 -3
  12. pyedb/dotnet/edb_core/dotnet/database.py +22 -0
  13. pyedb/dotnet/edb_core/dotnet/layout.py +22 -0
  14. pyedb/dotnet/edb_core/dotnet/primitive.py +22 -0
  15. pyedb/dotnet/edb_core/edb_data/components_data.py +107 -2
  16. pyedb/dotnet/edb_core/edb_data/connectable.py +22 -0
  17. pyedb/dotnet/edb_core/edb_data/control_file.py +22 -0
  18. pyedb/dotnet/edb_core/edb_data/design_options.py +23 -0
  19. pyedb/dotnet/edb_core/edb_data/edbvalue.py +23 -0
  20. pyedb/dotnet/edb_core/edb_data/hfss_extent_info.py +22 -0
  21. pyedb/dotnet/edb_core/edb_data/hfss_simulation_setup_data.py +22 -0
  22. pyedb/dotnet/edb_core/edb_data/layer_data.py +22 -0
  23. pyedb/dotnet/edb_core/edb_data/nets_data.py +23 -1
  24. pyedb/dotnet/edb_core/edb_data/obj_base.py +23 -0
  25. pyedb/dotnet/edb_core/edb_data/padstacks_data.py +22 -0
  26. pyedb/dotnet/edb_core/edb_data/ports.py +22 -0
  27. pyedb/dotnet/edb_core/edb_data/primitives_data.py +62 -7
  28. pyedb/dotnet/edb_core/edb_data/simulation_configuration.py +22 -0
  29. pyedb/dotnet/edb_core/edb_data/simulation_setup.py +22 -0
  30. pyedb/dotnet/edb_core/edb_data/siwave_simulation_setup_data.py +22 -0
  31. pyedb/dotnet/edb_core/edb_data/sources.py +23 -3
  32. pyedb/dotnet/edb_core/edb_data/terminals.py +22 -0
  33. pyedb/dotnet/edb_core/edb_data/utilities.py +25 -2
  34. pyedb/dotnet/edb_core/edb_data/variables.py +23 -0
  35. pyedb/dotnet/edb_core/general.py +22 -0
  36. pyedb/dotnet/edb_core/hfss.py +22 -0
  37. pyedb/dotnet/edb_core/layout.py +33 -4
  38. pyedb/dotnet/edb_core/layout_validation.py +24 -2
  39. pyedb/dotnet/edb_core/materials.py +22 -0
  40. pyedb/dotnet/edb_core/net_class.py +22 -0
  41. pyedb/dotnet/edb_core/nets.py +22 -0
  42. pyedb/dotnet/edb_core/padstack.py +22 -0
  43. pyedb/dotnet/edb_core/siwave.py +22 -0
  44. pyedb/dotnet/edb_core/stackup.py +22 -0
  45. pyedb/edb_logger.py +22 -0
  46. pyedb/generic/constants.py +22 -0
  47. pyedb/generic/data_handlers.py +0 -1
  48. pyedb/generic/design_types.py +24 -0
  49. pyedb/generic/general_methods.py +22 -115
  50. pyedb/generic/plot.py +3 -13
  51. pyedb/generic/settings.py +22 -0
  52. pyedb/ipc2581/bom/bom.py +22 -0
  53. pyedb/ipc2581/bom/bom_item.py +22 -0
  54. pyedb/ipc2581/bom/characteristics.py +22 -0
  55. pyedb/ipc2581/bom/refdes.py +22 -0
  56. pyedb/ipc2581/content/color.py +22 -0
  57. pyedb/ipc2581/content/content.py +22 -0
  58. pyedb/ipc2581/content/dictionary_color.py +22 -0
  59. pyedb/ipc2581/content/dictionary_fill.py +22 -0
  60. pyedb/ipc2581/content/dictionary_line.py +22 -0
  61. pyedb/ipc2581/content/entry_color.py +22 -0
  62. pyedb/ipc2581/content/entry_line.py +22 -0
  63. pyedb/ipc2581/content/fill.py +22 -0
  64. pyedb/ipc2581/content/layer_ref.py +22 -0
  65. pyedb/ipc2581/content/standard_geometries_dictionary.py +22 -0
  66. pyedb/ipc2581/ecad/cad_data/assembly_drawing.py +22 -0
  67. pyedb/ipc2581/ecad/cad_data/cad_data.py +22 -0
  68. pyedb/ipc2581/ecad/cad_data/component.py +22 -0
  69. pyedb/ipc2581/ecad/cad_data/drill.py +22 -0
  70. pyedb/ipc2581/ecad/cad_data/feature.py +22 -0
  71. pyedb/ipc2581/ecad/cad_data/layer.py +22 -0
  72. pyedb/ipc2581/ecad/cad_data/layer_feature.py +22 -0
  73. pyedb/ipc2581/ecad/cad_data/logical_net.py +22 -0
  74. pyedb/ipc2581/ecad/cad_data/outline.py +22 -0
  75. pyedb/ipc2581/ecad/cad_data/package.py +22 -0
  76. pyedb/ipc2581/ecad/cad_data/padstack_def.py +22 -0
  77. pyedb/ipc2581/ecad/cad_data/padstack_hole_def.py +22 -0
  78. pyedb/ipc2581/ecad/cad_data/padstack_instance.py +22 -0
  79. pyedb/ipc2581/ecad/cad_data/padstack_pad_def.py +22 -0
  80. pyedb/ipc2581/ecad/cad_data/path.py +22 -0
  81. pyedb/ipc2581/ecad/cad_data/phy_net.py +22 -0
  82. pyedb/ipc2581/ecad/cad_data/pin.py +22 -0
  83. pyedb/ipc2581/ecad/cad_data/polygon.py +22 -0
  84. pyedb/ipc2581/ecad/cad_data/profile.py +22 -0
  85. pyedb/ipc2581/ecad/cad_data/stackup.py +22 -0
  86. pyedb/ipc2581/ecad/cad_data/stackup_group.py +22 -0
  87. pyedb/ipc2581/ecad/cad_data/stackup_layer.py +22 -0
  88. pyedb/ipc2581/ecad/cad_data/step.py +22 -0
  89. pyedb/ipc2581/ecad/cad_header.py +22 -0
  90. pyedb/ipc2581/ecad/ecad.py +22 -0
  91. pyedb/ipc2581/ecad/spec.py +22 -0
  92. pyedb/ipc2581/history_record.py +22 -0
  93. pyedb/ipc2581/ipc2581.py +22 -0
  94. pyedb/ipc2581/logistic_header.py +22 -0
  95. pyedb/misc/aedtlib_personalib_install.py +22 -0
  96. pyedb/misc/downloads.py +22 -0
  97. pyedb/misc/misc.py +22 -0
  98. pyedb/misc/siw_feature_config/emc/component_tags.py +3 -5
  99. pyedb/misc/siw_feature_config/emc/net_tags.py +1 -3
  100. pyedb/misc/siw_feature_config/emc/tag_library.py +5 -4
  101. pyedb/misc/siw_feature_config/emc/xml_generic.py +1 -2
  102. pyedb/misc/siw_feature_config/emc_rule_checker_settings.py +55 -30
  103. pyedb/siwave.py +6 -4
  104. {pyedb-0.5.dev0.dist-info → pyedb-0.6.0.dist-info}/METADATA +5 -7
  105. pyedb-0.6.0.dist-info/RECORD +130 -0
  106. pyedb-0.5.dev0.dist-info/RECORD +0 -130
  107. {pyedb-0.5.dev0.dist-info → pyedb-0.6.0.dist-info}/LICENSE +0 -0
  108. {pyedb-0.5.dev0.dist-info → pyedb-0.6.0.dist-info}/WHEEL +0 -0
@@ -1,3 +1,25 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
1
23
  """
2
24
  This module contains EDB general methods and related methods.
3
25
 
@@ -1,3 +1,25 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
1
23
  """
2
24
  This module contains the ``EdbHfss`` class.
3
25
  """
@@ -1,3 +1,25 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
1
23
  """
2
24
  This module contains these classes: `EdbLayout` and `Shape`.
3
25
  """
@@ -1233,12 +1255,19 @@ class EdbLayout(object):
1233
1255
  stat_model.num_vias = len(self._pedb.padstacks.instances)
1234
1256
  stat_model.stackup_thickness = self._pedb.stackup.get_layout_thickness()
1235
1257
  if evaluate_area:
1258
+ outline_surface = stat_model.layout_size[0] * stat_model.layout_size[1]
1236
1259
  if net_list:
1237
1260
  netlist = list(self._pedb.nets.nets.keys())
1238
1261
  _poly = self._pedb.get_conformal_polygon_from_netlist(netlist)
1239
1262
  else:
1240
- _poly = self._pedb.get_conformal_polygon_from_netlist()
1241
- stat_model.occupying_surface = _poly.Area()
1242
- outline_surface = stat_model.layout_size[0] * stat_model.layout_size[1]
1243
- stat_model.occupying_ratio = stat_model.occupying_surface / outline_surface
1263
+ for layer in list(self._pedb.stackup.signal_layers.keys()):
1264
+ surface = 0.0
1265
+ primitives = self.primitives_by_layer[layer]
1266
+ for prim in primitives:
1267
+ if prim.type == "Path":
1268
+ surface += prim.length * prim.width
1269
+ if prim.type == "Polygon":
1270
+ surface += prim.polygon_data.edb_api.Area()
1271
+ stat_model.occupying_surface[layer] = surface
1272
+ stat_model.occupying_ratio[layer] = surface / outline_surface
1244
1273
  return stat_model
@@ -1,3 +1,25 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
1
23
  import re
2
24
 
3
25
  from pyedb.dotnet.edb_core.edb_data.padstacks_data import EDBPadstackInstance
@@ -73,7 +95,7 @@ class LayoutValidation:
73
95
  all_shorted_nets.append(net)
74
96
  if net_dc_shorts:
75
97
  dc_nets = list(set([obj.net.name for obj in net_dc_shorts]))
76
- dc_nets = [i for i in dc_nets if i != net]
98
+ dc_nets = [i for i in dc_nets if i != net]
77
99
  for dc in dc_nets:
78
100
  if dc:
79
101
  dc_shorts.append([net, dc])
@@ -96,7 +118,7 @@ class LayoutValidation:
96
118
  rename_shorts = [i for i in net_dc_shorts if i._edb_object.GetNet().GetName() != temp_name]
97
119
  for i in rename_shorts:
98
120
  i._edb_object.SetNet(self._pedb.nets.nets[temp_name].net_obj)
99
- #i.net = temp_name
121
+ # i.net = temp_name
100
122
  return dc_shorts
101
123
 
102
124
  @pyedb_function_handler()
@@ -1,3 +1,25 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
1
23
  from __future__ import absolute_import # noreorder
2
24
 
3
25
  import difflib
@@ -1,3 +1,25 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
1
23
  from __future__ import absolute_import # noreorder
2
24
 
3
25
  import re
@@ -1,3 +1,25 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
1
23
  from __future__ import absolute_import # noreorder
2
24
 
3
25
  import math
@@ -1,3 +1,25 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
1
23
  """
2
24
  This module contains the `EdbPadstacks` class.
3
25
  """
@@ -1,3 +1,25 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
1
23
  """
2
24
  This module contains these classes: ``CircuitPort``, ``CurrentSource``, ``EdbSiwave``,
3
25
  ``PinGroup``, ``ResistorSource``, ``Source``, ``SourceType``, and ``VoltageSource``.
@@ -1,3 +1,25 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
1
23
  """
2
24
  This module contains the `EdbStackup` class.
3
25
 
pyedb/edb_logger.py CHANGED
@@ -1,3 +1,25 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
1
23
  # -*- coding: utf-8 -*-
2
24
  import logging
3
25
  from logging.handlers import RotatingFileHandler
@@ -1,3 +1,25 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
1
23
  import math
2
24
  import warnings
3
25
 
@@ -1,5 +1,4 @@
1
1
  # -*- coding: utf-8 -*-
2
- from collections import OrderedDict
3
2
  from decimal import Decimal
4
3
  import json
5
4
  import math
@@ -1,3 +1,25 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
1
23
  import os
2
24
 
3
25
 
@@ -100,6 +122,7 @@ def Edb(
100
122
  else:
101
123
  raise Exception("not implemented yet.")
102
124
 
125
+
103
126
  def Siwave(
104
127
  specified_version=None,
105
128
  ):
@@ -110,4 +133,5 @@ def Siwave(
110
133
  specified_version=specified_version,
111
134
  )
112
135
 
136
+
113
137
  app_map = {"EDB": Edb}
@@ -1,3 +1,25 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
1
23
  # -*- coding: utf-8 -*-
2
24
  from __future__ import absolute_import
3
25
 
@@ -11,7 +33,6 @@ import fnmatch
11
33
  from functools import update_wrapper
12
34
  import inspect
13
35
  import itertools
14
- import json
15
36
  import logging
16
37
  import math
17
38
  import os
@@ -32,8 +53,6 @@ is_windows = not is_linux
32
53
  _pythonver = sys.version_info[0]
33
54
  inside_desktop = True if is_ironpython and "4.0.30319.42000" in sys.version else False
34
55
 
35
- if not is_ironpython:
36
- import psutil
37
56
 
38
57
  try:
39
58
  import xml.etree.cElementTree as ET
@@ -974,118 +993,6 @@ def number_aware_string_key(s): # pragma: no cover
974
993
  return tuple(result)
975
994
 
976
995
 
977
- @pyedb_function_handler()
978
- def active_sessions(version=None, student_version=False, non_graphical=False): # pragma: no cover
979
- """Get information for the active AEDT sessions.
980
-
981
- Parameters
982
- ----------
983
- version : str, optional
984
- Version to check. The default is ``None``, in which case all versions are checked.
985
- When specifying a version, you can use a three-digit format like ``"222"`` or a
986
- five-digit format like ``"2022.2"``.
987
- student_version : bool, optional
988
- non_graphical : bool, optional
989
-
990
-
991
- Returns
992
- -------
993
- dict
994
- {AEDT PID: port}
995
- If the PID corresponds to a COM session port is set to -1
996
- """
997
- return_dict = {}
998
- if student_version:
999
- keys = ["ansysedtsv.exe", "ansysedtsv"]
1000
- else:
1001
- keys = ["ansysedt.exe", "ansysedt"]
1002
- if version and "." in version:
1003
- version = version[-4:].replace(".", "")
1004
- if version and version < "221":
1005
- version = version[:2] + "." + version[2]
1006
- for p in psutil.process_iter():
1007
- try:
1008
- if p.name() in keys:
1009
- cmd = p.cmdline()
1010
- if non_graphical and "-ng" in cmd or not non_graphical:
1011
- if not version or (version and version in cmd[0]):
1012
- if "-grpcsrv" in cmd:
1013
- if not version or (version and version in cmd[0]):
1014
- try:
1015
- return_dict[p.pid] = int(cmd[cmd.index("-grpcsrv") + 1])
1016
- except (IndexError, ValueError):
1017
- # default desktop grpc port.
1018
- return_dict[p.pid] = 50051
1019
- else:
1020
- return_dict[p.pid] = -1
1021
- for i in psutil.net_connections():
1022
- if i.pid == p.pid and (i.laddr.port > 50050 and i.laddr.port < 50200):
1023
- return_dict[p.pid] = i.laddr.port
1024
- break
1025
- except:
1026
- pass
1027
- return return_dict
1028
-
1029
-
1030
- @pyedb_function_handler()
1031
- def com_active_sessions(version=None, student_version=False, non_graphical=False): # pragma: no cover
1032
- """Get information for the active COM AEDT sessions.
1033
-
1034
- Parameters
1035
- ----------
1036
- version : str, optional
1037
- Version to check. The default is ``None``, in which case all versions are checked.
1038
- When specifying a version, you can use a three-digit format like ``"222"`` or a
1039
- five-digit format like ``"2022.2"``.
1040
- student_version : bool, optional
1041
- Whether to check for student version sessions. The default is ``False``.
1042
- non_graphical : bool, optional
1043
- Whether to check only for active non-graphical sessions. The default is ``False``.
1044
-
1045
- Returns
1046
- -------
1047
- List
1048
- List of AEDT process IDs.
1049
- """
1050
-
1051
- all_sessions = active_sessions(version, student_version, non_graphical)
1052
-
1053
- return_list = []
1054
- for s, p in all_sessions.items():
1055
- if p == -1:
1056
- return_list.append(s)
1057
- return return_list
1058
-
1059
-
1060
- @pyedb_function_handler()
1061
- def grpc_active_sessions(version=None, student_version=False, non_graphical=False): # pragma: no cover
1062
- """Get information for the active gRPC AEDT sessions.
1063
-
1064
- Parameters
1065
- ----------
1066
- version : str, optional
1067
- Version to check. The default is ``None``, in which case all versions are checked.
1068
- When specifying a version, you can use a three-digit format like ``"222"`` or a
1069
- five-digit format like ``"2022.2"``.
1070
- student_version : bool, optional
1071
- Whether to check for student version sessions. The default is ``False``.
1072
- non_graphical : bool, optional
1073
- Whether to check only for active non-graphical sessions. The default is ``False``.
1074
-
1075
- Returns
1076
- -------
1077
- List
1078
- List of gRPC ports.
1079
- """
1080
- all_sessions = active_sessions(version, student_version, non_graphical)
1081
-
1082
- return_list = []
1083
- for _, p in all_sessions.items():
1084
- if p > -1:
1085
- return_list.append(p)
1086
- return return_list
1087
-
1088
-
1089
996
  @pyedb_function_handler()
1090
997
  def compute_fft(time_vals, value): # pragma: no cover
1091
998
  """Compute FFT of input transient data.
pyedb/generic/plot.py CHANGED
@@ -1,23 +1,12 @@
1
1
  import ast
2
- from collections import defaultdict
3
- import csv
4
- from datetime import datetime
5
- import math
6
2
  import os
7
- import tempfile
8
- import time
9
3
  import warnings
10
4
 
11
- from pyedb.generic.constants import AEDT_UNITS, CSS4_COLORS
12
- from pyedb.generic.general_methods import (
13
- is_ironpython,
14
- open_file,
15
- pyedb_function_handler,
16
- )
5
+ from pyedb.generic.general_methods import is_ironpython, pyedb_function_handler
17
6
 
18
7
  if not is_ironpython: # pragma: no cover
19
8
  try:
20
- import numpy as np
9
+ import numpy # noqa: F401
21
10
  except ImportError:
22
11
  warnings.warn(
23
12
  "The NumPy module is required to run some functionalities of PostProcess.\n"
@@ -43,6 +32,7 @@ if not is_ironpython: # pragma: no cover
43
32
  except:
44
33
  pass
45
34
 
35
+
46
36
  @pyedb_function_handler()
47
37
  def plot_matplotlib(
48
38
  plot_data,
pyedb/generic/settings.py CHANGED
@@ -1,3 +1,25 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
1
23
  import logging
2
24
  import os
3
25
  import time
pyedb/ipc2581/bom/bom.py CHANGED
@@ -1,3 +1,25 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
1
23
  from pyedb.generic.general_methods import ET
2
24
 
3
25