pyedb 0.6.0__tar.gz → 0.7.1__tar.gz

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 (135) hide show
  1. {pyedb-0.6.0 → pyedb-0.7.1}/PKG-INFO +31 -53
  2. {pyedb-0.6.0 → pyedb-0.7.1}/README.md +1 -1
  3. {pyedb-0.6.0 → pyedb-0.7.1}/pyproject.toml +30 -51
  4. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/__init__.py +1 -1
  5. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/clr_module.py +1 -1
  6. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb.py +15 -16
  7. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/cell/hierarchy/model.py +17 -0
  8. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/components.py +11 -11
  9. pyedb-0.7.1/src/pyedb/dotnet/edb_core/configuration.py +713 -0
  10. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/definition/component_def.py +9 -0
  11. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/definition/package_def.py +27 -0
  12. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/edb_data/components_data.py +8 -3
  13. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/edb_data/hfss_extent_info.py +14 -13
  14. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/edb_data/hfss_simulation_setup_data.py +2 -2
  15. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/edb_data/layer_data.py +8 -3
  16. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/edb_data/padstacks_data.py +26 -5
  17. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/edb_data/primitives_data.py +12 -11
  18. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/edb_data/siwave_simulation_setup_data.py +1 -1
  19. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/edb_data/sources.py +10 -0
  20. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/hfss.py +1 -1
  21. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/layout.py +94 -31
  22. pyedb-0.7.1/src/pyedb/dotnet/edb_core/materials.py +1056 -0
  23. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/nets.py +5 -5
  24. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/padstack.py +57 -6
  25. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/siwave.py +9 -2
  26. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/stackup.py +108 -94
  27. pyedb-0.7.1/src/pyedb/dotnet/edb_core/utilities/__init__.py +3 -0
  28. pyedb-0.7.1/src/pyedb/dotnet/edb_core/utilities/heatsink.py +69 -0
  29. pyedb-0.7.1/src/pyedb/exceptions.py +6 -0
  30. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/generic/filesystem.py +7 -3
  31. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/generic/general_methods.py +4 -0
  32. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/generic/process.py +4 -1
  33. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/generic/settings.py +10 -0
  34. pyedb-0.6.0/src/pyedb/dotnet/edb_core/configuration.py +0 -444
  35. pyedb-0.6.0/src/pyedb/dotnet/edb_core/materials.py +0 -960
  36. {pyedb-0.6.0 → pyedb-0.7.1}/LICENSE +0 -0
  37. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/__init__.py +0 -0
  38. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/application/Variables.py +0 -0
  39. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/application/__init__.py +0 -0
  40. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/__init__.py +0 -0
  41. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/cell/__init__.py +0 -0
  42. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/cell/hierarchy/__init__.py +0 -0
  43. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/definition/__init__.py +0 -0
  44. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/definition/component_model.py +0 -0
  45. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/definition/definition_obj.py +0 -0
  46. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/definition/definitions.py +0 -0
  47. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/dotnet/__init__.py +0 -0
  48. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/dotnet/database.py +0 -0
  49. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/dotnet/layout.py +0 -0
  50. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/dotnet/primitive.py +0 -0
  51. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/edb_data/__init__.py +0 -0
  52. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/edb_data/connectable.py +0 -0
  53. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/edb_data/control_file.py +0 -0
  54. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/edb_data/design_options.py +0 -0
  55. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/edb_data/edbvalue.py +0 -0
  56. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/edb_data/nets_data.py +0 -0
  57. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/edb_data/obj_base.py +0 -0
  58. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/edb_data/ports.py +0 -0
  59. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/edb_data/simulation_configuration.py +0 -0
  60. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/edb_data/terminals.py +0 -0
  61. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/edb_data/utilities.py +0 -0
  62. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/edb_data/variables.py +0 -0
  63. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/general.py +0 -0
  64. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/layout_validation.py +0 -0
  65. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/dotnet/edb_core/net_class.py +0 -0
  66. {pyedb-0.6.0/src/pyedb/dotnet/edb_core/edb_data → pyedb-0.7.1/src/pyedb/dotnet/edb_core/utilities}/simulation_setup.py +0 -0
  67. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/edb_logger.py +0 -0
  68. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/generic/__init__.py +0 -0
  69. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/generic/constants.py +0 -0
  70. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/generic/data_handlers.py +0 -0
  71. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/generic/design_types.py +0 -0
  72. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/generic/plot.py +0 -0
  73. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/__init__.py +0 -0
  74. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/bom/__init__.py +0 -0
  75. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/bom/bom.py +0 -0
  76. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/bom/bom_item.py +0 -0
  77. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/bom/characteristics.py +0 -0
  78. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/bom/refdes.py +0 -0
  79. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/content/__init__.py +0 -0
  80. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/content/color.py +0 -0
  81. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/content/content.py +0 -0
  82. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/content/dictionary_color.py +0 -0
  83. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/content/dictionary_fill.py +0 -0
  84. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/content/dictionary_line.py +0 -0
  85. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/content/entry_color.py +0 -0
  86. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/content/entry_line.py +0 -0
  87. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/content/fill.py +0 -0
  88. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/content/layer_ref.py +0 -0
  89. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/content/standard_geometries_dictionary.py +0 -0
  90. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/__init__.py +0 -0
  91. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/__init__.py +0 -0
  92. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/assembly_drawing.py +0 -0
  93. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/cad_data.py +0 -0
  94. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/component.py +0 -0
  95. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/drill.py +0 -0
  96. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/feature.py +0 -0
  97. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/layer.py +0 -0
  98. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/layer_feature.py +0 -0
  99. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/logical_net.py +0 -0
  100. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/outline.py +0 -0
  101. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/package.py +0 -0
  102. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/padstack_def.py +0 -0
  103. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/padstack_hole_def.py +0 -0
  104. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/padstack_instance.py +0 -0
  105. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/padstack_pad_def.py +0 -0
  106. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/path.py +0 -0
  107. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/phy_net.py +0 -0
  108. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/pin.py +0 -0
  109. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/polygon.py +0 -0
  110. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/profile.py +0 -0
  111. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/stackup.py +0 -0
  112. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/stackup_group.py +0 -0
  113. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/stackup_layer.py +0 -0
  114. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_data/step.py +0 -0
  115. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/cad_header.py +0 -0
  116. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/ecad.py +0 -0
  117. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ecad/spec.py +0 -0
  118. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/history_record.py +0 -0
  119. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/ipc2581.py +0 -0
  120. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/ipc2581/logistic_header.py +0 -0
  121. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/misc/__init__.py +0 -0
  122. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/misc/aedtlib_personalib_install.py +0 -0
  123. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/misc/downloads.py +0 -0
  124. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/misc/misc.py +0 -0
  125. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/misc/pyedb.runtimeconfig.json +0 -0
  126. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/misc/siw_feature_config/__init__.py +0 -0
  127. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/misc/siw_feature_config/emc/__init__.py +0 -0
  128. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/misc/siw_feature_config/emc/component_tags.py +0 -0
  129. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/misc/siw_feature_config/emc/net_tags.py +0 -0
  130. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/misc/siw_feature_config/emc/tag_library.py +0 -0
  131. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/misc/siw_feature_config/emc/xml_generic.py +0 -0
  132. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/misc/siw_feature_config/emc_rule_checker_settings.py +0 -0
  133. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/misc/utilities.py +0 -0
  134. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/modeler/geometry_operators.py +0 -0
  135. {pyedb-0.6.0 → pyedb-0.7.1}/src/pyedb/siwave.py +0 -0
@@ -1,73 +1,51 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyedb
3
- Version: 0.6.0
3
+ Version: 0.7.1
4
4
  Summary: Higher-Level Pythonic Ansys Electronics Data Base
5
5
  Author-email: "ANSYS, Inc." <pyansys.core@ansys.com>
6
6
  Maintainer-email: PyEDB developers <simon.vandenbrouck@ansys.com>
7
- Requires-Python: >=3.7,<4
7
+ Requires-Python: >=3.8,<4
8
8
  Description-Content-Type: text/markdown
9
9
  Classifier: Development Status :: 4 - Beta
10
10
  Classifier: Intended Audience :: Science/Research
11
11
  Classifier: Topic :: Scientific/Engineering :: Information Analysis
12
12
  Classifier: License :: OSI Approved :: MIT License
13
13
  Classifier: Operating System :: OS Independent
14
- Classifier: Programming Language :: Python :: 3.7
15
14
  Classifier: Programming Language :: Python :: 3.8
16
15
  Classifier: Programming Language :: Python :: 3.9
17
16
  Classifier: Programming Language :: Python :: 3.10
18
17
  Classifier: Programming Language :: Python :: 3.11
19
- Requires-Dist: cffi == 1.15.1;platform_system=='Linux' and python_version == '3.7'
20
- Requires-Dist: cffi == 1.16.0;platform_system=='Linux' and python_version > '3.7'
18
+ Requires-Dist: cffi>=1.16.0,<1.17; platform_system=='Linux'
21
19
  Requires-Dist: pywin32 >= 303;platform_system=='Windows'
