PyIBIS-AMI 9.2.0__tar.gz → 9.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/MANIFEST.in +1 -0
- {pyibis_ami-9.2.0/src/pyibis_ami.egg-info → pyibis_ami-9.3.1}/PKG-INFO +1 -1
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/pyproject.toml +8 -1
- pyibis_ami-9.3.1/requirements.txt +500 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1/src/pyibis_ami.egg-info}/PKG-INFO +1 -1
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibis_ami.egg-info/SOURCES.txt +1 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/ami/config.py +4 -5
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/ami/model.py +12 -12
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/ami/parameter.py +68 -1
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/ami/parser.py +155 -21
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/ami/reserved_parameter_names.py +1 -1
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/ibis/file.py +29 -29
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/ibis/model.py +5 -5
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/ibis/parser.py +5 -4
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/testing/ami_test_config.py +3 -3
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/testing/ami_tests.py +13 -12
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/testing/ami_tests_helpers.py +2 -2
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/testing/ibis_file_tests.py +3 -3
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/testing/test_defs.py +3 -2
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/testing/test_models.py +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/testing/util.py +1 -1
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/tools/run_notebook.py +5 -7
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/util/plot.py +4 -4
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/util/reportlab.py +2 -2
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/LICENSE +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/README.md +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/docs/source/ami.rst +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/docs/source/conf.py +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/docs/source/ibis.rst +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/docs/source/index.rst +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/docs/source/install.rst +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/docs/source/modules.rst +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/docs/source/tools.rst +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/examples/all_taps.run +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/examples/bandwidth.run +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/examples/dummy.em +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/examples/examples.md +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/examples/freq_resp.em +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/examples/impulse.em +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/examples/impulse_response_8ma.txt +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/examples/mode.run +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/examples/stratix4_ami_tx_runs/all_taps.run +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/examples/stratix4_ami_tx_runs/test_results.xml +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/examples/test_results/test_results.xsl +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/setup.cfg +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibis_ami.egg-info/dependency_links.txt +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibis_ami.egg-info/entry_points.txt +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibis_ami.egg-info/requires.txt +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibis_ami.egg-info/top_level.txt +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/IBIS_AMI_Checker.ipynb +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/IBIS_AMI_Tester.ipynb +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/__init__.py +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/__main__.py +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/ami/__init__.py +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/ami/generic.ami.em +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/ami/generic.ibs.em +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/common.py +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/ibis/__init__.py +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/testing/__init__.py +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/tools/__init__.py +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/tools/run_tests.py +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/tools/test_results.xsl +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/util/ami.py +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/src/pyibisami/util/misc.py +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/tests/test_ami_test_config.py +0 -0
- {pyibis_ami-9.2.0 → pyibis_ami-9.3.1}/tests/test_run_tests.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyibis-ami
|
|
3
|
-
Version: 9.
|
|
3
|
+
Version: 9.3.1
|
|
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 = "9.
|
|
8
|
+
version = "9.3.1"
|
|
9
9
|
authors = [ {name = "David Banas", email = "capn.freako@gmail.com"}
|
|
10
10
|
]
|
|
11
11
|
readme = "README.md"
|
|
@@ -96,6 +96,13 @@ ignore = [
|
|
|
96
96
|
exclude = [
|
|
97
97
|
"*.ipynb"
|
|
98
98
|
]
|
|
99
|
+
lint.ignore = [
|
|
100
|
+
"UP045", # "Optional[X] -> "X | None"
|
|
101
|
+
"I001", # import formatting
|
|
102
|
+
"BLE001", # blind exceptions
|
|
103
|
+
"UP031", # format specifiers instead of '%'
|
|
104
|
+
"RUF022", # unsorted all
|
|
105
|
+
]
|
|
99
106
|
|
|
100
107
|
[[tool.mypy.overrides]]
|
|
101
108
|
module = [
|
|
@@ -0,0 +1,500 @@
|
|
|
1
|
+
# This file was autogenerated by uv via the following command:
|
|
2
|
+
# uv export --package pyibis-ami --no-dev --no-hashes --no-emit-project -o requirements.txt
|
|
3
|
+
aiohappyeyeballs==2.7.1 ; python_full_version == '3.12.*'
|
|
4
|
+
# via aiohttp
|
|
5
|
+
aiohttp==3.14.3 ; python_full_version == '3.12.*'
|
|
6
|
+
# via papermill
|
|
7
|
+
aiosignal==1.4.0 ; python_full_version == '3.12.*'
|
|
8
|
+
# via aiohttp
|
|
9
|
+
anyio==4.14.2
|
|
10
|
+
# via
|
|
11
|
+
# httpx
|
|
12
|
+
# jupyter-server
|
|
13
|
+
appnope==0.1.4 ; sys_platform == 'darwin'
|
|
14
|
+
# via ipykernel
|
|
15
|
+
argon2-cffi==25.1.0
|
|
16
|
+
# via jupyter-server
|
|
17
|
+
argon2-cffi-bindings==25.1.0
|
|
18
|
+
# via argon2-cffi
|
|
19
|
+
arrow==1.4.0
|
|
20
|
+
# via isoduration
|
|
21
|
+
asttokens==3.0.2
|
|
22
|
+
# via stack-data
|
|
23
|
+
async-lru==2.3.0
|
|
24
|
+
# via jupyterlab
|
|
25
|
+
attrs==26.1.0
|
|
26
|
+
# via
|
|
27
|
+
# aiohttp
|
|
28
|
+
# jsonschema
|
|
29
|
+
# referencing
|
|
30
|
+
babel==2.18.0
|
|
31
|
+
# via jupyterlab-server
|
|
32
|
+
beautifulsoup4==4.15.0
|
|
33
|
+
# via nbconvert
|
|
34
|
+
bleach==6.4.0
|
|
35
|
+
# via nbconvert
|
|
36
|
+
certifi==2026.6.17
|
|
37
|
+
# via
|
|
38
|
+
# httpcore
|
|
39
|
+
# httpx
|
|
40
|
+
# requests
|
|
41
|
+
cffi==2.1.0
|
|
42
|
+
# via
|
|
43
|
+
# argon2-cffi-bindings
|
|
44
|
+
# pyzmq
|
|
45
|
+
chaco==6.1.1
|
|
46
|
+
# via pyibis-ami
|
|
47
|
+
charset-normalizer==3.4.9
|
|
48
|
+
# via
|
|
49
|
+
# reportlab
|
|
50
|
+
# requests
|
|
51
|
+
click==8.4.2
|
|
52
|
+
# via
|
|
53
|
+
# papermill
|
|
54
|
+
# pyibis-ami
|
|
55
|
+
colorama==0.4.6 ; sys_platform == 'win32'
|
|
56
|
+
# via
|
|
57
|
+
# click
|
|
58
|
+
# ipython
|
|
59
|
+
# tqdm
|
|
60
|
+
comm==0.2.3
|
|
61
|
+
# via
|
|
62
|
+
# ipykernel
|
|
63
|
+
# ipywidgets
|
|
64
|
+
contourpy==1.3.2 ; python_full_version < '3.11'
|
|
65
|
+
# via matplotlib
|
|
66
|
+
contourpy==1.3.3 ; python_full_version >= '3.11'
|
|
67
|
+
# via matplotlib
|
|
68
|
+
cycler==0.12.1
|
|
69
|
+
# via matplotlib
|
|
70
|
+
debugpy==1.8.21
|
|
71
|
+
# via ipykernel
|
|
72
|
+
decorator==5.3.1
|
|
73
|
+
# via ipython
|
|
74
|
+
defusedxml==0.7.1
|
|
75
|
+
# via nbconvert
|
|
76
|
+
empy==4.2.1
|
|
77
|
+
# via pyibis-ami
|
|
78
|
+
enable==6.1.0
|
|
79
|
+
# via chaco
|
|
80
|
+
entrypoints==0.4
|
|
81
|
+
# via
|
|
82
|
+
# nbconvert
|
|
83
|
+
# papermill
|
|
84
|
+
exceptiongroup==1.3.1 ; python_full_version < '3.11'
|
|
85
|
+
# via
|
|
86
|
+
# anyio
|
|
87
|
+
# ipython
|
|
88
|
+
executing==2.2.1
|
|
89
|
+
# via stack-data
|
|
90
|
+
fastjsonschema==2.21.2
|
|
91
|
+
# via nbformat
|
|
92
|
+
fonttools==4.63.0
|
|
93
|
+
# via
|
|
94
|
+
# enable
|
|
95
|
+
# matplotlib
|
|
96
|
+
fqdn==1.5.1
|
|
97
|
+
# via jsonschema
|
|
98
|
+
frozenlist==1.8.0 ; python_full_version == '3.12.*'
|
|
99
|
+
# via
|
|
100
|
+
# aiohttp
|
|
101
|
+
# aiosignal
|
|
102
|
+
h11==0.16.0
|
|
103
|
+
# via httpcore
|
|
104
|
+
httpcore==1.0.9
|
|
105
|
+
# via httpx
|
|
106
|
+
httpx==0.28.1
|
|
107
|
+
# via jupyterlab
|
|
108
|
+
idna==3.18
|
|
109
|
+
# via
|
|
110
|
+
# anyio
|
|
111
|
+
# httpx
|
|
112
|
+
# jsonschema
|
|
113
|
+
# requests
|
|
114
|
+
# yarl
|
|
115
|
+
importlib-resources==7.1.0
|
|
116
|
+
# via pyibis-ami
|
|
117
|
+
ipykernel==7.3.0
|
|
118
|
+
# via
|
|
119
|
+
# jupyter
|
|
120
|
+
# jupyter-console
|
|
121
|
+
# jupyterlab
|
|
122
|
+
ipython==8.39.0 ; python_full_version < '3.11'
|
|
123
|
+
# via
|
|
124
|
+
# ipykernel
|
|
125
|
+
# ipywidgets
|
|
126
|
+
# jupyter-console
|
|
127
|
+
ipython==9.15.0 ; python_full_version >= '3.11'
|
|
128
|
+
# via
|
|
129
|
+
# ipykernel
|
|
130
|
+
# ipywidgets
|
|
131
|
+
# jupyter-console
|
|
132
|
+
ipython-pygments-lexers==1.1.1 ; python_full_version >= '3.11'
|
|
133
|
+
# via ipython
|
|
134
|
+
ipywidgets==8.1.8
|
|
135
|
+
# via jupyter
|
|
136
|
+
isoduration==20.11.0
|
|
137
|
+
# via jsonschema
|
|
138
|
+
jedi==0.20.0
|
|
139
|
+
# via ipython
|
|
140
|
+
jinja2==3.1.6
|
|
141
|
+
# via
|
|
142
|
+
# jupyter-server
|
|
143
|
+
# jupyterlab
|
|
144
|
+
# jupyterlab-server
|
|
145
|
+
# nbconvert
|
|
146
|
+
json5==0.15.0
|
|
147
|
+
# via jupyterlab-server
|
|
148
|
+
jsonpointer==3.1.1
|
|
149
|
+
# via jsonschema
|
|
150
|
+
jsonschema==4.26.0
|
|
151
|
+
# via
|
|
152
|
+
# jupyter-events
|
|
153
|
+
# jupyterlab-server
|
|
154
|
+
# nbformat
|
|
155
|
+
jsonschema-specifications==2025.9.1
|
|
156
|
+
# via jsonschema
|
|
157
|
+
jupyter==1.1.1
|
|
158
|
+
# via pyibis-ami
|
|
159
|
+
jupyter-builder==1.1.1
|
|
160
|
+
# via
|
|
161
|
+
# jupyterlab
|
|
162
|
+
# notebook
|
|
163
|
+
jupyter-client==8.9.1
|
|
164
|
+
# via
|
|
165
|
+
# ipykernel
|
|
166
|
+
# jupyter-console
|
|
167
|
+
# jupyter-server
|
|
168
|
+
# nbclient
|
|
169
|
+
jupyter-console==6.6.3
|
|
170
|
+
# via jupyter
|
|
171
|
+
jupyter-core==5.9.1
|
|
172
|
+
# via
|
|
173
|
+
# ipykernel
|
|
174
|
+
# jupyter-builder
|
|
175
|
+
# jupyter-client
|
|
176
|
+
# jupyter-console
|
|
177
|
+
# jupyter-server
|
|
178
|
+
# jupyterlab
|
|
179
|
+
# nbclient
|
|
180
|
+
# nbconvert
|
|
181
|
+
# nbformat
|
|
182
|
+
jupyter-events==0.12.1
|
|
183
|
+
# via jupyter-server
|
|
184
|
+
jupyter-lsp==2.3.1
|
|
185
|
+
# via jupyterlab
|
|
186
|
+
jupyter-server==2.20.0
|
|
187
|
+
# via
|
|
188
|
+
# jupyter-lsp
|
|
189
|
+
# jupyterlab
|
|
190
|
+
# jupyterlab-server
|
|
191
|
+
# notebook
|
|
192
|
+
# notebook-shim
|
|
193
|
+
jupyter-server-terminals==0.5.4
|
|
194
|
+
# via jupyter-server
|
|
195
|
+
jupyterlab==4.6.2
|
|
196
|
+
# via
|
|
197
|
+
# jupyter
|
|
198
|
+
# notebook
|
|
199
|
+
jupyterlab-pygments==0.3.0
|
|
200
|
+
# via nbconvert
|
|
201
|
+
jupyterlab-server==2.28.0
|
|
202
|
+
# via
|
|
203
|
+
# jupyterlab
|
|
204
|
+
# notebook
|
|
205
|
+
jupyterlab-widgets==3.0.16
|
|
206
|
+
# via ipywidgets
|
|
207
|
+
kiwisolver==1.5.0
|
|
208
|
+
# via
|
|
209
|
+
# enable
|
|
210
|
+
# matplotlib
|
|
211
|
+
lark==1.3.1
|
|
212
|
+
# via rfc3987-syntax
|
|
213
|
+
lxml==6.1.1
|
|
214
|
+
# via
|
|
215
|
+
# lxml-html-clean
|
|
216
|
+
# nbconvert
|
|
217
|
+
lxml-html-clean==0.4.5
|
|
218
|
+
# via pyibis-ami
|
|
219
|
+
markupsafe==3.0.3
|
|
220
|
+
# via
|
|
221
|
+
# jinja2
|
|
222
|
+
# nbconvert
|
|
223
|
+
matplotlib==3.10.9 ; python_full_version < '3.11'
|
|
224
|
+
# via pyibis-ami
|
|
225
|
+
matplotlib==3.11.1 ; python_full_version >= '3.11'
|
|
226
|
+
# via pyibis-ami
|
|
227
|
+
matplotlib-inline==0.2.2
|
|
228
|
+
# via
|
|
229
|
+
# ipykernel
|
|
230
|
+
# ipython
|
|
231
|
+
mistune==0.8.4
|
|
232
|
+
# via nbconvert
|
|
233
|
+
multidict==6.7.1 ; python_full_version == '3.12.*'
|
|
234
|
+
# via
|
|
235
|
+
# aiohttp
|
|
236
|
+
# yarl
|
|
237
|
+
nbclient==0.11.0
|
|
238
|
+
# via
|
|
239
|
+
# nbconvert
|
|
240
|
+
# papermill
|
|
241
|
+
nbconvert==6.5.4
|
|
242
|
+
# via
|
|
243
|
+
# jupyter
|
|
244
|
+
# jupyter-server
|
|
245
|
+
nbformat==5.10.4
|
|
246
|
+
# via
|
|
247
|
+
# jupyter-server
|
|
248
|
+
# nbclient
|
|
249
|
+
# nbconvert
|
|
250
|
+
# papermill
|
|
251
|
+
nest-asyncio2==1.7.2
|
|
252
|
+
# via ipykernel
|
|
253
|
+
notebook==7.6.0
|
|
254
|
+
# via jupyter
|
|
255
|
+
notebook-shim==0.2.4
|
|
256
|
+
# via
|
|
257
|
+
# jupyterlab
|
|
258
|
+
# notebook
|
|
259
|
+
numpy==2.2.6 ; python_full_version < '3.11'
|
|
260
|
+
# via
|
|
261
|
+
# chaco
|
|
262
|
+
# contourpy
|
|
263
|
+
# enable
|
|
264
|
+
# matplotlib
|
|
265
|
+
# pyibis-ami
|
|
266
|
+
# scipy
|
|
267
|
+
numpy==2.4.6 ; python_full_version == '3.11.*'
|
|
268
|
+
# via
|
|
269
|
+
# chaco
|
|
270
|
+
# contourpy
|
|
271
|
+
# enable
|
|
272
|
+
# matplotlib
|
|
273
|
+
# pyibis-ami
|
|
274
|
+
# scipy
|
|
275
|
+
numpy==2.5.1 ; python_full_version >= '3.12'
|
|
276
|
+
# via
|
|
277
|
+
# chaco
|
|
278
|
+
# contourpy
|
|
279
|
+
# enable
|
|
280
|
+
# matplotlib
|
|
281
|
+
# pyibis-ami
|
|
282
|
+
# scipy
|
|
283
|
+
overrides==7.7.0 ; python_full_version < '3.12'
|
|
284
|
+
# via jupyter-server
|
|
285
|
+
packaging==26.2
|
|
286
|
+
# via
|
|
287
|
+
# ipykernel
|
|
288
|
+
# jupyter-events
|
|
289
|
+
# jupyter-server
|
|
290
|
+
# jupyterlab
|
|
291
|
+
# jupyterlab-server
|
|
292
|
+
# matplotlib
|
|
293
|
+
# nbconvert
|
|
294
|
+
pandocfilters==1.5.1
|
|
295
|
+
# via nbconvert
|
|
296
|
+
papermill==2.7.0
|
|
297
|
+
# via pyibis-ami
|
|
298
|
+
parsec==3.17
|
|
299
|
+
# via pyibis-ami
|
|
300
|
+
parso==0.8.7
|
|
301
|
+
# via jedi
|
|
302
|
+
pexpect==4.9.0 ; sys_platform != 'emscripten' and sys_platform != 'win32'
|
|
303
|
+
# via ipython
|
|
304
|
+
pillow==12.3.0
|
|
305
|
+
# via
|
|
306
|
+
# enable
|
|
307
|
+
# matplotlib
|
|
308
|
+
# reportlab
|
|
309
|
+
platformdirs==4.10.1
|
|
310
|
+
# via jupyter-core
|
|
311
|
+
prometheus-client==0.25.0
|
|
312
|
+
# via jupyter-server
|
|
313
|
+
prompt-toolkit==3.0.52
|
|
314
|
+
# via
|
|
315
|
+
# ipython
|
|
316
|
+
# jupyter-console
|
|
317
|
+
propcache==0.5.2 ; python_full_version == '3.12.*'
|
|
318
|
+
# via
|
|
319
|
+
# aiohttp
|
|
320
|
+
# yarl
|
|
321
|
+
psutil==7.2.2
|
|
322
|
+
# via
|
|
323
|
+
# ipykernel
|
|
324
|
+
# ipython
|
|
325
|
+
ptyprocess==0.7.0 ; os_name != 'nt' or (sys_platform != 'emscripten' and sys_platform != 'win32')
|
|
326
|
+
# via
|
|
327
|
+
# pexpect
|
|
328
|
+
# terminado
|
|
329
|
+
pure-eval==0.2.3
|
|
330
|
+
# via stack-data
|
|
331
|
+
pycparser==3.0 ; implementation_name != 'PyPy'
|
|
332
|
+
# via cffi
|
|
333
|
+
pyface==8.0.0
|
|
334
|
+
# via
|
|
335
|
+
# chaco
|
|
336
|
+
# enable
|
|
337
|
+
# traitsui
|
|
338
|
+
pygments==2.20.0
|
|
339
|
+
# via
|
|
340
|
+
# ipython
|
|
341
|
+
# ipython-pygments-lexers
|
|
342
|
+
# jupyter-console
|
|
343
|
+
# nbconvert
|
|
344
|
+
pyparsing==3.3.2
|
|
345
|
+
# via
|
|
346
|
+
# enable
|
|
347
|
+
# matplotlib
|
|
348
|
+
python-dateutil==2.9.0.post0
|
|
349
|
+
# via
|
|
350
|
+
# arrow
|
|
351
|
+
# jupyter-client
|
|
352
|
+
# matplotlib
|
|
353
|
+
python-json-logger==4.1.0
|
|
354
|
+
# via jupyter-events
|
|
355
|
+
pywinpty==3.0.5 ; os_name == 'nt'
|
|
356
|
+
# via
|
|
357
|
+
# jupyter-server
|
|
358
|
+
# jupyter-server-terminals
|
|
359
|
+
# terminado
|
|
360
|
+
pyyaml==6.0.3
|
|
361
|
+
# via
|
|
362
|
+
# jupyter-events
|
|
363
|
+
# papermill
|
|
364
|
+
pyzmq==27.1.0
|
|
365
|
+
# via
|
|
366
|
+
# ipykernel
|
|
367
|
+
# jupyter-client
|
|
368
|
+
# jupyter-console
|
|
369
|
+
# jupyter-server
|
|
370
|
+
referencing==0.37.0
|
|
371
|
+
# via
|
|
372
|
+
# jsonschema
|
|
373
|
+
# jsonschema-specifications
|
|
374
|
+
# jupyter-events
|
|
375
|
+
reportlab==5.0.0
|
|
376
|
+
# via pyibis-ami
|
|
377
|
+
requests==2.34.2
|
|
378
|
+
# via
|
|
379
|
+
# jupyterlab-server
|
|
380
|
+
# papermill
|
|
381
|
+
rfc3339-validator==0.1.4
|
|
382
|
+
# via
|
|
383
|
+
# jsonschema
|
|
384
|
+
# jupyter-events
|
|
385
|
+
rfc3986-validator==0.1.1
|
|
386
|
+
# via
|
|
387
|
+
# jsonschema
|
|
388
|
+
# jupyter-events
|
|
389
|
+
rfc3987-syntax==1.1.0
|
|
390
|
+
# via jsonschema
|
|
391
|
+
rpds-py==0.30.0 ; python_full_version < '3.11'
|
|
392
|
+
# via
|
|
393
|
+
# jsonschema
|
|
394
|
+
# referencing
|
|
395
|
+
rpds-py==2026.6.3 ; python_full_version >= '3.11'
|
|
396
|
+
# via
|
|
397
|
+
# jsonschema
|
|
398
|
+
# referencing
|
|
399
|
+
scipy==1.15.3 ; python_full_version < '3.11'
|
|
400
|
+
# via pyibis-ami
|
|
401
|
+
scipy==1.17.1 ; python_full_version == '3.11.*'
|
|
402
|
+
# via pyibis-ami
|
|
403
|
+
scipy==1.18.0 ; python_full_version >= '3.12'
|
|
404
|
+
# via pyibis-ami
|
|
405
|
+
send2trash==2.1.0
|
|
406
|
+
# via jupyter-server
|
|
407
|
+
setuptools==83.0.0
|
|
408
|
+
# via parsec
|
|
409
|
+
six==1.17.0
|
|
410
|
+
# via
|
|
411
|
+
# python-dateutil
|
|
412
|
+
# rfc3339-validator
|
|
413
|
+
soupsieve==2.9
|
|
414
|
+
# via beautifulsoup4
|
|
415
|
+
stack-data==0.6.3
|
|
416
|
+
# via ipython
|
|
417
|
+
tenacity==9.1.4
|
|
418
|
+
# via papermill
|
|
419
|
+
terminado==0.18.1
|
|
420
|
+
# via
|
|
421
|
+
# jupyter-server
|
|
422
|
+
# jupyter-server-terminals
|
|
423
|
+
tinycss2==1.5.1
|
|
424
|
+
# via nbconvert
|
|
425
|
+
tomli==2.4.1 ; python_full_version < '3.11'
|
|
426
|
+
# via
|
|
427
|
+
# jupyter-builder
|
|
428
|
+
# jupyterlab
|
|
429
|
+
tornado==6.5.7
|
|
430
|
+
# via
|
|
431
|
+
# ipykernel
|
|
432
|
+
# jupyter-client
|
|
433
|
+
# jupyter-server
|
|
434
|
+
# jupyterlab
|
|
435
|
+
# notebook
|
|
436
|
+
# terminado
|
|
437
|
+
tqdm==4.69.0
|
|
438
|
+
# via papermill
|
|
439
|
+
traitlets==5.15.1
|
|
440
|
+
# via
|
|
441
|
+
# ipykernel
|
|
442
|
+
# ipython
|
|
443
|
+
# ipywidgets
|
|
444
|
+
# jupyter-builder
|
|
445
|
+
# jupyter-client
|
|
446
|
+
# jupyter-console
|
|
447
|
+
# jupyter-core
|
|
448
|
+
# jupyter-events
|
|
449
|
+
# jupyter-server
|
|
450
|
+
# jupyterlab
|
|
451
|
+
# matplotlib-inline
|
|
452
|
+
# nbclient
|
|
453
|
+
# nbconvert
|
|
454
|
+
# nbformat
|
|
455
|
+
traits==7.1.0
|
|
456
|
+
# via
|
|
457
|
+
# chaco
|
|
458
|
+
# enable
|
|
459
|
+
# pyface
|
|
460
|
+
# pyibis-ami
|
|
461
|
+
# traitsui
|
|
462
|
+
traitsui==8.0.0
|
|
463
|
+
# via
|
|
464
|
+
# chaco
|
|
465
|
+
# enable
|
|
466
|
+
# pyibis-ami
|
|
467
|
+
types-reportlab==4.5.1.20260712
|
|
468
|
+
# via pyibis-ami
|
|
469
|
+
typing-extensions==4.16.0
|
|
470
|
+
# via
|
|
471
|
+
# aiohttp
|
|
472
|
+
# aiosignal
|
|
473
|
+
# anyio
|
|
474
|
+
# async-lru
|
|
475
|
+
# beautifulsoup4
|
|
476
|
+
# exceptiongroup
|
|
477
|
+
# ipython
|
|
478
|
+
# jupyter-client
|
|
479
|
+
# jupyterlab
|
|
480
|
+
# referencing
|
|
481
|
+
tzdata==2026.3
|
|
482
|
+
# via arrow
|
|
483
|
+
uri-template==1.3.0
|
|
484
|
+
# via jsonschema
|
|
485
|
+
urllib3==2.7.0
|
|
486
|
+
# via requests
|
|
487
|
+
wcwidth==0.8.2
|
|
488
|
+
# via prompt-toolkit
|
|
489
|
+
webcolors==25.10.0
|
|
490
|
+
# via jsonschema
|
|
491
|
+
webencodings==0.5.1
|
|
492
|
+
# via
|
|
493
|
+
# bleach
|
|
494
|
+
# tinycss2
|
|
495
|
+
websocket-client==1.9.0
|
|
496
|
+
# via jupyter-server
|
|
497
|
+
widgetsnbextension==4.0.15
|
|
498
|
+
# via ipywidgets
|
|
499
|
+
yarl==1.24.2 ; python_full_version == '3.12.*'
|
|
500
|
+
# via aiohttp
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyibis-ami
|
|
3
|
-
Version: 9.
|
|
3
|
+
Version: 9.3.1
|
|
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/
|
|
@@ -171,7 +171,7 @@ def mk_model(
|
|
|
171
171
|
"param_types": param_types,
|
|
172
172
|
"model_name": model_name,
|
|
173
173
|
"description": description,
|
|
174
|
-
"date": str(date.today()),
|
|
174
|
+
"date": str(date.today()), # noqa: DTZ011
|
|
175
175
|
},
|
|
176
176
|
)
|
|
177
177
|
try:
|
|
@@ -246,8 +246,8 @@ def mk_tests( # pylint: disable=too-many-locals
|
|
|
246
246
|
pname.mkdir(exist_ok=True)
|
|
247
247
|
pname = (pname / file_base_name).resolve()
|
|
248
248
|
pname.mkdir(exist_ok=True)
|
|
249
|
-
for fname in test_defs.
|
|
250
|
-
desc, ami_defs, sim_defs, ref_fstr =
|
|
249
|
+
for fname, value in test_defs.items():
|
|
250
|
+
desc, ami_defs, sim_defs, ref_fstr = value
|
|
251
251
|
ami_str, ami_dict = ami_defs
|
|
252
252
|
sim_str, sim_dict = sim_defs
|
|
253
253
|
with open((pname / fname).with_suffix(".run"), "w", encoding="utf-8") as f:
|
|
@@ -258,8 +258,7 @@ def mk_tests( # pylint: disable=too-many-locals
|
|
|
258
258
|
pdict.update(dict(sim_comb))
|
|
259
259
|
f.write(f"\n('{ami_str.format(pdict=pdict)}_{sim_str.format(pdict=pdict)}', \\\n")
|
|
260
260
|
f.write(f" ({{'root_name': '{file_base_name}', \\\n")
|
|
261
|
-
for k, v in ami_comb
|
|
262
|
-
f.write(f" '{k}': {v}, \\\n")
|
|
261
|
+
f.writelines(f" '{k}': {v}, \\\n" for k, v in ami_comb)
|
|
263
262
|
f.write(" }, \\\n")
|
|
264
263
|
if sim_comb:
|
|
265
264
|
head, *tail = sim_comb
|
|
@@ -355,11 +355,12 @@ class AMIModel: # pylint: disable=too-many-instance-attributes
|
|
|
355
355
|
self._info_params = init_object.info_params # pylint: disable=attribute-defined-outside-init
|
|
356
356
|
|
|
357
357
|
# Check GetWave() consistency if possible.
|
|
358
|
-
if init_object.info_params and init_object.info_params["GetWave_Exists"] and
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
)
|
|
358
|
+
if (init_object.info_params and init_object.info_params["GetWave_Exists"] and
|
|
359
|
+
init_object.info_params["GetWave_Exists"].pvalue and
|
|
360
|
+
not self._amiGetWave): # noqa: E129
|
|
361
|
+
raise RuntimeError(
|
|
362
|
+
"Reserved parameter `GetWave_Exists` is True, but I can't bind to `AMI_GetWave()`!"
|
|
363
|
+
)
|
|
363
364
|
|
|
364
365
|
# Construct the AMI parameters string.
|
|
365
366
|
def sexpr(pname: str, pval: Any) -> str:
|
|
@@ -387,7 +388,7 @@ class AMIModel: # pylint: disable=too-many-instance-attributes
|
|
|
387
388
|
self._root_name = root_name # pylint: disable=attribute-defined-outside-init
|
|
388
389
|
ami_params_in = f"({root_name} "
|
|
389
390
|
for item in list(init_object.ami_params.items()):
|
|
390
|
-
if
|
|
391
|
+
if item[0] != "root_name":
|
|
391
392
|
ami_params_in += sexpr(item[0], item[1])
|
|
392
393
|
ami_params_in += ")"
|
|
393
394
|
self._ami_params_in = ami_params_in.encode("utf-8") # pylint: disable=attribute-defined-outside-init
|
|
@@ -424,7 +425,7 @@ class AMIModel: # pylint: disable=too-many-instance-attributes
|
|
|
424
425
|
print(f"&ami_params_out = {byref(self._ami_params_out)}")
|
|
425
426
|
print(f"&ami_mem_handle = {byref(self._ami_mem_handle)}") # type: ignore
|
|
426
427
|
print(f"&msg = {byref(self._msg)}")
|
|
427
|
-
raise
|
|
428
|
+
raise
|
|
428
429
|
|
|
429
430
|
# Initialize attributes used by getWave().
|
|
430
431
|
bit_time = init_object.bit_time
|
|
@@ -441,7 +442,7 @@ class AMIModel: # pylint: disable=too-many-instance-attributes
|
|
|
441
442
|
)
|
|
442
443
|
self._getwave_step_response_out_params = None
|
|
443
444
|
|
|
444
|
-
def getWave(self, wave: Rvec, bits_per_call: int = 0) -> tuple[Rvec, Rvec, list[str]]:
|
|
445
|
+
def getWave(self, wave: Rvec, bits_per_call: int = 0) -> tuple[Rvec, Rvec, list[str]]:
|
|
445
446
|
"""
|
|
446
447
|
Performs time domain processing of input waveform, using the ``AMI_GetWave()`` function.
|
|
447
448
|
|
|
@@ -562,9 +563,8 @@ class AMIModel: # pylint: disable=too-many-instance-attributes
|
|
|
562
563
|
ts = self.sample_interval
|
|
563
564
|
info_params = self._info_params
|
|
564
565
|
ignore_bits = 0
|
|
565
|
-
if info_params:
|
|
566
|
-
|
|
567
|
-
ignore_bits = info_params["Ignore_Bits"].pvalue
|
|
566
|
+
if info_params and "Ignore_Bits" in info_params:
|
|
567
|
+
ignore_bits = info_params["Ignore_Bits"].pvalue
|
|
568
568
|
|
|
569
569
|
# Capture/convert instance variables.
|
|
570
570
|
chnl_imp = np.array(self.channel_response[:self.row_size]) * ts # input (a.k.a. - "channel") impulse response (V/sample)
|
|
@@ -584,7 +584,7 @@ class AMIModel: # pylint: disable=too-many-instance-attributes
|
|
|
584
584
|
):
|
|
585
585
|
pass
|
|
586
586
|
else:
|
|
587
|
-
h_model = deconv_same(out_imp, chnl_imp)
|
|
587
|
+
h_model = deconv_same(out_imp, chnl_imp)
|
|
588
588
|
rslt[IMP_RESP_INIT] = np.roll(h_model, -len(h_model) // 2 + 3 * nspui)
|
|
589
589
|
|
|
590
590
|
h_init = np.roll(out_imp, pad_samps)
|