pyedb 0.19.0__py3-none-any.whl → 0.20.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 (40) hide show
  1. pyedb/__init__.py +1 -1
  2. pyedb/dotnet/edb.py +154 -235
  3. pyedb/dotnet/edb_core/cell/connectable.py +64 -0
  4. pyedb/dotnet/edb_core/cell/hierarchy/component.py +12 -10
  5. pyedb/dotnet/edb_core/cell/hierarchy/hierarchy_obj.py +1 -1
  6. pyedb/dotnet/edb_core/cell/layout.py +253 -105
  7. pyedb/dotnet/edb_core/cell/layout_obj.py +4 -49
  8. pyedb/dotnet/edb_core/cell/primitive.py +14 -2
  9. pyedb/dotnet/edb_core/cell/terminal/padstack_instance_terminal.py +1 -1
  10. pyedb/dotnet/edb_core/cell/terminal/point_terminal.py +1 -1
  11. pyedb/dotnet/edb_core/cell/terminal/terminal.py +1 -19
  12. pyedb/dotnet/edb_core/cell/voltage_regulator.py +2 -16
  13. pyedb/dotnet/edb_core/components.py +14 -13
  14. pyedb/dotnet/edb_core/dotnet/database.py +5 -10
  15. pyedb/dotnet/edb_core/dotnet/primitive.py +11 -1
  16. pyedb/dotnet/edb_core/edb_data/control_file.py +2 -12
  17. pyedb/dotnet/edb_core/edb_data/padstacks_data.py +20 -33
  18. pyedb/dotnet/edb_core/general.py +6 -9
  19. pyedb/dotnet/edb_core/hfss.py +4 -8
  20. pyedb/dotnet/edb_core/layout_obj_instance.py +30 -0
  21. pyedb/dotnet/edb_core/materials.py +4 -11
  22. pyedb/dotnet/edb_core/{layout.py → modeler.py} +153 -7
  23. pyedb/dotnet/edb_core/net_class.py +7 -8
  24. pyedb/dotnet/edb_core/nets.py +3 -9
  25. pyedb/dotnet/edb_core/padstack.py +13 -9
  26. pyedb/dotnet/edb_core/sim_setup_data/data/sweep_data.py +5 -2
  27. pyedb/dotnet/edb_core/siwave.py +5 -6
  28. pyedb/dotnet/edb_core/stackup.py +18 -23
  29. pyedb/dotnet/edb_core/utilities/simulation_setup.py +1 -4
  30. pyedb/generic/filesystem.py +2 -8
  31. pyedb/generic/general_methods.py +4 -10
  32. pyedb/generic/plot.py +26 -29
  33. pyedb/generic/process.py +2 -6
  34. pyedb/misc/downloads.py +3 -40
  35. pyedb/siwave.py +2 -5
  36. {pyedb-0.19.0.dist-info → pyedb-0.20.0.dist-info}/METADATA +2 -2
  37. {pyedb-0.19.0.dist-info → pyedb-0.20.0.dist-info}/RECORD +39 -38
  38. pyedb/dotnet/edb_core/dotnet/layout.py +0 -260
  39. {pyedb-0.19.0.dist-info → pyedb-0.20.0.dist-info}/LICENSE +0 -0
  40. {pyedb-0.19.0.dist-info → pyedb-0.20.0.dist-info}/WHEEL +0 -0
@@ -29,7 +29,7 @@ import warnings
29
29
 
30
30
  from pyedb.dotnet.edb_core.edb_data.nets_data import EDBNetsData
31
31
  from pyedb.generic.constants import CSS4_COLORS
32
- from pyedb.generic.general_methods import generate_unique_name, is_ironpython
32
+ from pyedb.generic.general_methods import generate_unique_name
33
33
  from pyedb.modeler.geometry_operators import GeometryOperators
34
34
 
35
35
 
@@ -55,10 +55,7 @@ class EdbNets(object):
55
55
  :class:` :class:`pyedb.dotnet.edb_core.edb_data.nets_data.EDBNetsData`
56
56
 
57
57
  """
58
- if name in self.nets:
59
- return self.nets[name]
60
- self._pedb.logger.error("Component or definition not found.")
61
- return
58
+ return self._pedb.layout.find_net_by_name(name)
62
59
 
63
60
  def __contains__(self, name):
64
61
  """Determine if a net is named ``name`` or not.
@@ -119,7 +116,7 @@ class EdbNets(object):
119
116
  dict[str, :class:`pyedb.dotnet.edb_core.edb_data.nets_data.EDBNetsData`]
120
117
  Dictionary of nets.
121
118
  """
122
- return self._pedb.modeler.nets
119
+ return {i.name: i for i in self._pedb.layout.nets}
123
120
 
124
121
  @property
125
122
  def netlist(self):
@@ -841,9 +838,6 @@ class EdbNets(object):
841
838
  show : bool, optional
842
839
  Whether to show the plot or not. Default is `True`.
843
840
  """
844
- if is_ironpython:
845
- self._logger.warning("Plot functionalities are enabled only in CPython.")
846
- return False
847
841
  from pyedb.generic.plot import plot_matplotlib
848
842
 
849
843
  object_lists = self.get_plot_data(
@@ -61,8 +61,8 @@ class EdbPadstacks(object):
61
61
  :class:`pyedb.dotnet.edb_core.cell.hierarchy.component.EDBComponent`
62
62
 
63
63
  """
64
- if name in self.instances:
65
- return self.instances[name]
64
+ if isinstance(name, int) and name in self.instances:
65
+ return self._pedb.layout.find_object_by_id(name)
66
66
  elif name in self.definitions:
67
67
  return self.definitions[name]
68
68
  else:
@@ -74,6 +74,8 @@ class EdbPadstacks(object):
74
74
 
75
75
  def __init__(self, p_edb):
76
76
  self._pedb = p_edb
77
+ self._instances = {}
78
+ self._definitions = {}
77
79
 
78
80
  @property
79
81
  def _edb(self):
@@ -183,12 +185,14 @@ class EdbPadstacks(object):
183
185
  List of definitions via padstack definitions.
184
186
 
185
187
  """
186
- _padstacks = {}
188
+ if len(self._definitions) == len(self._pedb.padstack_defs):
189
+ return self._definitions
190
+ self._definitions = {}
187
191
  for padstackdef in self._pedb.padstack_defs:
188
192
  PadStackData = padstackdef.GetData()
189
193
  if len(PadStackData.GetLayerNames()) >= 1:
190
- _padstacks[padstackdef.GetName()] = EDBPadstack(padstackdef, self)
191
- return _padstacks
194
+ self._definitions[padstackdef.GetName()] = EDBPadstack(padstackdef, self)
195
+ return self._definitions
192
196
 
193
197
  @property
194
198
  def padstacks(self):
@@ -217,11 +221,11 @@ class EdbPadstacks(object):
217
221
 
218
222
  """
219
223
 
220
- padstack_instances = {}
221
224
  edb_padstack_inst_list = self._pedb.layout.padstack_instances
222
- for edb_padstack_instance in edb_padstack_inst_list:
223
- padstack_instances[edb_padstack_instance.GetId()] = EDBPadstackInstance(edb_padstack_instance, self._pedb)
224
- return padstack_instances
225
+ if len(self._instances) == len(edb_padstack_inst_list):
226
+ return self._instances
227
+ self._instances = {i.id: i for i in edb_padstack_inst_list}
228
+ return self._instances
225
229
 
226
230
  @property
227
231
  def instances_by_name(self):
@@ -50,7 +50,10 @@ class SweepData(object):
50
50
  def _update_sweep(self):
51
51
  """Update the sweep."""
52
52
  self.sim_setup.delete_frequency_sweep(self)
53
- self.sim_setup._add_frequency_sweep(self)
53
+ ss_info = self.sim_setup.sim_setup_info
54
+ ss_info.add_sweep_data(self)
55
+ self.sim_setup.set_sim_setup_info(ss_info)
56
+ self.sim_setup._update_setup()
54
57
  return
55
58
 
56
59
  @property
@@ -165,7 +168,7 @@ class SweepData(object):
165
168
  self._edb_object.FreqSweepType = edb_freq_sweep_type.kBroadbandFastSweep
166
169
  elif value in [3, "kNumSweepTypes"]:
167
170
  self._edb_object.FreqSweepType = edb_freq_sweep_type.kNumSweepTypes
168
- self._edb_object.FreqSweepType.ToString()
171
+ self._update_sweep()
169
172
 
170
173
  @property
171
174
  def type(self):
@@ -36,7 +36,6 @@ from pyedb.dotnet.edb_core.edb_data.sources import (
36
36
  CircuitPort,
37
37
  CurrentSource,
38
38
  DCTerminal,
39
- PinGroup,
40
39
  ResistorSource,
41
40
  VoltageSource,
42
41
  )
@@ -129,8 +128,8 @@ class EdbSiwave(object):
129
128
  List of all layout pin groups.
130
129
  """
131
130
  _pingroups = {}
132
- for el in self._layout.pin_groups:
133
- _pingroups[el.GetName()] = PinGroup(el.GetName(), el, self._pedb)
131
+ for el in self._pedb.layout.pin_groups:
132
+ _pingroups[el._edb_object.GetName()] = el
134
133
  return _pingroups
135
134
 
136
135
  def _create_terminal_on_pins(self, source):
@@ -325,10 +324,10 @@ class EdbSiwave(object):
325
324
  pin = [
326
325
  pin
327
326
  for pin in self._pedb.padstacks.get_pinlist_from_component_and_net(component_name)
328
- if pin.GetName() == pin_name
327
+ if pin.component_pin == pin_name
329
328
  ][0]
330
- term_name = "{}_{}_{}".format(pin.GetComponent().GetName(), pin.GetNet().GetName(), pin.GetName())
331
- res, start_layer, stop_layer = pin.GetLayerRange()
329
+ term_name = "{}_{}_{}".format(pin.component.name, pin._edb_object.GetNet().GetName(), pin.component_pin)
330
+ res, start_layer, stop_layer = pin._edb_object.GetLayerRange()
332
331
  if res:
333
332
  pin_instance = pin._edb_padstackinstance
334
333
  positive_terminal = self._edb.cell.terminal.PadstackInstanceTerminal.Create(
@@ -38,27 +38,26 @@ from pyedb.dotnet.edb_core.edb_data.layer_data import (
38
38
  StackupLayerEdbClass,
39
39
  )
40
40
  from pyedb.dotnet.edb_core.general import convert_py_list_to_net_list
41
- from pyedb.generic.general_methods import ET, generate_unique_name, is_ironpython
41
+ from pyedb.generic.general_methods import ET, generate_unique_name
42
42
  from pyedb.misc.aedtlib_personalib_install import write_pretty_xml
43
43
 
44
44
  colors = None
45
45
  pd = None
46
46
  np = None
47
- if not is_ironpython:
48
- try:
49
- import matplotlib.colors as colors
50
- except ImportError:
51
- colors = None
52
-
53
- try:
54
- import numpy as np
55
- except ImportError:
56
- np = None
57
-
58
- try:
59
- import pandas as pd
60
- except ImportError:
61
- pd = None
47
+ try:
48
+ import matplotlib.colors as colors
49
+ except ImportError:
50
+ colors = None
51
+
52
+ try:
53
+ import numpy as np
54
+ except ImportError:
55
+ np = None
56
+
57
+ try:
58
+ import pandas as pd
59
+ except ImportError:
60
+ pd = None
62
61
 
63
62
  logger = logging.getLogger(__name__)
64
63
 
@@ -970,8 +969,7 @@ class Stackup(LayerCollection):
970
969
  if not pd:
971
970
  self._pedb.logger.error("Pandas is needed. Please, install it first.")
972
971
  return False
973
- if is_ironpython:
974
- return
972
+
975
973
  data = {
976
974
  "Type": [],
977
975
  "Material": [],
@@ -1972,9 +1970,7 @@ class Stackup(LayerCollection):
1972
1970
  if not pd:
1973
1971
  self._pedb.logger.error("Pandas is needed. You must install it first.")
1974
1972
  return False
1975
- if is_ironpython:
1976
- self._pedb.logger.error("Method works on CPython only.")
1977
- return False
1973
+
1978
1974
  df = pd.read_csv(file_path, index_col=0)
1979
1975
 
1980
1976
  for name in self.stackup_layers.keys(): # pragma: no cover
@@ -2451,8 +2447,7 @@ class Stackup(LayerCollection):
2451
2447
  -------
2452
2448
  :class:`matplotlib.plt`
2453
2449
  """
2454
- if is_ironpython:
2455
- return False
2450
+
2456
2451
  from pyedb.generic.constants import CSS4_COLORS
2457
2452
  from pyedb.generic.plot import plot_matplotlib
2458
2453
 
@@ -293,10 +293,7 @@ class SimulationSetup(object):
293
293
  """
294
294
  warnings.warn("Use new property :func:`add_sweep_data` instead.", DeprecationWarning)
295
295
  self._sweep_list[sweep_data.name] = sweep_data
296
- if self.setup_type in ["kRaptorX", "kHFSSPI"]:
297
- edb_setup_info = self._edb_setup_info
298
- else:
299
- edb_setup_info = self.sim_setup_info
296
+ edb_setup_info = self.sim_setup_info
300
297
 
301
298
  if self._setup_type in ["kSIwave", "kHFSS", "kRaptorX", "kHFSSPI"]:
302
299
  for _, v in self._sweep_list.items():
@@ -16,16 +16,10 @@ def search_files(dirname, pattern="*"):
16
16
  -------
17
17
  list
18
18
  """
19
- from pyedb.generic.general_methods import is_ironpython
20
19
 
21
- if is_ironpython:
22
- import glob
20
+ import pathlib
23
21
 
24
- return list(glob.glob(os.path.join(dirname, pattern)))
25
- else:
26
- import pathlib
27
-
28
- return [os.path.abspath(i) for i in pathlib.Path(dirname).glob(pattern)]
22
+ return [os.path.abspath(i) for i in pathlib.Path(dirname).glob(pattern)]
29
23
 
30
24
 
31
25
  def my_location():
@@ -47,11 +47,9 @@ from pyedb.exceptions import MaterialModelException
47
47
  from pyedb.generic.constants import CSS4_COLORS
48
48
  from pyedb.generic.settings import settings
49
49
 
50
- is_ironpython = "IronPython" in sys.version or ".NETFramework" in sys.version
51
50
  is_linux = os.name == "posix"
52
51
  is_windows = not is_linux
53
52
  _pythonver = sys.version_info[0]
54
- inside_desktop = True if is_ironpython and "4.0.30319.42000" in sys.version else False
55
53
 
56
54
 
57
55
  try:
@@ -868,10 +866,7 @@ def read_xlsx(filename): # pragma: no cover
868
866
 
869
867
 
870
868
  def write_csv(output, list_data, delimiter=",", quotechar="|", quoting=csv.QUOTE_MINIMAL): # pragma: no cover
871
- if is_ironpython:
872
- f = open(output, "wb")
873
- else:
874
- f = open(output, "w", newline="")
869
+ f = open(output, "w", newline="")
875
870
  writer = csv.writer(f, delimiter=delimiter, quotechar=quotechar, quoting=quoting)
876
871
  for data in list_data:
877
872
  writer.writerow(data)
@@ -1302,10 +1297,9 @@ def install_with_pip(package_name, package_path=None, upgrade=False, uninstall=F
1302
1297
  uninstall : bool, optional
1303
1298
  Whether to install the package or uninstall the package.
1304
1299
  """
1305
- if is_linux and is_ironpython:
1306
- import subprocessdotnet as subprocess
1307
- else:
1308
- import subprocess
1300
+
1301
+ import subprocess
1302
+
1309
1303
  executable = '"{}"'.format(sys.executable) if is_windows else sys.executable
1310
1304
 
1311
1305
  commands = []
pyedb/generic/plot.py CHANGED
@@ -2,35 +2,32 @@ import ast
2
2
  import os
3
3
  import warnings
4
4
 
5
- from pyedb.generic.general_methods import is_ironpython
6
-
7
- if not is_ironpython: # pragma: no cover
8
- try:
9
- import numpy # noqa: F401
10
- except ImportError:
11
- warnings.warn(
12
- "The NumPy module is required to run some functionalities of PostProcess.\n"
13
- "Install with \n\npip install numpy\n\nRequires CPython."
14
- )
15
-
16
- try:
17
- from matplotlib.patches import PathPatch
18
- from matplotlib.path import Path
19
-
20
- # Use matplotlib agg backend (non-interactive) when the CI is running.
21
- if bool(int(os.getenv("PYEDB_CI_NO_DISPLAY", "0"))): # pragma: no cover
22
- import matplotlib
23
-
24
- matplotlib.use("Agg")
25
- import matplotlib.pyplot as plt
26
-
27
- except ImportError:
28
- warnings.warn(
29
- "The Matplotlib module is required to run some functionalities of PostProcess.\n"
30
- "Install with \n\npip install matplotlib\n\nRequires CPython."
31
- )
32
- except:
33
- pass
5
+ try:
6
+ import numpy # noqa: F401
7
+ except ImportError:
8
+ warnings.warn(
9
+ "The NumPy module is required to run some functionalities of PostProcess.\n"
10
+ "Install with \n\npip install numpy\n\nRequires CPython."
11
+ )
12
+
13
+ try:
14
+ from matplotlib.patches import PathPatch
15
+ from matplotlib.path import Path
16
+
17
+ # Use matplotlib agg backend (non-interactive) when the CI is running.
18
+ if bool(int(os.getenv("PYEDB_CI_NO_DISPLAY", "0"))): # pragma: no cover
19
+ import matplotlib
20
+
21
+ matplotlib.use("Agg")
22
+ import matplotlib.pyplot as plt
23
+
24
+ except ImportError:
25
+ warnings.warn(
26
+ "The Matplotlib module is required to run some functionalities of PostProcess.\n"
27
+ "Install with \n\npip install matplotlib\n\nRequires CPython."
28
+ )
29
+ except:
30
+ pass
34
31
 
35
32
 
36
33
  def plot_matplotlib(
pyedb/generic/process.py CHANGED
@@ -1,11 +1,7 @@
1
1
  import os.path
2
+ import subprocess
2
3
 
3
- from pyedb.generic.general_methods import env_path, is_ironpython, is_linux
4
-
5
- if is_linux and is_ironpython:
6
- import subprocessdotnet as subprocess
7
- else:
8
- import subprocess
4
+ from pyedb.generic.general_methods import env_path, is_linux
9
5
 
10
6
 
11
7
  class SiwaveSolve(object):
pyedb/misc/downloads.py CHANGED
@@ -24,15 +24,10 @@
24
24
  import os
25
25
  import shutil
26
26
  import tempfile
27
+ import urllib.request
27
28
  import zipfile
28
29
 
29
- from pyedb.generic.general_methods import is_ironpython, is_linux, settings
30
- from pyedb.misc.misc import list_installed_ansysem
31
-
32
- if is_ironpython:
33
- import urllib
34
- else:
35
- import urllib.request
30
+ from pyedb.generic.general_methods import is_linux, settings
36
31
 
37
32
  tmpfold = tempfile.gettempdir()
38
33
  EXAMPLE_REPO = "https://github.com/ansys/example-data/raw/master/"
@@ -62,8 +57,7 @@ def _retrieve_file(url, filename, directory, destination=None, local_paths=[]):
62
57
  local_paths.append(local_path_no_zip)
63
58
 
64
59
  # grab the correct url retriever
65
- if not is_ironpython:
66
- urlretrieve = urllib.request.urlretrieve
60
+ urlretrieve = urllib.request.urlretrieve
67
61
  destination_dir = os.path.join(destination, directory)
68
62
  if not os.path.isdir(destination_dir):
69
63
  os.makedirs(destination_dir)
@@ -71,35 +65,6 @@ def _retrieve_file(url, filename, directory, destination=None, local_paths=[]):
71
65
  if is_linux:
72
66
  command = "wget {} -O {}".format(url, local_path)
73
67
  os.system(command)
74
- elif is_ironpython:
75
- versions = list_installed_ansysem()
76
- if versions:
77
- cpython = os.listdir(os.path.join(os.getenv(versions[0]), "commonfiles", "CPython"))
78
- command = (
79
- '"'
80
- + os.path.join(
81
- os.getenv(versions[0]),
82
- "commonfiles",
83
- "CPython",
84
- cpython[0],
85
- "winx64",
86
- "Release",
87
- "python",
88
- "python.exe",
89
- )
90
- + '"'
91
- )
92
- commandargs = os.path.join(os.path.dirname(local_path), "download.py")
93
- command += ' "' + commandargs + '"'
94
- with open(os.path.join(os.path.dirname(local_path), "download.py"), "w") as f:
95
- f.write("import urllib.request\n")
96
- f.write("urlretrieve = urllib.request.urlretrieve\n")
97
- f.write("import urllib.request\n")
98
- f.write('url = r"{}"\n'.format(url))
99
- f.write('local_path = r"{}"\n'.format(local_path))
100
- f.write("urlretrieve(url, local_path)\n")
101
- print(command)
102
- os.system(command)
103
68
  else:
104
69
  _, resp = urlretrieve(url, local_path)
105
70
  local_paths.append(local_path)
@@ -118,8 +83,6 @@ def _retrieve_folder(url, directory, destination=None, local_paths=[]): # pragm
118
83
  else:
119
84
  local_path = os.path.join(destination, directory)
120
85
 
121
- if is_ironpython:
122
- return False
123
86
  _get_dir = _get_file_url(directory)
124
87
  with urllib.request.urlopen(_get_dir) as response: # nosec
125
88
  data = response.read().decode("utf-8").split("\n")
pyedb/siwave.py CHANGED
@@ -16,7 +16,7 @@ import warnings
16
16
 
17
17
  from pyedb.dotnet.clr_module import _clr
18
18
  from pyedb.edb_logger import pyedb_logger
19
- from pyedb.generic.general_methods import _pythonver, is_ironpython, is_windows
19
+ from pyedb.generic.general_methods import _pythonver, is_windows
20
20
  from pyedb.misc.misc import list_installed_ansysem
21
21
  from pyedb.siwave_core.icepak import Icepak
22
22
 
@@ -80,10 +80,7 @@ class Siwave(object): # pragma no cover
80
80
 
81
81
  def __init__(self, specified_version=None):
82
82
  self._logger = pyedb_logger
83
- if is_ironpython:
84
- _com = "pythonnet"
85
- import System
86
- elif is_windows: # pragma: no cover
83
+ if is_windows: # pragma: no cover
87
84
  modules = [tup[1] for tup in pkgutil.iter_modules()]
88
85
  if _clr:
89
86
  import win32com.client
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyedb
3
- Version: 0.19.0
3
+ Version: 0.20.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>
@@ -31,7 +31,7 @@ Requires-Dist: jupyterlab>=4.0.0,<4.3 ; extra == "doc"
31
31
  Requires-Dist: jupytext>=1.16.0,<1.17 ; extra == "doc"
32
32
  Requires-Dist: matplotlib>=3.5.0,<3.10 ; extra == "doc"
33
33
  Requires-Dist: nbsphinx>=0.9.0,<0.10 ; extra == "doc"
34
- Requires-Dist: nbconvert < 7.14 ; extra == "doc"
34
+ Requires-Dist: nbconvert < 7.17 ; extra == "doc"
35
35
  Requires-Dist: numpydoc>=1.5.0,<1.8 ; extra == "doc"
36
36
  Requires-Dist: pypandoc>=1.10.0,<1.14 ; extra == "doc"
37
37
  Requires-Dist: recommonmark ; extra == "doc"
@@ -1,7 +1,7 @@
1
- pyedb/__init__.py,sha256=0nhcaqt5oskcLcgT9HT6TQDnY2DqX8SQd5foPLkgj50,1521
1
+ pyedb/__init__.py,sha256=Fc62Ry9Jbd85qNtZhstEXZXdbivdXZ5b7tMp-N5JXWM,1521
2
2
  pyedb/edb_logger.py,sha256=yNkXnoL2me7ubLT6O6r6ElVnkZ1g8fmfFYC_2XJZ1Sw,14950
3
3
  pyedb/exceptions.py,sha256=n94xluzUks6BA24vd_L6HkrvoP_H_l6__hQmqzdCyPo,111
4
- pyedb/siwave.py,sha256=p-j2AmJ3RPG9IKieDxiVPRhzRlXbjpxENP9GHAgT6l8,13086
4
+ pyedb/siwave.py,sha256=_AxkSZ-7P9aVmizWUWmwcqI07rpGsIZ_fYsd1WNjR6w,12986
5
5
  pyedb/workflow.py,sha256=Y0ya4FUHwlSmoLP45zjdYLsSpyKduHUSpT9GGK9MGd8,814
6
6
  pyedb/configuration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  pyedb/configuration/cfg_boundaries.py,sha256=ckb-OfaObItwy-xc0LqkHJyeCfKC5vg668olPjZbaKo,6647
@@ -22,29 +22,31 @@ pyedb/configuration/cfg_stackup.py,sha256=CX7uNN5QRoYW_MOObknP8003YchTS7PH9Oee7F
22
22
  pyedb/configuration/configuration.py,sha256=coJU6y-y7VOGmH_NPXdEdoBdD_aZzYFx7sgvLKNm02E,12629
23
23
  pyedb/dotnet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
24
  pyedb/dotnet/clr_module.py,sha256=Mo13Of3DVSA5HR-5xZEXOiHApIKy52CUxtJ2gPkEu1A,3406
25
- pyedb/dotnet/edb.py,sha256=tH8Xpvy1WU71NKeFgk1uLTDRh_LbdfqyFhCQwHt45Kc,182455
25
+ pyedb/dotnet/edb.py,sha256=eSIavcUxT810bXQ3o5rPUrCWxvbw7AR7Wq-TFvRli-E,178534
26
26
  pyedb/dotnet/application/Variables.py,sha256=v_fxFJ6xjyyhk4uaMzWAbP-1FhXGuKsVNuyV1huaPME,77867
27
27
  pyedb/dotnet/application/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
28
  pyedb/dotnet/edb_core/__init__.py,sha256=nIRLJ8VZLcMAp12zmGsnZ5x2BEEl7q_Kj_KAOXxVjpQ,52
29
- pyedb/dotnet/edb_core/components.py,sha256=cj-G8fvI6YnrSMWjZKKveYwo2Dz49_AJuShlkfTFK-0,106479
30
- pyedb/dotnet/edb_core/general.py,sha256=f-WuyJY1nkfMEXm_fvU7poLfIi4axV1ha5Am1_m2eQ0,4572
31
- pyedb/dotnet/edb_core/hfss.py,sha256=paHUyp1QtnBHYtswiWEgeaYRvqDT-HdtFG6rmmkD2_w,68815
32
- pyedb/dotnet/edb_core/layout.py,sha256=OqhkmrKTLlIRVd74SBAjW3Wnb4uNhp6kwWtJI86j-98,50852
29
+ pyedb/dotnet/edb_core/components.py,sha256=9IkBhWaevfxKF6MdSxQQ4L4LcWA-UEEwVxB8jLAvHbU,106796
30
+ pyedb/dotnet/edb_core/general.py,sha256=1g2bUekyUbu8p8zCinT4eI7uqRGIK8tY8mfuFePGRGg,4415
31
+ pyedb/dotnet/edb_core/hfss.py,sha256=Sh417lko4COeeod1C8sbBp6GkoTENEbALdYFOePnOcg,68535
32
+ pyedb/dotnet/edb_core/layout_obj_instance.py,sha256=Pd8rfdO3b6HLFGwXBMw-tfE4LPIcW_9_X5KEdFaiito,1407
33
33
  pyedb/dotnet/edb_core/layout_validation.py,sha256=aOYgttlJ007uGG94NnhZR_iNHTuCI5CHkHWWTcm9n-E,12617
34
- pyedb/dotnet/edb_core/materials.py,sha256=9HTDzxraPjAl3Jc7beHQfxe6axQY-tw6hDW1A05O2GM,43426
35
- pyedb/dotnet/edb_core/net_class.py,sha256=fAQoXsjn-Ae3gVYnUJO7yGZ6zEDEf_Zx5Mzq_h0UH7k,11582
36
- pyedb/dotnet/edb_core/nets.py,sha256=U1GhGJE1Ybd3IWJ7tn5chKW1E23EEZYiSiCK6ds76nk,43373
37
- pyedb/dotnet/edb_core/padstack.py,sha256=LNlbiBK5j9lYCS_0xsOHEPTTXRqx0cr4z_A6Ml1Me5g,62993
38
- pyedb/dotnet/edb_core/siwave.py,sha256=FxhvigCavS-9ldSrcu2KEuYrNF30Ra4RT7NZPUlDMY4,64328
39
- pyedb/dotnet/edb_core/stackup.py,sha256=BbfamGczV7j0B2knGPT4SJPZPGz7Rb1jgXTgMr-Yd1o,120808
34
+ pyedb/dotnet/edb_core/materials.py,sha256=0a5RxfuJ-tzkyDLxfSIv1cBf-Di7JMrTsW_uBRjUQgw,43079
35
+ pyedb/dotnet/edb_core/modeler.py,sha256=riS4ynU6KGZM2dwnaW06nkyQATGkpEvuqtaqEpm0Z3o,55674
36
+ pyedb/dotnet/edb_core/net_class.py,sha256=4U6Cc1Gn7ZJ_ub9uKmtrsoz5wD1XS42afci3Y3ewRp0,11354
37
+ pyedb/dotnet/edb_core/nets.py,sha256=CnZxnK_-WwOMzmJAEalxj_Xo3KlTSJNtf7Fn9x093Ak,43147
38
+ pyedb/dotnet/edb_core/padstack.py,sha256=KSWFHgZK8r1BOOil6e7ZOjVHg-1TAX1IeiiInndjvzE,63178
39
+ pyedb/dotnet/edb_core/siwave.py,sha256=qhPTgFHaBThvlvch1po8uGsZdmOi1rVzEFHYv19DHPU,64317
40
+ pyedb/dotnet/edb_core/stackup.py,sha256=k_bU1ZmboISncZXD4dn8oPJF-ZQS-zZSAUTcOUYViSM,120510
40
41
  pyedb/dotnet/edb_core/cell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
- pyedb/dotnet/edb_core/cell/layout.py,sha256=FhijLPgv5QBY62BwOF2JWr6SbyF1w5GZsTQVtRnrcUI,6165
42
- pyedb/dotnet/edb_core/cell/layout_obj.py,sha256=xFqY4FAHdiNZWexQRRGHYqWcQ5SvFR9kDxMBGXBqbW8,4180
43
- pyedb/dotnet/edb_core/cell/primitive.py,sha256=b_Uyu1cwO9Bf_vSazYLeBWSNaz-67pS-n7TCxKoFUyU,11379
44
- pyedb/dotnet/edb_core/cell/voltage_regulator.py,sha256=NQsM-0VnswjMokxsF2-cikobQ8MRoK_cWHYmEg9zi38,5714
42
+ pyedb/dotnet/edb_core/cell/connectable.py,sha256=rKWPATg0GCHi4d1ftu2V7WWhkDONjloCSPujssie5a8,2310
43
+ pyedb/dotnet/edb_core/cell/layout.py,sha256=g9vMzja9VT9iLFJDz75zYWuE5FfdjquYWysoaIgu1kY,11877
44
+ pyedb/dotnet/edb_core/cell/layout_obj.py,sha256=fVLjHMsokK2eEILTBo_9lEpjJCP0bkdk5RFZclnTi4o,3088
45
+ pyedb/dotnet/edb_core/cell/primitive.py,sha256=WHiX5ROLMYf71ZuX-4TrOUhRcI6RLiUPap7AzajO2YA,11704
46
+ pyedb/dotnet/edb_core/cell/voltage_regulator.py,sha256=-uAzuyERV6ca0bFRzdH4SllcpGY2D9JEdpS7RYaQt6c,5387
45
47
  pyedb/dotnet/edb_core/cell/hierarchy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
- pyedb/dotnet/edb_core/cell/hierarchy/component.py,sha256=vLJnPuJkGYafMBR-Cub_i2JDAmqWIeWPY14mGBLzvq4,33858
47
- pyedb/dotnet/edb_core/cell/hierarchy/hierarchy_obj.py,sha256=FLQeUqwW-VSvG8iaLeU50dSknfe-kEQB4s-GgVEFrFM,1895
48
+ pyedb/dotnet/edb_core/cell/hierarchy/component.py,sha256=jvS1VXhm58zkSSPOBUazL67JxMGQjMGSC6pE4Hw_4DM,33859
49
+ pyedb/dotnet/edb_core/cell/hierarchy/hierarchy_obj.py,sha256=QZhkoSxRnewxvX8HJKHx-jcw-eIR3eudmDqFQbvltfM,1896
48
50
  pyedb/dotnet/edb_core/cell/hierarchy/model.py,sha256=LwXE4VUfptG5rJ9gmAmye0hECBv7bUGtby1ZzNFkeT0,3198
49
51
  pyedb/dotnet/edb_core/cell/hierarchy/netlist_model.py,sha256=fF6tY-6s-lW9EuvJ5sw3RlIkjuoSjeZbrNk5wG-_hzM,1356
50
52
  pyedb/dotnet/edb_core/cell/hierarchy/pin_pair_model.py,sha256=4zo2ut6UAeJqxw70n1luWg2QGEeuMRoVcEcdC9bYG50,3846
@@ -53,10 +55,10 @@ pyedb/dotnet/edb_core/cell/hierarchy/spice_model.py,sha256=SGiUcan2l0n8DGk3GtwCs
53
55
  pyedb/dotnet/edb_core/cell/terminal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
56
  pyedb/dotnet/edb_core/cell/terminal/bundle_terminal.py,sha256=TRPlsLH3_QOlDa5s8-tx399fkpJ3eJ8ictuCvlgkai0,2050
55
57
  pyedb/dotnet/edb_core/cell/terminal/edge_terminal.py,sha256=MvmKA0JGVeqGx7smuMOVPaQ_PESJmi34oUL9OH5oKiY,2137
56
- pyedb/dotnet/edb_core/cell/terminal/padstack_instance_terminal.py,sha256=t1qKIQhkTrEVF_wyafAJU0FkaT3BRKzbOWhNK6vD2Y4,3804
58
+ pyedb/dotnet/edb_core/cell/terminal/padstack_instance_terminal.py,sha256=HOMNvSj8thN3RgSg2eDb_CE8PpqkcVLrIYPZGOW-IQk,3803
57
59
  pyedb/dotnet/edb_core/cell/terminal/pingroup_terminal.py,sha256=M5qZNH-MLDkgSJABNVKmnBLyLgezm2fqJGl70EyPVUo,2586
58
- pyedb/dotnet/edb_core/cell/terminal/point_terminal.py,sha256=H0us5EbpIZ9SZUrh6z50qW6qo3jE_mwsQRBz_R65BP8,2380
59
- pyedb/dotnet/edb_core/cell/terminal/terminal.py,sha256=hFYmko638aQ71_rCfsrWNFGQlR08CUnNHAgRcvuMVxA,19742
60
+ pyedb/dotnet/edb_core/cell/terminal/point_terminal.py,sha256=DafZBGjUx_OE8gZWcUKPh4cH3BRkJSj9XolhzIPOE3I,2400
61
+ pyedb/dotnet/edb_core/cell/terminal/terminal.py,sha256=eeM9peo4Jfu9WWwCoRX8X0dRdW3rM_aqXRuqWw_8fi8,19228
60
62
  pyedb/dotnet/edb_core/definition/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
63
  pyedb/dotnet/edb_core/definition/component_def.py,sha256=tYZ4L6DigwSjdQJ5AlqEbordPVZyJ6hYFNc6b3QnJ18,6514
62
64
  pyedb/dotnet/edb_core/definition/component_model.py,sha256=PhT5voy3qk8fsp94dK6TN_Zxz5aXwO_mmeIwWm7C_Hs,1944
@@ -64,18 +66,17 @@ pyedb/dotnet/edb_core/definition/definition_obj.py,sha256=QKlR8DNpNaOd00sY1ybEZA
64
66
  pyedb/dotnet/edb_core/definition/definitions.py,sha256=9Zjl5LNidDBk07m-QGpducWfFsyE52pScI8PC5f0doU,2383
65
67
  pyedb/dotnet/edb_core/definition/package_def.py,sha256=UoYNdfrB5j0rG4OK94yE25dCTzHcpDjSEn4L2yF10YY,6145
66
68
  pyedb/dotnet/edb_core/dotnet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
67
- pyedb/dotnet/edb_core/dotnet/database.py,sha256=m8QgX1E5elOoBTHt5zCsUKUFRuwru5r-31PmUE6rQr0,37653
68
- pyedb/dotnet/edb_core/dotnet/layout.py,sha256=_3lKFvEqA5S66yF_FSX5HbLsFNFpsigRsaN3Rj02pFk,8904
69
- pyedb/dotnet/edb_core/dotnet/primitive.py,sha256=8UYyQ9pXINHvy0ORizxjiAA-iAoLxIt5-ekN4Cr3PgU,53730
69
+ pyedb/dotnet/edb_core/dotnet/database.py,sha256=xyISmY691ItgM_Fqos3Bra4BRnxCJVU4M1Ueg4V9ixg,37324
70
+ pyedb/dotnet/edb_core/dotnet/primitive.py,sha256=k9ltBCWtekt-iiZj8r0yEDp2dWSxKm19SaMqDGkL-ac,54135
70
71
  pyedb/dotnet/edb_core/edb_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
- pyedb/dotnet/edb_core/edb_data/control_file.py,sha256=Z837yN4ZDWbtCW3eTWewVq_d_iY2jBSYx2QlL70-qog,48341
72
+ pyedb/dotnet/edb_core/edb_data/control_file.py,sha256=_W5DDBFvm4gTq8yCvhzfiWUsfpQK4PnLkjmntIYvW8E,48217
72
73
  pyedb/dotnet/edb_core/edb_data/design_options.py,sha256=RO9ip-T5Bfxpsl97_QEk0qDZsza3tLzIX2t25XLutys,2057
73
74
  pyedb/dotnet/edb_core/edb_data/edbvalue.py,sha256=Vj_11HXsQUNavizKp5FicORm6cjhXRh9uvxhv_D_RJc,1977
74
75
  pyedb/dotnet/edb_core/edb_data/hfss_extent_info.py,sha256=hKFHWUl0_OCMEZJbQn5c8Y1a-BYKr8nAycIlrCoeufk,13005
75
76
  pyedb/dotnet/edb_core/edb_data/hfss_pi_simulation_setup_data.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
77
  pyedb/dotnet/edb_core/edb_data/layer_data.py,sha256=SBx2IKtbSn4AvySw4b6IGu3rbb6F-nEoaiqhUwarpLY,25706
77
78
  pyedb/dotnet/edb_core/edb_data/nets_data.py,sha256=ICF61kgST9Rm4hUqU3KUh8FMNlrZEVQO1LqZR1VADkA,9979
78
- pyedb/dotnet/edb_core/edb_data/padstacks_data.py,sha256=F_ig5kZJ_kYRajOcavVfAol-ArgTRTfrw8W16iMEhYM,79289
79
+ pyedb/dotnet/edb_core/edb_data/padstacks_data.py,sha256=CcDbP9tko2m88oJ4RPPPsd5kujSUR57RDdZxGo7XLfc,78359
79
80
  pyedb/dotnet/edb_core/edb_data/ports.py,sha256=wr2RQi8VExuNIVmnp7c4VpTIhODgthmJmHr01zO4ueo,8873
80
81
  pyedb/dotnet/edb_core/edb_data/primitives_data.py,sha256=i6mC-y19iiO9Tr4w3A4Usrd_flyeUSPnxLCz980qFyA,43442
81
82
  pyedb/dotnet/edb_core/edb_data/raptor_x_simulation_setup_data.py,sha256=P37-OIsc8TuTC_s3CXRmvZcJqxAftHA7SATfEyoAnMM,20953
@@ -94,23 +95,23 @@ pyedb/dotnet/edb_core/sim_setup_data/data/settings.py,sha256=u2EhL_netNF4FTQicWy
94
95
  pyedb/dotnet/edb_core/sim_setup_data/data/sim_setup_info.py,sha256=yfSIsI7G5qgTqkc7UzWvw2-phZG2kawtQAxsXMiEvOE,4479
95
96
  pyedb/dotnet/edb_core/sim_setup_data/data/simulation_settings.py,sha256=9ji4UQzgTTOExgGMpCB8zgvovBjhedwqLoN1MzUHOks,10727
96
97
  pyedb/dotnet/edb_core/sim_setup_data/data/siw_dc_ir_settings.py,sha256=caRhPnon_jN5xXznLy57JPD5lGC7DS8KqYtXSC19nJ4,8627
97
- pyedb/dotnet/edb_core/sim_setup_data/data/sweep_data.py,sha256=YeFy9YoYVaieaBTnoXwzo66LyAOrEb5LnNDKv-FAlh8,17970
98
+ pyedb/dotnet/edb_core/sim_setup_data/data/sweep_data.py,sha256=jPxWKRyszCrw9iqiJ5VldVTCxrCC0cIxjihe0BsDNEw,18074
98
99
  pyedb/dotnet/edb_core/sim_setup_data/io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
100
  pyedb/dotnet/edb_core/sim_setup_data/io/siwave.py,sha256=92iEZrhA2CUTZ7wynL5nxVVwi2XKKqppx7AcvvoqK6E,31387
100
101
  pyedb/dotnet/edb_core/utilities/__init__.py,sha256=8jByHkoaowAYQTCww-zRrTQmN061fLz_OHjTLSrzQQY,58
101
102
  pyedb/dotnet/edb_core/utilities/heatsink.py,sha256=7G7Yx9TxbL5EAiR51MnhdRiAQBVf-d0hKsXDw5OYX2Q,2220
102
103
  pyedb/dotnet/edb_core/utilities/hfss_simulation_setup.py,sha256=_0H_7ypwrR5kj4LFhJLRvG9PV1lemvRnxRBJuOcGeXM,14074
103
104
  pyedb/dotnet/edb_core/utilities/obj_base.py,sha256=lufR0sZj0QfZ2wlNvLL6aM1KVqCNY2A7taPPdWcK20w,3312
104
- pyedb/dotnet/edb_core/utilities/simulation_setup.py,sha256=PWI5cvQcNrELp2fj3SifZFqUD_6mhBjPhK7jDBo4HGE,12359
105
+ pyedb/dotnet/edb_core/utilities/simulation_setup.py,sha256=5-lpTiErVpRI6Os5iNpa1SIrGCjgHHUgJ0ozI5pVLIs,12236
105
106
  pyedb/dotnet/edb_core/utilities/siwave_simulation_setup.py,sha256=BXuYJ7KQMgKiQnw6_Dft2aT11PYz6M7C-NJrMS8ZFX0,12764
106
107
  pyedb/generic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
108
  pyedb/generic/constants.py,sha256=prWLZH0-SeBIVK6LHZ4SGZFQCofuym2TuQYfdqwhuSQ,28956
108
109
  pyedb/generic/data_handlers.py,sha256=rfqNe2tPCJRqhXZBCyWxRFu5SjQ92Cdzq4l0TDC4Pvw,6905
109
110
  pyedb/generic/design_types.py,sha256=qHyIaz-Vd3ra4CP9xER76-nGRonYmSAiI3Dr8YPUeH8,4354
110
- pyedb/generic/filesystem.py,sha256=SwvXv1T05SrC9TPtK88joQoU5Ab7hYjrp5NncFeH7kM,3941
111
- pyedb/generic/general_methods.py,sha256=DzVyfAseL33vGip4oWbQya_n_sGzrrsnTPD7xK4ZRXc,43123
112
- pyedb/generic/plot.py,sha256=VWnTB2C9161gJNZb6sRhhz2hjenkJccboHPyKmvFRDc,4904
113
- pyedb/generic/process.py,sha256=9goCXrW3Su-8WuV5f6YqzY-Pl9EMFEd50KFN5AJXZGc,11206
111
+ pyedb/generic/filesystem.py,sha256=gqYh3xet_JjBOFopxCJldgeUItFRbBpVVi2ACnveCYw,3757
112
+ pyedb/generic/general_methods.py,sha256=HfDQEiQkNng4apFUbStsEfvKDbPkZ0Oz9Wjlqqz5LSI,42798
113
+ pyedb/generic/plot.py,sha256=0x2-v_xNSoy07rILKGQStQMTUIYrvJEvFO1n9KuSfAc,4717
114
+ pyedb/generic/process.py,sha256=DiOanqNq5APYryBYo3Wt4mQ54cBR9-ULrrIOqGE4S8c,11107
114
115
  pyedb/generic/settings.py,sha256=QTX5OVZ8sVPIy_QaSxRODUWvoXkYkVpzh3l6pQPseKQ,9220
115
116
  pyedb/ipc2581/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
116
117
  pyedb/ipc2581/history_record.py,sha256=s1GjcIgnZHlNCBOeEERBDX7xDuqhXmh2Ctt3ccFDWso,2739
@@ -162,7 +163,7 @@ pyedb/ipc2581/ecad/cad_data/stackup_layer.py,sha256=SMkX9wrHdxbVn6hcPqlAbWz14IKi
162
163
  pyedb/ipc2581/ecad/cad_data/step.py,sha256=p4X0LGECdI4dTtxgh0oAkjQtd6G7FrZYwW-qrsRyrMM,12296
163
164
  pyedb/misc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
164
165
  pyedb/misc/aedtlib_personalib_install.py,sha256=eCVAdEoriMU92bZwPzY9Aig85cBbUO0J8J4RMtMkY_o,1759
165
- pyedb/misc/downloads.py,sha256=90OxzuVSeJzz4m8tDLsxsnSipj6DUldG2E_3BW7oXMo,12223
166
+ pyedb/misc/downloads.py,sha256=j9jJhwGTTJwm4WWaCSEhGZzOGyOyHhBAFexx0NtD4Uw,10824
166
167
  pyedb/misc/misc.py,sha256=3vyQ-l7lKUxdpdc_kGc7QNwu_EkmD8rRxe01Zx5Drr4,3315
167
168
  pyedb/misc/pyedb.runtimeconfig.json,sha256=2xof-Vl0hY2VOs1KkMSReTMZACsZhcmPmyHXukfb-oY,301
168
169
  pyedb/misc/utilities.py,sha256=w8mSGtgBlakcdOtWyP_NY0hUu_hxannOQOBvVxn02Fc,465
@@ -181,7 +182,7 @@ pyedb/misc/siw_feature_config/xtalk_scan/scan_config.py,sha256=YmYI6WTQulL5Uf8Wx
181
182
  pyedb/misc/siw_feature_config/xtalk_scan/td_xtalk_config.py,sha256=KHa-UqcXuabiVfT2CV-UvWl5Q2qGYHF2Ye9azcAlnXc,3966
182
183
  pyedb/modeler/geometry_operators.py,sha256=iXNGfp3oMAxc6Ij_jatawR9NAKksMfnmWTaoHQVGX80,72699
183
184
  pyedb/siwave_core/icepak.py,sha256=WnZ-t8mik7LDY06V8hZFV-TxRZJQWK7bu_8Ichx-oBs,5206
184
- pyedb-0.19.0.dist-info/LICENSE,sha256=qQWivZ12ETN5l3QxvTARY-QI5eoRRlyHdwLlAj0Bg5I,1089
185
- pyedb-0.19.0.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
186
- pyedb-0.19.0.dist-info/METADATA,sha256=FPFEu4Oj7OzgJ-V0aH-11qrw0rbs7OKHhfme5ZpD7tY,8318
187
- pyedb-0.19.0.dist-info/RECORD,,
185
+ pyedb-0.20.0.dist-info/LICENSE,sha256=qQWivZ12ETN5l3QxvTARY-QI5eoRRlyHdwLlAj0Bg5I,1089
186
+ pyedb-0.20.0.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
187
+ pyedb-0.20.0.dist-info/METADATA,sha256=RmQ1mTuULbWi0_7ZYKEyMpH2mHCIFDQB5yishriZz8c,8318
188
+ pyedb-0.20.0.dist-info/RECORD,,