22
20
  Requires-Dist: ansys-pythonnet >= 3.1.0rc3
23
21
  Requires-Dist: dotnetcore2 ==3.1.23;platform_system=='Linux'
24
- Requires-Dist: ansys-sphinx-theme==0.13.1 ; extra == "doc"
25
- Requires-Dist: imageio==2.34.0 ; extra == "doc"
26
- Requires-Dist: imageio-ffmpeg==0.4.9 ; extra == "doc"
27
- Requires-Dist: ipython==8.13.0 ; extra == "doc" and ( python_version < '3.9')
28
- Requires-Dist: ipython==8.22.2 ; extra == "doc" and ( python_version >= '3.9')
29
- Requires-Dist: ipywidgets==8.1.1 ; extra == "doc"
30
- Requires-Dist: jupyterlab==4.1.3 ; extra == "doc"
31
- Requires-Dist: matplotlib==3.5.3 ; extra == "doc" and ( python_version == '3.7')
32
- Requires-Dist: matplotlib==3.7.3 ; extra == "doc" and ( python_version == '3.8')
33
- Requires-Dist: matplotlib==3.8.2 ; extra == "doc" and ( python_version > '3.8')
34
- Requires-Dist: nbsphinx==0.9.3 ; extra == "doc"
35
- Requires-Dist: numpydoc==1.5.0 ; extra == "doc" and ( python_version == '3.7')
36
- Requires-Dist: numpydoc==1.6.0 ; extra == "doc" and ( python_version > '3.7')
37
- Requires-Dist: pypandoc==1.13 ; extra == "doc"
38
- Requires-Dist: pytest-sphinx==0.5.0 ; extra == "doc"
39
- Requires-Dist: recommonmark==0.7.1 ; extra == "doc"
40
- Requires-Dist: Sphinx==7.1.2 ; extra == "doc" and ( python_version <= '3.9')
41
- Requires-Dist: Sphinx==7.2.6 ; extra == "doc" and ( python_version >= '3.9')
42
- Requires-Dist: sphinx-autobuild==2021.3.14 ; extra == "doc"
43
- Requires-Dist: sphinx-autodoc-typehints==1.24.0 ; extra == "doc"
44
- Requires-Dist: sphinx-copybutton==0.5.2 ; extra == "doc"
45
- Requires-Dist: sphinx-gallery==0.14.0 ; extra == "doc"
46
- Requires-Dist: sphinx-notfound-page==1.0.0 ; extra == "doc"
47
- Requires-Dist: sphinxcontrib-websupport==1.2.4 ; extra == "doc" and ( python_version <= '3.9')
48
- Requires-Dist: sphinxcontrib-websupport==1.2.5 ; extra == "doc" and ( python_version <= '3.7')
49
- Requires-Dist: sphinx_design ; extra == "doc"
50
- Requires-Dist: sphinx_jinja ; extra == "doc"
51
- Requires-Dist: matplotlib==3.5.3 ; extra == "full" and ( python_version == '3.7')
52
- Requires-Dist: matplotlib==3.7.3 ; extra == "full" and ( python_version == '3.8')
53
- Requires-Dist: matplotlib==3.8.2 ; extra == "full" and ( python_version > '3.8')
54
- Requires-Dist: numpy==1.21.6 ; extra == "full" and ( python_version <= '3.9')
55
- Requires-Dist: numpy==1.26.0 ; extra == "full" and ( python_version > '3.9')
56
- Requires-Dist: pandas==1.3.5 ; extra == "full" and ( python_version == '3.7')
57
- Requires-Dist: pandas==2.0.3 ; extra == "full" and ( python_version == '3.9')
58
- Requires-Dist: pandas==2.1.1 ; extra == "full" and ( python_version > '3.9')
59
- Requires-Dist: matplotlib==3.5.3 ; extra == "tests" and ( python_version == '3.7')
60
- Requires-Dist: matplotlib==3.7.3 ; extra == "tests" and ( python_version == '3.8')
61
- Requires-Dist: matplotlib==3.8.2 ; extra == "tests" and ( python_version > '3.8')
62
- Requires-Dist: numpy==1.21.6 ; extra == "tests" and ( python_version <= '3.9')
63
- Requires-Dist: numpy==1.26.0 ; extra == "tests" and ( python_version > '3.9')
64
- Requires-Dist: mock ; extra == "tests"
65
- Requires-Dist: pandas==1.3.5 ; extra == "tests" and ( python_version == '3.7')
66
- Requires-Dist: pandas==2.0.3 ; extra == "tests" and ( python_version == '3.8')
67
- Requires-Dist: pandas==2.1.1 ; extra == "tests" and ( python_version > '3.9')
68
- Requires-Dist: pytest==7.4.3 ; extra == "tests"
69
- Requires-Dist: pytest-cov==4.1.0 ; extra == "tests"
70
- Requires-Dist: pytest-xdist==3.3.1 ; extra == "tests"
22
+ Requires-Dist: pydantic>=2.6.4,<2.7
23
+ Requires-Dist: toml == 0.10.2
24
+ Requires-Dist: ansys-sphinx-theme>=0.10.0,<0.15 ; extra == "doc"
25
+ Requires-Dist: imageio>=2.30.0,<2.35 ; extra == "doc"
26
+ Requires-Dist: ipython>=8.13.0,<8.24 ; extra == "doc"
27
+ Requires-Dist: jupyterlab>=4.0.0,<4.3 ; extra == "doc"
28
+ Requires-Dist: matplotlib>=3.5.0,<3.9 ; extra == "doc"
29
+ Requires-Dist: nbsphinx>=0.9.0,<0.10 ; extra == "doc"
30
+ Requires-Dist: numpydoc>=1.5.0,<1.8 ; extra == "doc"
31
+ Requires-Dist: pypandoc>=1.10.0,<1.14 ; extra == "doc"
32
+ Requires-Dist: recommonmark ; extra == "doc"
33
+ Requires-Dist: Sphinx>=7.1.0,<7.3 ; extra == "doc"
34
+ Requires-Dist: sphinx-autobuild==2021.3.14 ; extra == "doc" and ( python_version == '3.8')
35
+ Requires-Dist: sphinx-autobuild==2024.2.4 ; extra == "doc" and ( python_version > '3.8')
36
+ Requires-Dist: sphinx-copybutton>=0.5.0,<0.6 ; extra == "doc"
37
+ Requires-Dist: sphinx-gallery>=0.14.0,<0.16 ; extra == "doc"
38
+ Requires-Dist: sphinx_design>=0.4.0,<0.6 ; extra == "doc"
39
+ Requires-Dist: matplotlib>=3.5.0,<3.9 ; extra == "full"
40
+ Requires-Dist: numpy>=1.20.0,<2 ; extra == "full"
41
+ Requires-Dist: pandas>=1.1.0,<2.3 ; extra == "full"
42
+ Requires-Dist: matplotlib>=3.5.0,<3.9 ; extra == "tests"
43
+ Requires-Dist: numpy>=1.20.0,<2 ; extra == "tests"
44
+ Requires-Dist: mock>=5.1.0,<5.2 ; extra == "tests"
45
+ Requires-Dist: pandas>=1.1.0,<2.3 ; extra == "tests"
46
+ Requires-Dist: pytest>=7.4.0,<8.2 ; extra == "tests"
47
+ Requires-Dist: pytest-cov>=4.0.0,<5.1 ; extra == "tests"
48
+ Requires-Dist: pytest-xdist>=3.5.0,<3.6 ; extra == "tests"
71
49
  Project-URL: Bugs, https://github.com/ansys/pyedb/issues
72
50
  Project-URL: Discussions, https://github.com/ansys/pyedb/discussions
73
51
  Project-URL: Documentation, https://edb.docs.pyansys.com
@@ -87,7 +65,7 @@ Provides-Extra: tests
87
65
  # PyEDB
88
66
 
89
67
  [![PyAnsys](https://img.shields.io/badge/Py-Ansys-ffc107.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABDklEQVQ4jWNgoDfg5mD8vE7q/3bpVyskbW0sMRUwofHD7Dh5OBkZGBgW7/3W2tZpa2tLQEOyOzeEsfumlK2tbVpaGj4N6jIs1lpsDAwMJ278sveMY2BgCA0NFRISwqkhyQ1q/Nyd3zg4OBgYGNjZ2ePi4rB5loGBhZnhxTLJ/9ulv26Q4uVk1NXV/f///////69du4Zdg78lx//t0v+3S88rFISInD59GqIH2esIJ8G9O2/XVwhjzpw5EAam1xkkBJn/bJX+v1365hxxuCAfH9+3b9/+////48cPuNehNsS7cDEzMTAwMMzb+Q2u4dOnT2vWrMHu9ZtzxP9vl/69RVpCkBlZ3N7enoDXBwEAAA+YYitOilMVAAAAAElFTkSuQmCC)](https://docs.pyansys.com/)
90
- [![PythonVersion](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/)
68
+ [![PythonVersion](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
91
69
  [![MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
92
70
 
93
71
  ## What is PyEDB?
@@ -8,7 +8,7 @@
8
8
  # PyEDB
9
9
 
10
10
  [![PyAnsys](https://img.shields.io/badge/Py-Ansys-ffc107.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABDklEQVQ4jWNgoDfg5mD8vE7q/3bpVyskbW0sMRUwofHD7Dh5OBkZGBgW7/3W2tZpa2tLQEOyOzeEsfumlK2tbVpaGj4N6jIs1lpsDAwMJ278sveMY2BgCA0NFRISwqkhyQ1q/Nyd3zg4OBgYGNjZ2ePi4rB5loGBhZnhxTLJ/9ulv26Q4uVk1NXV/f///////69du4Zdg78lx//t0v+3S88rFISInD59GqIH2esIJ8G9O2/XVwhjzpw5EAam1xkkBJn/bJX+v1365hxxuCAfH9+3b9/+////48cPuNehNsS7cDEzMTAwMMzb+Q2u4dOnT2vWrMHu9ZtzxP9vl/69RVpCkBlZ3N7enoDXBwEAAA+YYitOilMVAAAAAElFTkSuQmCC)](https://docs.pyansys.com/)
11
- [![PythonVersion](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/)
11
+ [![PythonVersion](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
12
12
  [![MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
13
13
 
14
14
  ## What is PyEDB?
@@ -8,7 +8,7 @@ name = "pyedb"
8
8
  dynamic = ["version"]
9
9
  description = "Higher-Level Pythonic Ansys Electronics Data Base"
10
10
  readme = "README.md"
11
- requires-python = ">=3.7,<4"
11
+ requires-python = ">=3.8,<4"
12
12
  license = {file = "LICENSE"}
13
13
  authors = [{name = "ANSYS, Inc.", email = "pyansys.core@ansys.com"}]
14
14
  maintainers = [{name = "PyEDB developers", email = "simon.vandenbrouck@ansys.com"}]
@@ -18,7 +18,6 @@ classifiers = [
18
18
  "Topic :: Scientific/Engineering :: Information Analysis",
19
19
  "License :: OSI Approved :: MIT License",
20
20
  "Operating System :: OS Independent",
21
- "Programming Language :: Python :: 3.7",
22
21
  "Programming Language :: Python :: 3.8",
23
22
  "Programming Language :: Python :: 3.9",
24
23
  "Programming Language :: Python :: 3.10",
@@ -26,66 +25,46 @@ classifiers = [
26
25
  ]
27
26
 
28
27
  dependencies = [
29
- "cffi == 1.15.1;platform_system=='Linux' and python_version == '3.7'",
30
- "cffi == 1.16.0;platform_system=='Linux' and python_version > '3.7'",
28
+ "cffi>=1.16.0,<1.17; platform_system=='Linux'",
31
29
  "pywin32 >= 303;platform_system=='Windows'",
32
30
  "ansys-pythonnet >= 3.1.0rc3",
33
31
  "dotnetcore2 ==3.1.23;platform_system=='Linux'",
32
+ "pydantic>=2.6.4,<2.7",
33
+ "toml == 0.10.2",
34
34
  ]
35
35
 
36
36
  [project.optional-dependencies]
37
37
  tests = [
38
- "matplotlib==3.5.3; python_version == '3.7'",
39
- "matplotlib==3.7.3; python_version == '3.8'",
40
- "matplotlib==3.8.2; python_version > '3.8'",
41
- "numpy==1.21.6; python_version <= '3.9'",
42
- "numpy==1.26.0; python_version > '3.9'",
43
- "mock",
44
- "pandas==1.3.5; python_version == '3.7'",
45
- "pandas==2.0.3; python_version == '3.8'",
46
- "pandas==2.1.1; python_version > '3.9'",
47
- "pytest==7.4.3",
48
- "pytest-cov==4.1.0",
49
- "pytest-xdist==3.3.1",
38
+ "matplotlib>=3.5.0,<3.9",
39
+ "numpy>=1.20.0,<2",
40
+ "mock>=5.1.0,<5.2",
41
+ "pandas>=1.1.0,<2.3",
42
+ "pytest>=7.4.0,<8.2",
43
+ "pytest-cov>=4.0.0,<5.1",
44
+ "pytest-xdist>=3.5.0,<3.6",
50
45
  ]
51
46
  doc = [
52
- "ansys-sphinx-theme==0.13.1",
53
- "imageio==2.34.0",
54
- "imageio-ffmpeg==0.4.9",
55
- "ipython==8.13.0; python_version < '3.9'",
56
- "ipython==8.22.2; python_version >= '3.9'",
57
- "ipywidgets==8.1.1",
58
- "jupyterlab==4.1.3",
59
- "matplotlib==3.5.3; python_version == '3.7'",
60
- "matplotlib==3.7.3; python_version == '3.8'",
61
- "matplotlib==3.8.2; python_version > '3.8'",
62
- "nbsphinx==0.9.3",
63
- "numpydoc==1.5.0; python_version == '3.7'",
64
- "numpydoc==1.6.0; python_version > '3.7'",
65
- "pypandoc==1.13",
66
- "pytest-sphinx==0.5.0",
67
- "recommonmark==0.7.1",
68
- "Sphinx==7.1.2; python_version <= '3.9'",
69
- "Sphinx==7.2.6; python_version >= '3.9'",
70
- "sphinx-autobuild==2021.3.14",
71
- "sphinx-autodoc-typehints==1.24.0",
72
- "sphinx-copybutton==0.5.2",
73
- "sphinx-gallery==0.14.0",
74
- "sphinx-notfound-page==1.0.0",
75
- "sphinxcontrib-websupport==1.2.4; python_version <= '3.9'",
76
- "sphinxcontrib-websupport==1.2.5; python_version <= '3.7'",
77
- "sphinx_design",
78
- "sphinx_jinja",
47
+ "ansys-sphinx-theme>=0.10.0,<0.15",
48
+ "imageio>=2.30.0,<2.35",
49
+ "ipython>=8.13.0,<8.24",
50
+ "jupyterlab>=4.0.0,<4.3",
51
+ "matplotlib>=3.5.0,<3.9",
52
+ "nbsphinx>=0.9.0,<0.10",
53
+ "numpydoc>=1.5.0,<1.8",
54
+ "pypandoc>=1.10.0,<1.14",
55
+ # NOTE: Remove recommonmark once examples are reworked.
56
+ "recommonmark",
57
+ "Sphinx>=7.1.0,<7.3",
58
+ "sphinx-autobuild==2021.3.14; python_version == '3.8'",
59
+ "sphinx-autobuild==2024.2.4; python_version > '3.8'",
60
+ "sphinx-copybutton>=0.5.0,<0.6",
61
+ "sphinx-gallery>=0.14.0,<0.16",
62
+ "sphinx_design>=0.4.0,<0.6",
79
63
  ]
80
64
  full = [
81
- "matplotlib==3.5.3; python_version == '3.7'",
82
- "matplotlib==3.7.3; python_version == '3.8'",
83
- "matplotlib==3.8.2; python_version > '3.8'",
84
- "numpy==1.21.6; python_version <= '3.9'",
85
- "numpy==1.26.0; python_version > '3.9'",
86
- "pandas==1.3.5; python_version == '3.7'",
87
- "pandas==2.0.3; python_version == '3.9'",
88
- "pandas==2.1.1; python_version > '3.9'",
65
+ "matplotlib>=3.5.0,<3.9",
66
+ "numpy>=1.20.0,<2",
67
+ "pandas>=1.1.0,<2.3",
89
68
  ]
90
69
 
91
70
 
@@ -44,7 +44,7 @@ deprecation_warning()
44
44
  #
45
45
 
46
46
  pyedb_path = os.path.dirname(__file__)
47
- __version__ = "0.6.0"
47
+ __version__ = "0.7.1"
48
48
  version = __version__
49
49
 
50
50
  #
@@ -83,7 +83,7 @@ except ImportError: # pragma: no cover
83
83
  )
84
84
  edb_initialized = False
85
85
  elif sys.version[0] == 3 and sys.version[1] < 7:
86
- warnings.warn("EDB requires Linux Python 3.7 or later.")
86
+ warnings.warn("EDB requires Linux Python 3.8 or later.")
87
87
  _clr = None
88
88
  String = None
89
89
  Double = None
@@ -848,12 +848,11 @@ class Edb(Database):
848
848
  Examples
849
849
  --------
850
850
  >>> from pyedb.dotnet.edb import Edb
851
- >>> edbapp = Edb("myproject.aedb")
852
- >>> edbapp.materials["FR4_epoxy"].conductivity = 1
853
- >>> edbapp.materials.add_debye_material("My_Debye2", 5, 3, 0.02, 0.05, 1e5, 1e9)
854
- >>> edbapp.materials.add_djordjevicsarkar_material("MyDjord2", 3.3, 0.02, 3.3)
851
+ >>> edbapp = Edb()
852
+ >>> edbapp.materials.add_material("air", permittivity=1.0)
853
+ >>> edbapp.materials.add_debye_material("debye_mat", 5, 3, 0.02, 0.05, 1e5, 1e9)
854
+ >>> edbapp.materials.add_djordjevicsarkar_material("djord_mat", 3.3, 0.02, 3.3)
855
855
  """
856
-
857
856
  if not self._materials and self.active_db:
858
857
  self._materials = Materials(self)
859
858
  return self._materials
@@ -4142,8 +4141,8 @@ class Edb(Database):
4142
4141
  loss_tg_variable = "$loss_tangent_{}".format(mat_name)
4143
4142
  loss_tg_variable = self._clean_string_for_variable_name(loss_tg_variable)
4144
4143
  if not loss_tg_variable in self.variables:
4145
- self.add_design_variable(loss_tg_variable, material.loss_tangent)
4146
- material.loss_tangent = loss_tg_variable
4144
+ self.add_design_variable(loss_tg_variable, material.dielectric_loss_tangent)
4145
+ material.dielectric_loss_tangent = loss_tg_variable
4147
4146
  parameters.append(loss_tg_variable)
4148
4147
  else:
4149
4148
  sigma_variable = "$sigma_{}".format(mat_name)
@@ -4176,7 +4175,7 @@ class Edb(Database):
4176
4175
  if via_holes: # pragma no cover
4177
4176
  hole_variable = self._clean_string_for_variable_name("$hole_diam_{}".format(def_name))
4178
4177
  if hole_variable not in self.variables:
4179
- self.add_design_variable(hole_variable, padstack_def.hole_properties[0])
4178
+ self.add_design_variable(hole_variable, padstack_def.hole_diameter_string)
4180
4179
  padstack_def.hole_properties = hole_variable
4181
4180
  parameters.append(hole_variable)
4182
4181
  if pads:
@@ -4186,7 +4185,7 @@ class Edb(Database):
4186
4185
  "$pad_diam_{}_{}".format(def_name, layer)
4187
4186
  )
4188
4187
  if pad_diameter_variable not in self.variables:
4189
- self.add_design_variable(pad_diameter_variable, pad.parameters_values[0])
4188
+ self.add_design_variable(pad_diameter_variable, pad.parameters_values_string[0])
4190
4189
  pad.parameters = {"Diameter": pad_diameter_variable}
4191
4190
  parameters.append(pad_diameter_variable)
4192
4191
  if pad.geometry_type == 2: # pragma no cover
@@ -4194,7 +4193,7 @@ class Edb(Database):
4194
4193
  "$pad_size_{}_{}".format(def_name, layer)
4195
4194
  )
4196
4195
  if pad_size_variable not in self.variables:
4197
- self.add_design_variable(pad_size_variable, pad.parameters_values[0])
4196
+ self.add_design_variable(pad_size_variable, pad.parameters_values_string[0])
4198
4197
  pad.parameters = {"Size": pad_size_variable}
4199
4198
  parameters.append(pad_size_variable)
4200
4199
  elif pad.geometry_type == 3: # pragma no cover
@@ -4205,8 +4204,8 @@ class Edb(Database):
4205
4204
  "$pad_size_y_{}_{}".format(def_name, layer)
4206
4205
  )
4207
4206
  if pad_size_variable_x not in self.variables and pad_size_variable_y not in self.variables:
4208
- self.add_design_variable(pad_size_variable_x, pad.parameters_values[0])
4209
- self.add_design_variable(pad_size_variable_y, pad.parameters_values[1])
4207
+ self.add_design_variable(pad_size_variable_x, pad.parameters_values_string[0])
4208
+ self.add_design_variable(pad_size_variable_y, pad.parameters_values_string[1])
4210
4209
  pad.parameters = {"XSize": pad_size_variable_x, "YSize": pad_size_variable_y}
4211
4210
  parameters.append(pad_size_variable_x)
4212
4211
  parameters.append(pad_size_variable_y)
@@ -4217,7 +4216,7 @@ class Edb(Database):
4217
4216
  "$antipad_diam_{}_{}".format(def_name, layer)
4218
4217
  )
4219
4218
  if antipad_diameter_variable not in self.variables: # pragma no cover
4220
- self.add_design_variable(antipad_diameter_variable, antipad.parameters_values[0])
4219
+ self.add_design_variable(antipad_diameter_variable, antipad.parameters_values_string[0])
4221
4220
  antipad.parameters = {"Diameter": antipad_diameter_variable}
4222
4221
  parameters.append(antipad_diameter_variable)
4223
4222
  if antipad.geometry_type == 2: # pragma no cover
@@ -4225,7 +4224,7 @@ class Edb(Database):
4225
4224
  "$antipad_size_{}_{}".format(def_name, layer)
4226
4225
  )
4227
4226
  if antipad_size_variable not in self.variables: # pragma no cover
4228
- self.add_design_variable(antipad_size_variable, antipad.parameters_values[0])
4227
+ self.add_design_variable(antipad_size_variable, antipad.parameters_values_string[0])
4229
4228
  antipad.parameters = {"Size": antipad_size_variable}
4230
4229
  parameters.append(antipad_size_variable)
4231
4230
  elif antipad.geometry_type == 3: # pragma no cover
@@ -4239,8 +4238,8 @@ class Edb(Database):
4239
4238
  antipad_size_variable_x not in self.variables
4240
4239
  and antipad_size_variable_y not in self.variables
4241
4240
  ): # pragma no cover
4242
- self.add_design_variable(antipad_size_variable_x, antipad.parameters_values[0])
4243
- self.add_design_variable(antipad_size_variable_y, antipad.parameters_values[1])
4241
+ self.add_design_variable(antipad_size_variable_x, antipad.parameters_values_string[0])
4242
+ self.add_design_variable(antipad_size_variable_y, antipad.parameters_values_string[1])
4244
4243
  antipad.parameters = {"XSize": antipad_size_variable_x, "YSize": antipad_size_variable_y}
4245
4244
  parameters.append(antipad_size_variable_x)
4246
4245
  parameters.append(antipad_size_variable_y)
@@ -86,3 +86,20 @@ class SParameterModel(Model):
86
86
 
87
87
  def component_model_name(self):
88
88
  self._edb_object.GetComponentModelName()
89
+
90
+
91
+ class SPICEModel(Model):
92
+ """Manages SPICE model class."""
93
+
94
+ def __init__(self, pedb, edb_object=None):
95
+ super().__init__(pedb, edb_object)
96
+
97
+ @property
98
+ def model_name(self):
99
+ """SPICE model name."""
100
+ return self._edb_object.GetModelName()
101
+
102
+ @property
103
+ def spice_file_path(self):
104
+ """SPICE file path."""
105
+ return self._edb_object.GetSPICEFilePath()
@@ -1408,7 +1408,7 @@ class Components(object):
1408
1408
 
1409
1409
  @pyedb_function_handler()
1410
1410
  def create_rlc_component(
1411
- self, pins, component_name="", r_value=1.0, c_value=1e-9, l_value=1e-9, is_parallel=False
1411
+ self, pins, component_name="", r_value=None, c_value=None, l_value=None, is_parallel=False
1412
1412
  ): # pragma: no cover
1413
1413
  """Create physical Rlc component.
1414
1414
 
@@ -1454,9 +1454,9 @@ class Components(object):
1454
1454
  placement_layer=None,
1455
1455
  component_part_name=None,
1456
1456
  is_rlc=False,
1457
- r_value=0,
1458
- c_value=0,
1459
- l_value=0,
1457
+ r_value=None,
1458
+ c_value=None,
1459
+ l_value=None,
1460
1460
  is_parallel=False,
1461
1461
  ):
1462
1462
  """Create a component from pins.
@@ -1523,21 +1523,21 @@ class Components(object):
1523
1523
  if is_rlc and len(pins) == 2:
1524
1524
  rlc = self._edb.utility.utility.Rlc()
1525
1525
  rlc.IsParallel = is_parallel
1526
- if r_value:
1526
+ if r_value is None:
1527
+ rlc.REnabled = False
1528
+ else:
1527
1529
  rlc.REnabled = True
1528
1530
  rlc.R = self._get_edb_value(r_value)
1531
+ if l_value is None:
1532
+ rlc.LEnabled = False
1529
1533
  else:
1530
- rlc.REnabled = False
1531
- if l_value:
1532
1534
  rlc.LEnabled = True
1533
1535
  rlc.L = self._get_edb_value(l_value)
1536
+ if c_value is None:
1537
+ rlc.CEnabled = False
1534
1538
  else:
1535
- rlc.LEnabled = False
1536
- if c_value:
1537
1539
  rlc.CEnabled = True
1538
1540
  rlc.C = self._get_edb_value(c_value)
1539
- else:
1540
- rlc.CEnabled = False
1541
1541
  if rlc.REnabled and not rlc.CEnabled and not rlc.CEnabled:
1542
1542
  new_cmp.SetComponentType(self._edb.definition.ComponentType.Resistor)
1543
1543
  elif rlc.CEnabled and not rlc.REnabled and not rlc.LEnabled: