pyedb 0.56.0__tar.gz → 0.58.0__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.
- {pyedb-0.56.0 → pyedb-0.58.0}/PKG-INFO +6 -7
- pyedb-0.58.0/pyproject.toml +266 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/__init__.py +1 -1
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/configuration/cfg_data.py +3 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/configuration/cfg_pin_groups.py +2 -0
- pyedb-0.58.0/src/pyedb/configuration/cfg_terminals.py +232 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/configuration/configuration.py +146 -3
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/clr_module.py +1 -2
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/Variables.py +30 -22
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/hierarchy/component.py +2 -8
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/layout.py +5 -1
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/primitive/primitive.py +2 -2
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/terminal/bundle_terminal.py +12 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/terminal/pingroup_terminal.py +1 -1
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/terminal/terminal.py +38 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/components.py +15 -19
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/dotnet/database.py +1 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/edb_data/control_file.py +19 -8
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/edb_data/nets_data.py +3 -3
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/edb_data/padstacks_data.py +39 -14
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/edb_data/ports.py +0 -25
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/edb_data/primitives_data.py +3 -3
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/edb_data/raptor_x_simulation_setup_data.py +18 -19
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/edb_data/simulation_configuration.py +3 -3
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/edb_data/sources.py +21 -2
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/general.py +1 -6
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/hfss.py +9 -8
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/layout_validation.py +14 -3
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/materials.py +1 -3
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/modeler.py +7 -3
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/nets.py +27 -19
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/padstack.py +4 -2
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/sim_setup_data/io/siwave.py +54 -1
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/siwave.py +4 -3
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/stackup.py +55 -58
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/utilities/heatsink.py +0 -1
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/utilities/hfss_simulation_setup.py +81 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/utilities/simulation_setup.py +7 -5
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/utilities/siwave_cpa_simulation_setup.py +1 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/utilities/siwave_simulation_setup.py +264 -13
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/edb.py +65 -47
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/exceptions.py +1 -2
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/extensions/create_cell_array.py +67 -49
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/generic/data_handlers.py +13 -23
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/generic/design_types.py +9 -35
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/generic/filesystem.py +4 -2
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/generic/general_methods.py +28 -41
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/generic/plot.py +8 -23
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/generic/process.py +78 -10
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/components.py +14 -13
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/control_file.py +27 -40
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/definition/materials.py +1 -1
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/definition/package_def.py +6 -3
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/definition/padstack_def.py +14 -12
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/hfss.py +1 -4
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/hierarchy/component.py +5 -13
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/hierarchy/pingroup.py +16 -3
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/layers/layer.py +1 -2
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/layers/stackup_layer.py +42 -19
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/layout/layout.py +43 -27
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/layout/voltage_regulator.py +6 -1
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/layout_validation.py +5 -2
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/modeler.py +254 -252
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/net/differential_pair.py +9 -2
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/net/extended_net.py +24 -9
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/net/net.py +14 -5
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/net/net_class.py +24 -7
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/nets.py +11 -43
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/padstacks.py +67 -119
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/primitive/bondwire.py +3 -67
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/primitive/circle.py +42 -3
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/primitive/padstack_instance.py +58 -31
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/primitive/path.py +160 -11
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/primitive/polygon.py +73 -7
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/primitive/primitive.py +2 -2
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/primitive/rectangle.py +105 -4
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/simulation_setup/hfss_general_settings.py +0 -2
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/simulation_setup/hfss_settings_options.py +0 -4
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/simulation_setup/hfss_simulation_setup.py +79 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/simulation_setup/siwave_cpa_simulation_setup.py +1 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/simulation_setup/sweep_data.py +1 -3
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/siwave.py +6 -13
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/source_excitations.py +46 -63
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/stackup.py +55 -60
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/terminal/bundle_terminal.py +10 -3
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/terminal/padstack_instance_terminal.py +9 -11
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/terminal/pingroup_terminal.py +8 -1
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/terminal/point_terminal.py +30 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/terminal/terminal.py +35 -10
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/utility/heat_sink.py +0 -1
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/utility/hfss_extent_info.py +2 -2
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/utility/xml_control_file.py +19 -8
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/edb.py +63 -32
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/edb_init.py +1 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/layer_feature.py +6 -2
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/step.py +1 -1
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ipc2581.py +8 -7
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/libraries/common.py +3 -4
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/libraries/rf_libraries/base_functions.py +7 -16
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/libraries/rf_libraries/planar_antennas.py +3 -21
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/misc/aedtlib_personalib_install.py +2 -2
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/misc/downloads.py +19 -3
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/misc/misc.py +5 -2
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/misc/siw_feature_config/emc_rule_checker_settings.py +3 -2
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/scan_config.py +0 -1
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/misc/utilities.py +0 -1
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/modeler/geometry_operators.py +3 -2
- pyedb-0.58.0/src/pyedb/siwave_core/cpa/__init__.py +0 -0
- pyedb-0.56.0/pyproject.toml +0 -150
- {pyedb-0.56.0 → pyedb-0.58.0}/LICENSE +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/README.md +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/common/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/common/nets.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/component_libraries/ansys_components.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/configuration/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/configuration/cfg_boundaries.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/configuration/cfg_common.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/configuration/cfg_components.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/configuration/cfg_general.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/configuration/cfg_modeler.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/configuration/cfg_nets.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/configuration/cfg_operations.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/configuration/cfg_package_definition.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/configuration/cfg_padstacks.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/configuration/cfg_ports_sources.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/configuration/cfg_s_parameter_models.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/configuration/cfg_setup.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/configuration/cfg_spice_models.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/configuration/cfg_stackup.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/connectable.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/hierarchy/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/hierarchy/hierarchy_obj.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/hierarchy/model.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/hierarchy/netlist_model.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/hierarchy/pin_pair_model.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/hierarchy/s_parameter_model.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/hierarchy/spice_model.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/layout_obj.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/primitive/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/primitive/bondwire.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/primitive/path.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/terminal/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/terminal/edge_terminal.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/terminal/padstack_instance_terminal.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/terminal/point_terminal.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/cell/voltage_regulator.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/definition/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/definition/component_def.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/definition/component_model.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/definition/definition_obj.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/definition/definitions.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/definition/package_def.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/dotnet/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/dotnet/primitive.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/edb_data/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/edb_data/design_options.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/edb_data/edbvalue.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/edb_data/hfss_extent_info.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/edb_data/layer_data.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/edb_data/utilities.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/edb_data/variables.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/geometry/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/geometry/point_data.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/geometry/polygon_data.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/layout_obj_instance.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/net_class.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/sim_setup_data/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/sim_setup_data/data/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/sim_setup_data/data/adaptive_frequency_data.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/sim_setup_data/data/mesh_operation.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/sim_setup_data/data/settings.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/sim_setup_data/data/sim_setup_info.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/sim_setup_data/data/simulation_settings.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/sim_setup_data/data/siw_dc_ir_settings.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/sim_setup_data/data/sweep_data.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/sim_setup_data/io/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/utilities/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/utilities/obj_base.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/dotnet/database/utilities/value.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/edb_logger.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/extensions/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/extensions/via_design_backend.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/generic/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/generic/constants.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/generic/grpc_warnings.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/generic/settings.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/__init__.py +0 -0
- /pyedb-0.56.0/src/pyedb/grpc/database/definition/__init__.py → /pyedb-0.58.0/src/pyedb/grpc/database/_typing.py +0 -0
- {pyedb-0.56.0/src/pyedb/grpc/database/geometry → pyedb-0.58.0/src/pyedb/grpc/database/definition}/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/definition/component_def.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/definition/component_model.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/definition/component_pin.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/definition/n_port_component_model.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/definitions.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/general.py +0 -0
- {pyedb-0.56.0/src/pyedb/grpc/database/hierarchy → pyedb-0.58.0/src/pyedb/grpc/database/geometry}/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/geometry/arc_data.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/geometry/point_3d_data.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/geometry/point_data.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/geometry/polygon_data.py +0 -0
- {pyedb-0.56.0/src/pyedb/grpc/database/layers → pyedb-0.58.0/src/pyedb/grpc/database/hierarchy}/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/hierarchy/model.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/hierarchy/netlist_model.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/hierarchy/pin_pair_model.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/hierarchy/s_parameter_model.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/hierarchy/spice_model.py +0 -0
- {pyedb-0.56.0/src/pyedb/grpc/database/layout → pyedb-0.58.0/src/pyedb/grpc/database/layers}/__init__.py +0 -0
- {pyedb-0.56.0/src/pyedb/grpc/database/net → pyedb-0.58.0/src/pyedb/grpc/database/layout}/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/layout/cell.py +0 -0
- {pyedb-0.56.0/src/pyedb/grpc/database/ports → pyedb-0.58.0/src/pyedb/grpc/database/net}/__init__.py +0 -0
- {pyedb-0.56.0/src/pyedb/grpc/database/simulation_setup → pyedb-0.58.0/src/pyedb/grpc/database/ports}/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/ports/ports.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/primitive/__init__.py +0 -0
- {pyedb-0.56.0/src/pyedb/grpc/database/terminal → pyedb-0.58.0/src/pyedb/grpc/database/simulation_setup}/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/simulation_setup/adaptive_frequency.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/simulation_setup/hfss_advanced_meshing_settings.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/simulation_setup/hfss_advanced_settings.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/simulation_setup/hfss_dcr_settings.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/simulation_setup/hfss_simulation_settings.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/simulation_setup/hfss_solver_settings.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/simulation_setup/mesh_operation.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/simulation_setup/raptor_x_advanced_settings.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/simulation_setup/raptor_x_general_settings.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/simulation_setup/raptor_x_simulation_settings.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/simulation_setup/raptor_x_simulation_setup.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/simulation_setup/siwave_dcir_simulation_setup.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/simulation_setup/siwave_simulation_setup.py +0 -0
- {pyedb-0.56.0/src/pyedb/ipc2581 → pyedb-0.58.0/src/pyedb/grpc/database/terminal}/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/terminal/edge_terminal.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/utility/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/utility/constants.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/utility/layout_statistics.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/utility/rlc.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/utility/sources.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/utility/sweep_data_distribution.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/database/utility/value.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/grpc/rpc_session.py +0 -0
- {pyedb-0.56.0/src/pyedb/ipc2581/bom → pyedb-0.58.0/src/pyedb/ipc2581}/__init__.py +0 -0
- {pyedb-0.56.0/src/pyedb/ipc2581/content → pyedb-0.58.0/src/pyedb/ipc2581/bom}/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/bom/bom.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/bom/bom_item.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/bom/characteristics.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/bom/refdes.py +0 -0
- {pyedb-0.56.0/src/pyedb/ipc2581/ecad → pyedb-0.58.0/src/pyedb/ipc2581/content}/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/content/color.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/content/content.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/content/dictionary_color.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/content/dictionary_fill.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/content/dictionary_line.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/content/entry_color.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/content/entry_line.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/content/fill.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/content/layer_ref.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/content/standard_geometries_dictionary.py +0 -0
- {pyedb-0.56.0/src/pyedb/ipc2581/ecad/cad_data → pyedb-0.58.0/src/pyedb/ipc2581/ecad}/__init__.py +0 -0
- {pyedb-0.56.0/src/pyedb/misc → pyedb-0.58.0/src/pyedb/ipc2581/ecad/cad_data}/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/assembly_drawing.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/cad_data.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/component.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/drill.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/feature.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/layer.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/logical_net.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/outline.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/package.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_def.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_hole_def.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_instance.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_pad_def.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/path.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/phy_net.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/pin.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/polygon.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/profile.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/stackup.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/stackup_group.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_data/stackup_layer.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/cad_header.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/ecad.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/ecad/spec.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/history_record.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/ipc2581/logistic_header.py +0 -0
- {pyedb-0.56.0/src/pyedb/misc/siw_feature_config → pyedb-0.58.0/src/pyedb/misc}/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/misc/decorators.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/misc/pyedb.runtimeconfig.json +0 -0
- {pyedb-0.56.0/src/pyedb/misc/siw_feature_config/emc → pyedb-0.58.0/src/pyedb/misc/siw_feature_config}/__init__.py +0 -0
- {pyedb-0.56.0/src/pyedb/siwave_core → pyedb-0.58.0/src/pyedb/misc/siw_feature_config/emc}/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/misc/siw_feature_config/emc/component_tags.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/misc/siw_feature_config/emc/net_tags.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/misc/siw_feature_config/emc/tag_library.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/misc/siw_feature_config/emc/xml_generic.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/fd_xtalk_scan_config.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/impedance_scan_config.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/net.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/pins.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/td_xtalk_config.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/siwave.py +0 -0
- {pyedb-0.56.0/src/pyedb/siwave_core/cpa → pyedb-0.58.0/src/pyedb/siwave_core}/__init__.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/siwave_core/cpa/simulation_setup_data_model.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/siwave_core/icepak.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/siwave_core/product_properties.py +0 -0
- {pyedb-0.56.0 → pyedb-0.58.0}/src/pyedb/workflow.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyedb
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.58.0
|
|
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>
|
|
@@ -16,7 +16,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.10
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.11
|
|
18
18
|
License-File: LICENSE
|
|
19
|
-
Requires-Dist: cffi>=1.16.0,<1
|
|
19
|
+
Requires-Dist: cffi>=1.16.0,<2.1; platform_system=='Linux'
|
|
20
20
|
Requires-Dist: pywin32 >= 303;platform_system=='Windows'
|
|
21
21
|
Requires-Dist: ansys-pythonnet >= 3.1.0rc4
|
|
22
22
|
Requires-Dist: dotnetcore2 ==3.1.23;platform_system=='Linux'
|
|
@@ -29,6 +29,8 @@ Requires-Dist: shapely
|
|
|
29
29
|
Requires-Dist: scikit-rf
|
|
30
30
|
Requires-Dist: ansys-edb-core>=0.2.0
|
|
31
31
|
Requires-Dist: psutil
|
|
32
|
+
Requires-Dist: defusedxml>=0.7,<8.0
|
|
33
|
+
Requires-Dist: matplotlib>=3.5.0,<3.11
|
|
32
34
|
Requires-Dist: ansys-sphinx-theme>=1.0.0,<1.5 ; extra == "doc"
|
|
33
35
|
Requires-Dist: imageio>=2.30.0,<2.38 ; extra == "doc"
|
|
34
36
|
Requires-Dist: ipython>=8.13.0,<8.32 ; extra == "doc"
|
|
@@ -41,18 +43,16 @@ Requires-Dist: numpydoc>=1.5.0,<1.9 ; extra == "doc"
|
|
|
41
43
|
Requires-Dist: pypandoc>=1.10.0,<1.16 ; extra == "doc"
|
|
42
44
|
Requires-Dist: recommonmark ; extra == "doc"
|
|
43
45
|
Requires-Dist: Sphinx>=7.1.0,<8.2 ; extra == "doc"
|
|
44
|
-
Requires-Dist: sphinx-autobuild==
|
|
46
|
+
Requires-Dist: sphinx-autobuild==2024.10.3 ; extra == "doc" and ( python_version == '3.8')
|
|
45
47
|
Requires-Dist: sphinx-autobuild==2024.10.3 ; extra == "doc" and ( python_version > '3.8')
|
|
46
48
|
Requires-Dist: sphinx-copybutton>=0.5.0,<0.6 ; extra == "doc"
|
|
47
49
|
Requires-Dist: sphinx-gallery>=0.14.0,<0.20 ; extra == "doc"
|
|
48
50
|
Requires-Dist: sphinx_design>=0.4.0,<0.7 ; extra == "doc"
|
|
49
51
|
Requires-Dist: shapely ; extra == "doc"
|
|
50
|
-
Requires-Dist: matplotlib>=3.5.0,<3.11 ; extra == "full"
|
|
51
|
-
Requires-Dist: shapely ; extra == "full"
|
|
52
52
|
Requires-Dist: matplotlib>=3.5.0,<3.11 ; extra == "tests"
|
|
53
53
|
Requires-Dist: mock>=5.1.0,<5.3 ; extra == "tests"
|
|
54
54
|
Requires-Dist: pytest>=7.4.0,<8.5 ; extra == "tests"
|
|
55
|
-
Requires-Dist: pytest-cov>=4.0.0,<
|
|
55
|
+
Requires-Dist: pytest-cov>=4.0.0,<7.1 ; extra == "tests"
|
|
56
56
|
Requires-Dist: pytest-xdist>=3.5.0,<3.7 ; extra == "tests"
|
|
57
57
|
Requires-Dist: scikit-rf ; extra == "tests"
|
|
58
58
|
Requires-Dist: shapely ; extra == "tests"
|
|
@@ -62,7 +62,6 @@ Project-URL: Documentation, https://edb.docs.pyansys.com
|
|
|
62
62
|
Project-URL: Releases, https://github.com/ansys/pyedb/releases
|
|
63
63
|
Project-URL: Source, https://github.com/ansys/pyedb
|
|
64
64
|
Provides-Extra: doc
|
|
65
|
-
Provides-Extra: full
|
|
66
65
|
Provides-Extra: tests
|
|
67
66
|
|
|
68
67
|
<!-- -->
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["flit_core >=3.2,<3.13"] # THIS SHOULD BE REVERTED TO '["flit_core >=3.2,<4"]'
|
|
3
|
+
build-backend = "flit_core.buildapi"
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
[project]
|
|
7
|
+
name = "pyedb"
|
|
8
|
+
dynamic = ["version"]
|
|
9
|
+
description = "Higher-Level Pythonic Ansys Electronics Data Base"
|
|
10
|
+
readme = "README.md"
|
|
11
|
+
requires-python = ">=3.8,<4"
|
|
12
|
+
license = {file = "LICENSE"}
|
|
13
|
+
authors = [{name = "ANSYS, Inc.", email = "pyansys.core@ansys.com"}]
|
|
14
|
+
maintainers = [{name = "PyEDB developers", email = "simon.vandenbrouck@ansys.com"}]
|
|
15
|
+
classifiers = [
|
|
16
|
+
"Development Status :: 4 - Beta",
|
|
17
|
+
"Intended Audience :: Science/Research",
|
|
18
|
+
"Topic :: Scientific/Engineering :: Information Analysis",
|
|
19
|
+
"License :: OSI Approved :: MIT License",
|
|
20
|
+
"Operating System :: OS Independent",
|
|
21
|
+
"Programming Language :: Python :: 3.8",
|
|
22
|
+
"Programming Language :: Python :: 3.9",
|
|
23
|
+
"Programming Language :: Python :: 3.10",
|
|
24
|
+
"Programming Language :: Python :: 3.11",
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
dependencies = [
|
|
28
|
+
"cffi>=1.16.0,<2.1; platform_system=='Linux'",
|
|
29
|
+
"pywin32 >= 303;platform_system=='Windows'",
|
|
30
|
+
"ansys-pythonnet >= 3.1.0rc4",
|
|
31
|
+
"dotnetcore2 ==3.1.23;platform_system=='Linux'",
|
|
32
|
+
"numpy>=1.20.0,<3",
|
|
33
|
+
"pandas>=1.1.0,<2.4",
|
|
34
|
+
"pydantic>=2.6.4,<2.12",
|
|
35
|
+
"Rtree >= 1.2.0",
|
|
36
|
+
"toml == 0.10.2",
|
|
37
|
+
"shapely",
|
|
38
|
+
"scikit-rf",
|
|
39
|
+
"ansys-edb-core>=0.2.0",
|
|
40
|
+
"psutil",
|
|
41
|
+
"defusedxml>=0.7,<8.0",
|
|
42
|
+
"matplotlib>=3.5.0,<3.11",
|
|
43
|
+
]
|
|
44
|
+
|
|
45
|
+
[project.optional-dependencies]
|
|
46
|
+
tests = [
|
|
47
|
+
"matplotlib>=3.5.0,<3.11",
|
|
48
|
+
"mock>=5.1.0,<5.3",
|
|
49
|
+
"pytest>=7.4.0,<8.5",
|
|
50
|
+
"pytest-cov>=4.0.0,<7.1",
|
|
51
|
+
"pytest-xdist>=3.5.0,<3.7",
|
|
52
|
+
"scikit-rf",
|
|
53
|
+
"shapely"
|
|
54
|
+
]
|
|
55
|
+
doc = [
|
|
56
|
+
"ansys-sphinx-theme>=1.0.0,<1.5",
|
|
57
|
+
"imageio>=2.30.0,<2.38",
|
|
58
|
+
"ipython>=8.13.0,<8.32",
|
|
59
|
+
"jupyterlab>=4.0.0,<4.5",
|
|
60
|
+
"jupytext>=1.16.0,<1.18",
|
|
61
|
+
"matplotlib>=3.5.0,<3.11",
|
|
62
|
+
"nbsphinx>=0.9.0,<0.10",
|
|
63
|
+
"nbconvert < 7.17",
|
|
64
|
+
"numpydoc>=1.5.0,<1.9",
|
|
65
|
+
"pypandoc>=1.10.0,<1.16",
|
|
66
|
+
# NOTE: Remove recommonmark once examples are reworked.
|
|
67
|
+
"recommonmark",
|
|
68
|
+
"Sphinx>=7.1.0,<8.2",
|
|
69
|
+
"sphinx-autobuild==2024.10.3; python_version == '3.8'",
|
|
70
|
+
"sphinx-autobuild==2024.10.3; python_version > '3.8'",
|
|
71
|
+
"sphinx-copybutton>=0.5.0,<0.6",
|
|
72
|
+
"sphinx-gallery>=0.14.0,<0.20",
|
|
73
|
+
"sphinx_design>=0.4.0,<0.7",
|
|
74
|
+
"shapely",
|
|
75
|
+
]
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
[tool.flit.module]
|
|
79
|
+
name = "pyedb"
|
|
80
|
+
|
|
81
|
+
[project.urls]
|
|
82
|
+
Bugs = "https://github.com/ansys/pyedb/issues"
|
|
83
|
+
Documentation = "https://edb.docs.pyansys.com"
|
|
84
|
+
Source = "https://github.com/ansys/pyedb"
|
|
85
|
+
Discussions = "https://github.com/ansys/pyedb/discussions"
|
|
86
|
+
Releases = "https://github.com/ansys/pyedb/releases"
|
|
87
|
+
|
|
88
|
+
[tool.ruff]
|
|
89
|
+
line-length = 120
|
|
90
|
+
fix = true
|
|
91
|
+
|
|
92
|
+
[tool.ruff.format]
|
|
93
|
+
quote-style = "double"
|
|
94
|
+
indent-style = "space"
|
|
95
|
+
docstring-code-format = true
|
|
96
|
+
|
|
97
|
+
[tool.ruff.lint]
|
|
98
|
+
select = [
|
|
99
|
+
"D", # pydocstyle, see https://docs.astral.sh/ruff/rules/#pydocstyle-d
|
|
100
|
+
"E", # pycodestyle, see https://docs.astral.sh/ruff/rules/#pycodestyle-e-w
|
|
101
|
+
"F", # pyflakes, see https://docs.astral.sh/ruff/rules/#pyflakes-f
|
|
102
|
+
"I", # isort, see https://docs.astral.sh/ruff/rules/#isort-i
|
|
103
|
+
"N", # pep8-naming, see https://docs.astral.sh/ruff/rules/#pep8-naming-n
|
|
104
|
+
"PTH", # flake8-use-pathlib, https://docs.astral.sh/ruff/rules/#flake8-use-pathlib-pth
|
|
105
|
+
"TD", # flake8-todos, https://docs.astral.sh/ruff/rules/#flake8-todos-td
|
|
106
|
+
"W", # pycodestyle, see https://docs.astral.sh/ruff/rules/#pycodestyle-e-w
|
|
107
|
+
]
|
|
108
|
+
ignore = [
|
|
109
|
+
# "D" - pydocstyle, see https://docs.astral.sh/ruff/rules/#pydocstyle-d
|
|
110
|
+
"D100", # undocumented-public-module
|
|
111
|
+
"D101", # undocumented-public-class
|
|
112
|
+
"D102", # undocumented-public-method
|
|
113
|
+
"D103", # undocumented-public-function
|
|
114
|
+
"D104", # undocumented-public-package
|
|
115
|
+
"D105", # undocumented-magic-method
|
|
116
|
+
"D106", # undocumented-public-nested-class
|
|
117
|
+
"D200", # unnecessary-multiline-docstring
|
|
118
|
+
"D202", # blank-line-after-function
|
|
119
|
+
"D205", # missing-blank-line-after-summary
|
|
120
|
+
"D208", # over-indentation
|
|
121
|
+
"D209", # new-line-after-last-paragraph
|
|
122
|
+
"D210", # surrounding-whitespace
|
|
123
|
+
"D214", # overindented-section
|
|
124
|
+
"D215", # overindented-section-underline
|
|
125
|
+
"D301", # escape-sequence-in-docstring
|
|
126
|
+
"D400", # missing-trailing-period
|
|
127
|
+
"D401", # non-imperative-mood
|
|
128
|
+
"D403", # first-word-uncapitalized
|
|
129
|
+
"D404", # docstring-starts-with-this
|
|
130
|
+
"D405", # non-capitalized-section-name
|
|
131
|
+
"D406", # missing-new-line-after-section-name
|
|
132
|
+
"D407", # missing-dashed-underline-after-section
|
|
133
|
+
"D409", # mismatched-section-underline-length
|
|
134
|
+
"D410", # no-blank-line-after-section
|
|
135
|
+
"D411", # no-blank-line-before-section
|
|
136
|
+
"D412", # blank-lines-between-header-and-content
|
|
137
|
+
"D414", # empty-docstring-section
|
|
138
|
+
"D419", # empty-docstring
|
|
139
|
+
|
|
140
|
+
# "E" - pycodestyle, see https://docs.astral.sh/ruff/rules/#pycodestyle-e-w
|
|
141
|
+
"E402", # module-import-not-at-top-of-file
|
|
142
|
+
"E711", # none-comparison
|
|
143
|
+
"E712", # true-false-comparison
|
|
144
|
+
"E713", # not-in-test
|
|
145
|
+
"E721", # type-comparison
|
|
146
|
+
"E722", # bare-except
|
|
147
|
+
"E731", # lambda-assignment
|
|
148
|
+
"E741", # ambiguous-variable-name
|
|
149
|
+
"E743", # ambiguous-function-name
|
|
150
|
+
|
|
151
|
+
# "F" - pyflakes, see https://docs.astral.sh/ruff/rules/#pyflakes-f
|
|
152
|
+
"F401", # unused-import
|
|
153
|
+
"F523", # string-dot-format-extra-positional-arguments
|
|
154
|
+
"F541", # f-string-missing-placeholders
|
|
155
|
+
"F811", # redefined-while-unused
|
|
156
|
+
"F821", # undefined-name
|
|
157
|
+
"F841", # unused-variable
|
|
158
|
+
|
|
159
|
+
# "N" - pep8-naming, see https://docs.astral.sh/ruff/rules/#pep8-naming-n
|
|
160
|
+
"N801", # invalid-class-name
|
|
161
|
+
"N802", # invalid-function-name
|
|
162
|
+
"N803", # invalid-argument-name
|
|
163
|
+
"N806", # non-lowercase-variable-in-function
|
|
164
|
+
"N812", # lowercase-imported-as-non-lowercase
|
|
165
|
+
"N813", # camelcase-imported-as-lowercase
|
|
166
|
+
"N815", # mixed-case-variable-in-class-scope
|
|
167
|
+
"N816", # mixed-case-variable-in-global-scope
|
|
168
|
+
"N817", # camelcase-imported-as-acronym
|
|
169
|
+
"N818", # error-suffix-on-exception-name
|
|
170
|
+
"N999", # invalid-module-name
|
|
171
|
+
|
|
172
|
+
# "PTH" - flake8-use-pathlib, https://docs.astral.sh/ruff/rules/#flake8-use-pathlib-pth
|
|
173
|
+
"PTH100", # os-path-abspath
|
|
174
|
+
"PTH101", # os-chmod
|
|
175
|
+
"PTH102", # os-mkdir
|
|
176
|
+
"PTH103", # os-makedirs
|
|
177
|
+
"PTH104", # os-rename
|
|
178
|
+
"PTH107", # os-remove
|
|
179
|
+
"PTH108", # os-unlink
|
|
180
|
+
"PTH110", # os-path-exists
|
|
181
|
+
"PTH111", # os-path-expanduser
|
|
182
|
+
"PTH112", # os-path-isdir
|
|
183
|
+
"PTH113", # os-path-isfile
|
|
184
|
+
"PTH116", # os-stat
|
|
185
|
+
"PTH118", # os-path-join
|
|
186
|
+
"PTH119", # os-path-basename
|
|
187
|
+
"PTH120", # os-path-dirname
|
|
188
|
+
"PTH122", # os-path-splitext
|
|
189
|
+
"PTH123", # builtin-open
|
|
190
|
+
"PTH202", # os-path-getsize
|
|
191
|
+
|
|
192
|
+
# "TD" - flake8-todos, https://docs.astral.sh/ruff/rules/#flake8-todos-td
|
|
193
|
+
"TD001", # invalid-todo-tag
|
|
194
|
+
"TD002", # missing-todo-author
|
|
195
|
+
"TD003", # missing-todo-link
|
|
196
|
+
"TD004", # missing-todo-colon
|
|
197
|
+
"TD005", # missing-todo-description
|
|
198
|
+
"TD006", # invalid-todo-capitalization
|
|
199
|
+
|
|
200
|
+
# "W" - pycodestyle, see https://docs.astral.sh/ruff/rules/#pycodestyle-e-w
|
|
201
|
+
"W605" # invalid-escape-sequence
|
|
202
|
+
]
|
|
203
|
+
|
|
204
|
+
[tool.ruff.lint.pydocstyle]
|
|
205
|
+
# Use Numpy-style docstrings.
|
|
206
|
+
convention = "numpy"
|
|
207
|
+
|
|
208
|
+
[tool.ruff.lint.isort]
|
|
209
|
+
force-sort-within-sections = true
|
|
210
|
+
known-first-party = ["doc", "src", "tests"]
|
|
211
|
+
combine-as-imports = true
|
|
212
|
+
|
|
213
|
+
[tool.ruff.lint.mccabe]
|
|
214
|
+
max-complexity = 10
|
|
215
|
+
|
|
216
|
+
[tool.codespell]
|
|
217
|
+
skip = '*.pyc,*.txt,*.gif,*.png,*.jpg,*.js,*.html,*.doctree,*.ttf,*.woff,*.woff2,*.eot,*.mp4,*.inv,*.pickle,*.ipynb,*.a3dcomp,flycheck*,./.git/*,./.hypothesis/*,*.yml,./doc/build/*,./doc/images/*,./dist/*,*~,.hypothesis*,./doc/source/examples/*,*cover,*.dat,*.mac,*.cdb,*.CDB,build,./factory/*,PKG-INFO,*.mypy_cache/*,./_unused/*,pyproject.toml'
|
|
218
|
+
ignore-words = "doc/styles/config/vocabularies/ANSYS/accept.txt"
|
|
219
|
+
ignore-words-list = "renabled, sie, mot"
|
|
220
|
+
enable-colors = true
|
|
221
|
+
|
|
222
|
+
[tool.coverage.run]
|
|
223
|
+
relative_files = true
|
|
224
|
+
source = ["pyedb"]
|
|
225
|
+
|
|
226
|
+
[tool.coverage.report]
|
|
227
|
+
show_missing = true
|
|
228
|
+
|
|
229
|
+
[tool.pytest.ini_options]
|
|
230
|
+
minversion = "7.1"
|
|
231
|
+
xfail_strict = false
|
|
232
|
+
filterwarnings = [
|
|
233
|
+
"ignore::DeprecationWarning",
|
|
234
|
+
]
|
|
235
|
+
markers = [
|
|
236
|
+
"legacy: mark test as related to the legacy API.",
|
|
237
|
+
"grpc: mark test as related to the gRPC API.",
|
|
238
|
+
"unit: mark test as an unit test.",
|
|
239
|
+
"integration: mark test as an integration test.",
|
|
240
|
+
"system: mark test as a system test.",
|
|
241
|
+
"slow: mark test as slow.",
|
|
242
|
+
"no_licence: mark test that do not need a licence.",
|
|
243
|
+
]
|
|
244
|
+
testpaths = "tests"
|
|
245
|
+
#addopts = "-ra --cov=src/pyedb --cov-report html:.cov/html --cov-report xml:.cov/xml --cov-report term -vv"
|
|
246
|
+
|
|
247
|
+
[tool.numpydoc_validation]
|
|
248
|
+
checks = [
|
|
249
|
+
"GL06", # Found unknown section
|
|
250
|
+
"GL07", # Sections are in the wrong order.
|
|
251
|
+
"GL08", # The object does not have a docstring
|
|
252
|
+
"GL09", # Deprecation warning should precede extended summary
|
|
253
|
+
"GL10", # reST directives {directives} must be followed by two colons
|
|
254
|
+
# Return
|
|
255
|
+
"RT04", # Return value description should start with a capital letter"
|
|
256
|
+
"RT05", # Return value description should finish with "."
|
|
257
|
+
# Summary
|
|
258
|
+
"SS01", # No summary found
|
|
259
|
+
"SS02", # Summary does not start with a capital letter
|
|
260
|
+
"SS03", # Summary does not end with a period
|
|
261
|
+
"SS04", # Summary contains heading whitespaces
|
|
262
|
+
"SS05", # Summary must start with infinitive verb, not third person
|
|
263
|
+
# Parameters
|
|
264
|
+
"PR10", # Parameter "{param_name}" requires a space before the colon
|
|
265
|
+
# separating the parameter name and type",
|
|
266
|
+
]
|
|
@@ -36,6 +36,7 @@ from pyedb.configuration.cfg_s_parameter_models import CfgSParameters
|
|
|
36
36
|
from pyedb.configuration.cfg_setup import CfgSetups
|
|
37
37
|
from pyedb.configuration.cfg_spice_models import CfgSpiceModel
|
|
38
38
|
from pyedb.configuration.cfg_stackup import CfgStackup
|
|
39
|
+
from pyedb.configuration.cfg_terminals import CfgTerminals
|
|
39
40
|
|
|
40
41
|
|
|
41
42
|
class CfgData(object):
|
|
@@ -59,6 +60,8 @@ class CfgData(object):
|
|
|
59
60
|
|
|
60
61
|
self.pin_groups = CfgPinGroups(self._pedb, pingroup_data=kwargs.get("pin_groups", []))
|
|
61
62
|
|
|
63
|
+
self.terminals = CfgTerminals.create(terminals=kwargs.get("terminals", []))
|
|
64
|
+
|
|
62
65
|
self.ports = CfgPorts(self._pedb, ports_data=kwargs.get("ports", []))
|
|
63
66
|
|
|
64
67
|
self.sources = CfgSources(self._pedb, sources_data=kwargs.get("sources", []))
|
|
@@ -35,6 +35,8 @@ class CfgPinGroups:
|
|
|
35
35
|
layout_pin_groups = self._pedb.siwave.pin_groups
|
|
36
36
|
for pg_name, pg_obj in layout_pin_groups.items():
|
|
37
37
|
pins = list(pg_obj.pins.keys())
|
|
38
|
+
if len(pins) == 0: # pragma: no cover
|
|
39
|
+
continue
|
|
38
40
|
refdes = list(pg_obj.pins.values())[0].component.name
|
|
39
41
|
cfg_pg = CfgPinGroup(
|
|
40
42
|
self._pedb,
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
from typing import List, Literal, Optional, Union
|
|
2
|
+
|
|
3
|
+
from pydantic import BaseModel
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class CfgBase(BaseModel):
|
|
7
|
+
model_config = {
|
|
8
|
+
"populate_by_name": True,
|
|
9
|
+
"extra": "forbid",
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class CfgTerminal(CfgBase):
|
|
14
|
+
name: str
|
|
15
|
+
impedance: Union[float, int, str]
|
|
16
|
+
is_circuit_port: bool
|
|
17
|
+
reference_terminal: Optional[str] = None
|
|
18
|
+
amplitude: Optional[Union[float, int, str]] = 1
|
|
19
|
+
phase: Optional[Union[float, int, str]] = 0
|
|
20
|
+
terminal_to_ground: Optional[Literal["kNoGround", "kNegative", "kPositive"]] = "kNoGround"
|
|
21
|
+
boundary_type: Literal[
|
|
22
|
+
"PortBoundary",
|
|
23
|
+
"PecBoundary",
|
|
24
|
+
"RlcBoundary",
|
|
25
|
+
"kCurrentSource",
|
|
26
|
+
"kVoltageSource",
|
|
27
|
+
"kNexximGround",
|
|
28
|
+
"kNexximPort",
|
|
29
|
+
"kDcTerminal",
|
|
30
|
+
"kVoltageProbe",
|
|
31
|
+
"InvalidBoundary",
|
|
32
|
+
]
|
|
33
|
+
hfss_type: Literal["Wave", "Gap", None]
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class CfgPadstackInstanceTerminal(CfgTerminal):
|
|
37
|
+
terminal_type: str = "padstack_instance"
|
|
38
|
+
padstack_instance: str
|
|
39
|
+
padstack_instance_id: Optional[int] = None
|
|
40
|
+
layer: Optional[Union[str, None]] = None
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class CfgPinGroupTerminal(CfgTerminal):
|
|
44
|
+
terminal_type: str = "pin_group"
|
|
45
|
+
is_circuit_port: bool = True
|
|
46
|
+
pin_group: str
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
class CfgPointTerminal(CfgTerminal):
|
|
50
|
+
terminal_type: str = "point"
|
|
51
|
+
x: Union[float, int, str]
|
|
52
|
+
y: Union[float, int, str]
|
|
53
|
+
layer: str
|
|
54
|
+
net: str
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
class CfgEdgeTerminal(CfgTerminal):
|
|
58
|
+
terminal_type: str = "edge"
|
|
59
|
+
name: str
|
|
60
|
+
primitive: str
|
|
61
|
+
point_on_edge_x: Union[float, int, str]
|
|
62
|
+
point_on_edge_y: Union[float, int, str]
|
|
63
|
+
horizontal_extent_factor: Union[int, str]
|
|
64
|
+
vertical_extent_factor: Union[int, str]
|
|
65
|
+
pec_launch_width: Union[int, str]
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
class CfgBundleTerminal(CfgBase):
|
|
69
|
+
terminal_type: str = "bundle"
|
|
70
|
+
terminals: List[str]
|
|
71
|
+
name: str
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
class CfgTerminals(CfgBase):
|
|
75
|
+
terminals: List[
|
|
76
|
+
Union[
|
|
77
|
+
CfgPadstackInstanceTerminal, CfgPinGroupTerminal, CfgPointTerminal, CfgEdgeTerminal, CfgBundleTerminal, dict
|
|
78
|
+
]
|
|
79
|
+
]
|
|
80
|
+
|
|
81
|
+
@classmethod
|
|
82
|
+
def create(cls, terminals: List[dict]):
|
|
83
|
+
manager = cls(terminals=[])
|
|
84
|
+
for i in terminals:
|
|
85
|
+
terminal_type = i.pop("terminal_type")
|
|
86
|
+
if terminal_type == "padstack_instance":
|
|
87
|
+
manager.add_padstack_instance_terminal(**i)
|
|
88
|
+
elif terminal_type == "pin_group":
|
|
89
|
+
manager.add_pin_group_terminal(**i)
|
|
90
|
+
elif terminal_type == "point":
|
|
91
|
+
manager.add_point_terminal(**i)
|
|
92
|
+
elif terminal_type == "edge":
|
|
93
|
+
manager.add_edge_terminal(**i)
|
|
94
|
+
elif terminal_type == "bundle":
|
|
95
|
+
manager.add_bundle_terminal(**i)
|
|
96
|
+
else: # pragma: no cover
|
|
97
|
+
raise ValueError(f"Unknown terminal type: {terminal_type}")
|
|
98
|
+
return manager
|
|
99
|
+
|
|
100
|
+
def add_padstack_instance_terminal(
|
|
101
|
+
self,
|
|
102
|
+
padstack_instance,
|
|
103
|
+
name,
|
|
104
|
+
impedance,
|
|
105
|
+
is_circuit_port,
|
|
106
|
+
boundary_type,
|
|
107
|
+
hfss_type,
|
|
108
|
+
reference_terminal=None,
|
|
109
|
+
amplitude=1,
|
|
110
|
+
phase=0,
|
|
111
|
+
terminal_to_ground="kNoGround",
|
|
112
|
+
padstack_instance_id=None,
|
|
113
|
+
layer=None,
|
|
114
|
+
):
|
|
115
|
+
terminal = CfgPadstackInstanceTerminal(
|
|
116
|
+
padstack_instance=padstack_instance,
|
|
117
|
+
name=name,
|
|
118
|
+
impedance=impedance,
|
|
119
|
+
is_circuit_port=is_circuit_port,
|
|
120
|
+
boundary_type=boundary_type,
|
|
121
|
+
reference_terminal=reference_terminal,
|
|
122
|
+
amplitude=amplitude,
|
|
123
|
+
phase=phase,
|
|
124
|
+
terminal_to_ground=terminal_to_ground,
|
|
125
|
+
layer=layer,
|
|
126
|
+
hfss_type=hfss_type,
|
|
127
|
+
padstack_instance_id=padstack_instance_id,
|
|
128
|
+
)
|
|
129
|
+
self.terminals.append(terminal)
|
|
130
|
+
|
|
131
|
+
def add_pin_group_terminal(
|
|
132
|
+
self,
|
|
133
|
+
pin_group,
|
|
134
|
+
name,
|
|
135
|
+
impedance,
|
|
136
|
+
boundary_type,
|
|
137
|
+
reference_terminal=None,
|
|
138
|
+
amplitude=1,
|
|
139
|
+
phase=0,
|
|
140
|
+
terminal_to_ground="kNoGround",
|
|
141
|
+
):
|
|
142
|
+
terminal = CfgPinGroupTerminal(
|
|
143
|
+
pin_group=pin_group,
|
|
144
|
+
name=name,
|
|
145
|
+
impedance=impedance,
|
|
146
|
+
is_circuit_port=True,
|
|
147
|
+
boundary_type=boundary_type,
|
|
148
|
+
reference_terminal=reference_terminal,
|
|
149
|
+
amplitude=amplitude,
|
|
150
|
+
phase=phase,
|
|
151
|
+
terminal_to_ground=terminal_to_ground,
|
|
152
|
+
hfss_type=None,
|
|
153
|
+
)
|
|
154
|
+
self.terminals.append(terminal)
|
|
155
|
+
|
|
156
|
+
def add_point_terminal(
|
|
157
|
+
self,
|
|
158
|
+
x,
|
|
159
|
+
y,
|
|
160
|
+
layer,
|
|
161
|
+
name,
|
|
162
|
+
impedance,
|
|
163
|
+
boundary_type,
|
|
164
|
+
net,
|
|
165
|
+
reference_terminal=None,
|
|
166
|
+
amplitude=1,
|
|
167
|
+
phase=0,
|
|
168
|
+
terminal_to_ground="kNoGround",
|
|
169
|
+
):
|
|
170
|
+
terminal = CfgPointTerminal(
|
|
171
|
+
x=x,
|
|
172
|
+
y=y,
|
|
173
|
+
layer=layer,
|
|
174
|
+
name=name,
|
|
175
|
+
impedance=impedance,
|
|
176
|
+
is_circuit_port=True,
|
|
177
|
+
boundary_type=boundary_type,
|
|
178
|
+
reference_terminal=reference_terminal,
|
|
179
|
+
amplitude=amplitude,
|
|
180
|
+
phase=phase,
|
|
181
|
+
net=net,
|
|
182
|
+
terminal_to_ground=terminal_to_ground,
|
|
183
|
+
hfss_type=None,
|
|
184
|
+
)
|
|
185
|
+
self.terminals.append(terminal)
|
|
186
|
+
|
|
187
|
+
def add_edge_terminal(
|
|
188
|
+
self,
|
|
189
|
+
name,
|
|
190
|
+
impedance,
|
|
191
|
+
is_circuit_port,
|
|
192
|
+
boundary_type,
|
|
193
|
+
primitive,
|
|
194
|
+
point_on_edge_x,
|
|
195
|
+
point_on_edge_y,
|
|
196
|
+
horizontal_extent_factor=6,
|
|
197
|
+
vertical_extent_factor=8,
|
|
198
|
+
pec_launch_width="0.02mm",
|
|
199
|
+
reference_terminal=None,
|
|
200
|
+
amplitude=1,
|
|
201
|
+
phase=0,
|
|
202
|
+
terminal_to_ground="kNoGround",
|
|
203
|
+
):
|
|
204
|
+
terminal = CfgEdgeTerminal(
|
|
205
|
+
name=name,
|
|
206
|
+
impedance=impedance,
|
|
207
|
+
is_circuit_port=is_circuit_port,
|
|
208
|
+
boundary_type=boundary_type,
|
|
209
|
+
reference_terminal=reference_terminal,
|
|
210
|
+
amplitude=amplitude,
|
|
211
|
+
phase=phase,
|
|
212
|
+
terminal_to_ground=terminal_to_ground,
|
|
213
|
+
primitive=primitive,
|
|
214
|
+
point_on_edge_x=point_on_edge_x,
|
|
215
|
+
point_on_edge_y=point_on_edge_y,
|
|
216
|
+
horizontal_extent_factor=horizontal_extent_factor,
|
|
217
|
+
vertical_extent_factor=vertical_extent_factor,
|
|
218
|
+
pec_launch_width=pec_launch_width,
|
|
219
|
+
hfss_type="Wave",
|
|
220
|
+
)
|
|
221
|
+
self.terminals.append(terminal)
|
|
222
|
+
|
|
223
|
+
def add_bundle_terminal(
|
|
224
|
+
self,
|
|
225
|
+
terminals,
|
|
226
|
+
name,
|
|
227
|
+
):
|
|
228
|
+
terminal = CfgBundleTerminal(
|
|
229
|
+
terminals=terminals,
|
|
230
|
+
name=name,
|
|
231
|
+
)
|
|
232
|
+
self.terminals.append(terminal)
|