PyIBIS-AMI 8.0.0__tar.gz → 8.1.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.
Files changed (52) hide show
  1. {pyibis_ami-8.0.0/src/pyibis_ami.egg-info → pyibis_ami-8.1.0}/PKG-INFO +1 -1
  2. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/pyproject.toml +1 -1
  3. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0/src/pyibis_ami.egg-info}/PKG-INFO +1 -1
  4. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibisami/ami/model.py +1 -1
  5. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibisami/ami/parser.py +20 -3
  6. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/LICENSE +0 -0
  7. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/MANIFEST.in +0 -0
  8. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/README.md +0 -0
  9. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/docs/source/ami.rst +0 -0
  10. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/docs/source/conf.py +0 -0
  11. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/docs/source/ibis.rst +0 -0
  12. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/docs/source/index.rst +0 -0
  13. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/docs/source/install.rst +0 -0
  14. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/docs/source/modules.rst +0 -0
  15. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/docs/source/tools.rst +0 -0
  16. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/examples/all_taps.run +0 -0
  17. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/examples/bandwidth.run +0 -0
  18. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/examples/dummy.em +0 -0
  19. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/examples/examples.md +0 -0
  20. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/examples/freq_resp.em +0 -0
  21. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/examples/impulse.em +0 -0
  22. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/examples/impulse_response_8ma.txt +0 -0
  23. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/examples/mode.run +0 -0
  24. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/examples/stratix4_ami_tx_runs/all_taps.run +0 -0
  25. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/examples/stratix4_ami_tx_runs/test_results.xml +0 -0
  26. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/examples/test_results/test_results.xsl +0 -0
  27. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/setup.cfg +0 -0
  28. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibis_ami.egg-info/SOURCES.txt +0 -0
  29. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibis_ami.egg-info/dependency_links.txt +0 -0
  30. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibis_ami.egg-info/entry_points.txt +0 -0
  31. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibis_ami.egg-info/requires.txt +0 -0
  32. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibis_ami.egg-info/top_level.txt +0 -0
  33. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibisami/IBIS_AMI_Checker.ipynb +0 -0
  34. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibisami/IBIS_AMI_Tester.ipynb +0 -0
  35. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibisami/__init__.py +0 -0
  36. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibisami/__main__.py +0 -0
  37. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibisami/ami/__init__.py +0 -0
  38. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibisami/ami/config.py +0 -0
  39. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibisami/ami/generic.ami.em +0 -0
  40. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibisami/ami/generic.ibs.em +0 -0
  41. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibisami/ami/parameter.py +0 -0
  42. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibisami/ami/reserved_parameter_names.py +0 -0
  43. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibisami/common.py +0 -0
  44. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibisami/ibis/__init__.py +0 -0
  45. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibisami/ibis/file.py +0 -0
  46. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibisami/ibis/model.py +0 -0
  47. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibisami/ibis/parser.py +0 -0
  48. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibisami/tools/__init__.py +0 -0
  49. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibisami/tools/run_notebook.py +0 -0
  50. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibisami/tools/run_tests.py +0 -0
  51. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/src/pyibisami/tools/test_results.xsl +0 -0
  52. {pyibis_ami-8.0.0 → pyibis_ami-8.1.0}/tests/test_run_tests.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyibis-ami
3
- Version: 8.0.0
3
+ Version: 8.1.0
4
4
  Summary: Facilitates working directly with IBIS-AMI DLLs from the Python command prompt.
5
5
  Author-email: David Banas <capn.freako@gmail.com>
6
6
  Project-URL: Documentation, https://pyibis-ami.readthedocs.io/en/latest/
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
  [project]
6
6
  name = "pyibis-ami"
7
7
  description = "Facilitates working directly with IBIS-AMI DLLs from the Python command prompt."
8
- version = "8.0.0"
8
+ version = "8.1.0"
9
9
  authors = [ {name = "David Banas", email = "capn.freako@gmail.com"}
10
10
  ]
11
11
  readme = "README.md"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyibis-ami
3
- Version: 8.0.0
3
+ Version: 8.1.0
4
4
  Summary: Facilitates working directly with IBIS-AMI DLLs from the Python command prompt.
5
5
  Author-email: David Banas <capn.freako@gmail.com>
6
6
  Project-URL: Documentation, https://pyibis-ami.readthedocs.io/en/latest/
@@ -626,7 +626,7 @@ class AMIModel: # pylint: disable=too-many-instance-attributes
626
626
  ami_params_in = property(_getAmiParamsIn, doc="The AMI parameter string passed to AMI_Init() by initialize().")
627
627
 
628
628
  def _getAmiParamsOut(self):
629
- pout: str = self._ami_params_out.value
629
+ pout = self._ami_params_out.value
630
630
  if pout: # pylint: disable=using-constant-test
631
631
  return pout.decode() # pylint: disable=no-member
632
632
  return f"({self.root_name} )"
@@ -7,7 +7,9 @@ Original date: December 17, 2016
7
7
  Copyright (c) 2019 David Banas; all rights reserved World wide.
8
8
  """
9
9
 
10
+ from __future__ import annotations
10
11
  from ctypes import c_double
12
+ from dataclasses import dataclass
11
13
  import re
12
14
  from typing import Any, Callable, NewType, Optional, TypeAlias
13
15
 
@@ -31,13 +33,28 @@ ParamValue: TypeAlias = int | float | str | list["ParamValue"]
31
33
  Parameters: TypeAlias = dict[ParamName, "'AMIParameter' | 'Parameters'"]
32
34
  ParamValues: TypeAlias = dict[ParamName, "'ParamValue' | 'ParamValues'"]
33
35
 
36
+ # AMI parameter tree structure.
34
37
  AmiName = NewType("AmiName", str)
35
38
  AmiAtom: TypeAlias = bool | int | float | str
36
- AmiExpr: TypeAlias = "'AmiAtom' | 'AmiNode'"
37
- AmiNode: TypeAlias = tuple[AmiName, list[AmiExpr]]
39
+
40
+
41
+ @dataclass(frozen=True)
42
+ class AmiLeaf:
43
+ name: AmiName
44
+ values: list[AmiAtom]
45
+
46
+
47
+ @dataclass(frozen=True)
48
+ class AmiBranch:
49
+ name: AmiName
50
+ children: list["AmiNode"]
51
+
52
+
53
+ AmiNode: TypeAlias = AmiLeaf | AmiBranch
38
54
  AmiNodeParser: TypeAlias = Callable[[str], AmiNode]
39
55
  AmiParser: TypeAlias = Callable[[str], tuple[AmiName, list[AmiNode]]] # Atoms may not exist at the root level.
40
56
 
57
+ # Local definitions.
41
58
  ParseErrMsg = NewType("ParseErrMsg", str)
42
59
  AmiRootName = NewType("AmiRootName", str)
43
60
  ReservedParamDict: TypeAlias = dict[AmiReservedParameterName, AMIParameter]
@@ -45,7 +62,7 @@ ModelSpecificDict: TypeAlias = dict[ParamName, "'AMIParameter' | 'ModelSpecificD
45
62
 
46
63
  __all__ = [
47
64
  "ParamName", "ParamValue", "Parameters", "ParamValues",
48
- "AmiName", "AmiAtom", "AmiExpr", "AmiNode", "AmiNodeParser", "AmiParser",
65
+ "AmiName", "AmiAtom", "AmiNode", "AmiNodeParser", "AmiParser",
49
66
  "ami_parse", "AMIParamConfigurator"]
50
67
 
51
68
  #####
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes