triggerflow 0.2.3__py3-none-any.whl → 0.2.5__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.
- triggerflow/core.py +2 -8
- triggerflow/interfaces/uGT.py +25 -13
- {triggerflow-0.2.3.dist-info → triggerflow-0.2.5.dist-info}/METADATA +27 -1
- {triggerflow-0.2.3.dist-info → triggerflow-0.2.5.dist-info}/RECORD +7 -7
- {triggerflow-0.2.3.dist-info → triggerflow-0.2.5.dist-info}/WHEEL +0 -0
- {triggerflow-0.2.3.dist-info → triggerflow-0.2.5.dist-info}/entry_points.txt +0 -0
- {triggerflow-0.2.3.dist-info → triggerflow-0.2.5.dist-info}/top_level.txt +0 -0
triggerflow/core.py
CHANGED
|
@@ -458,8 +458,7 @@ class TriggerModel:
|
|
|
458
458
|
)
|
|
459
459
|
|
|
460
460
|
|
|
461
|
-
|
|
462
|
-
build_ugt_model(
|
|
461
|
+
build_ugt_model(
|
|
463
462
|
templates_dir=self.subsystem_cfg.get("templates_dir", Path("templates")),
|
|
464
463
|
firmware_dir=self.workspace_manager.workspace / "firmware",
|
|
465
464
|
compiler = self.compiler,
|
|
@@ -478,12 +477,7 @@ class TriggerModel:
|
|
|
478
477
|
object_features=self.subsystem_cfg.get("object_features"),
|
|
479
478
|
global_features=self.subsystem_cfg.get("global_features")
|
|
480
479
|
)
|
|
481
|
-
|
|
482
|
-
warnings.warn(
|
|
483
|
-
"Vivado executable not found on the system PATH. "
|
|
484
|
-
"Skipping FW build. ",
|
|
485
|
-
UserWarning
|
|
486
|
-
)
|
|
480
|
+
|
|
487
481
|
|
|
488
482
|
|
|
489
483
|
self.workspace_manager.add_artifact("firmware", self.workspace_manager.workspace / "firmware")
|
triggerflow/interfaces/uGT.py
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
from pathlib import Path
|
|
2
|
-
import shutil
|
|
2
|
+
import shutil, warnings
|
|
3
3
|
import pkg_resources
|
|
4
4
|
from jinja2 import Template
|
|
5
5
|
import re
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
|
|
8
|
+
def _render_template(template_name: str, output_file: Path, context: dict):
|
|
9
|
+
template_bytes = pkg_resources.resource_string(
|
|
10
|
+
"triggerflow" , template_name
|
|
11
|
+
)
|
|
12
|
+
template_text = template_bytes.decode('utf-8')
|
|
10
13
|
|
|
11
14
|
template = Template(template_text)
|
|
12
15
|
rendered = template.render(**context)
|
|
@@ -108,20 +111,29 @@ def build_ugt_model(
|
|
|
108
111
|
|
|
109
112
|
out_path = firmware_dir / "firmware/model-gt.cpp"
|
|
110
113
|
|
|
111
|
-
_render_template(
|
|
114
|
+
_render_template("templates/model-gt.cpp", out_path, context)
|
|
112
115
|
|
|
113
116
|
out_path = firmware_dir / "firmware/build_ugt.tcl"
|
|
114
|
-
_render_template(
|
|
117
|
+
_render_template("templates/build_ugt.tcl", out_path, context_tcl)
|
|
115
118
|
|
|
116
|
-
shutil.copy(
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
subprocess.run(
|
|
120
|
-
["vitis_hls", "-f", "build_ugt.tcl"],
|
|
121
|
-
cwd=firmware_dir/"firmware",
|
|
122
|
-
check=True
|
|
119
|
+
shutil.copy(
|
|
120
|
+
pkg_resources.resource_filename("triggerflow", "templates/data_types.h"),
|
|
121
|
+
firmware_dir / "firmware"
|
|
123
122
|
)
|
|
124
123
|
|
|
124
|
+
if shutil.which("vivado") is not None:
|
|
125
|
+
subprocess.run(
|
|
126
|
+
["vitis_hls", "-f", "build_ugt.tcl"],
|
|
127
|
+
cwd=firmware_dir/"firmware",
|
|
128
|
+
check=True
|
|
129
|
+
)
|
|
130
|
+
else:
|
|
131
|
+
warnings.warn(
|
|
132
|
+
"Vivado executable not found on the system PATH. "
|
|
133
|
+
"Skipping FW build. ",
|
|
134
|
+
UserWarning
|
|
135
|
+
)
|
|
136
|
+
|
|
125
137
|
|
|
126
138
|
|
|
127
139
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: triggerflow
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.5
|
|
4
4
|
Summary: Utilities for ML models targeting hardware triggers
|
|
5
5
|
Classifier: Programming Language :: Python :: 3
|
|
6
6
|
Classifier: License :: OSI Approved :: MIT License
|
|
@@ -17,6 +17,32 @@ Requires-Dist: pytest-cov~=3.0; extra == "dev"
|
|
|
17
17
|
Requires-Dist: pytest-mock<2.0,>=1.7.1; extra == "dev"
|
|
18
18
|
Requires-Dist: pytest~=7.2; extra == "dev"
|
|
19
19
|
Requires-Dist: ruff~=0.1.8; extra == "dev"
|
|
20
|
+
Provides-Extra: extended
|
|
21
|
+
Requires-Dist: coffea; extra == "extended"
|
|
22
|
+
Requires-Dist: dask; extra == "extended"
|
|
23
|
+
Requires-Dist: pyarrow; extra == "extended"
|
|
24
|
+
Requires-Dist: pandas==2.0.3; extra == "extended"
|
|
25
|
+
Requires-Dist: uproot4==4.0.0; extra == "extended"
|
|
26
|
+
Requires-Dist: pyarrow==17.0.0; extra == "extended"
|
|
27
|
+
Requires-Dist: hist==2.7.3; extra == "extended"
|
|
28
|
+
Requires-Dist: mlflow==2.21.0; extra == "extended"
|
|
29
|
+
Requires-Dist: tensorflow==2.13.0; extra == "extended"
|
|
30
|
+
Requires-Dist: QKeras==0.9.0; extra == "extended"
|
|
31
|
+
Requires-Dist: keras==2.13.1; extra == "extended"
|
|
32
|
+
Requires-Dist: numpy; extra == "extended"
|
|
33
|
+
Requires-Dist: pyparsing; extra == "extended"
|
|
34
|
+
Requires-Dist: PyYAML; extra == "extended"
|
|
35
|
+
Requires-Dist: matplotlib; extra == "extended"
|
|
36
|
+
Requires-Dist: mplhep; extra == "extended"
|
|
37
|
+
Requires-Dist: h5py; extra == "extended"
|
|
38
|
+
Requires-Dist: xxhash; extra == "extended"
|
|
39
|
+
Requires-Dist: shap; extra == "extended"
|
|
40
|
+
Requires-Dist: awkward-pandas; extra == "extended"
|
|
41
|
+
Requires-Dist: qonnx==0.4.0; extra == "extended"
|
|
42
|
+
Requires-Dist: tf_keras; extra == "extended"
|
|
43
|
+
Requires-Dist: tf2onnx; extra == "extended"
|
|
44
|
+
Requires-Dist: hls4ml; extra == "extended"
|
|
45
|
+
Requires-Dist: conifer; extra == "extended"
|
|
20
46
|
|
|
21
47
|
# Machine Learning for Hardware Triggers
|
|
22
48
|
|
|
@@ -6,10 +6,10 @@ trigger_loader/loader.py,sha256=wMkeZ3k36wpxt-B8OpKOa6j7z0-fnJUqQ-5AbVjNpBM,5158
|
|
|
6
6
|
trigger_loader/processor.py,sha256=cvBfYmvcr4FLzOHgGE50oy7EkFzFaV80Z_66amqfsEY,7724
|
|
7
7
|
triggerflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
8
|
triggerflow/cli.py,sha256=ZNQb3XQN8Ir6Hp6KX_ugec9bm2kqxLNZ0KdVGJmnqFA,4498
|
|
9
|
-
triggerflow/core.py,sha256=
|
|
9
|
+
triggerflow/core.py,sha256=WlIYCKzd2NQJlr8Rw2t9zFvvNPZUlWMEIgkU-ov2E3E,22228
|
|
10
10
|
triggerflow/mlflow_wrapper.py,sha256=yCaIS-H7oC2KxnExj24ka9ylF4A1wgzRIpc7Y43ervI,10667
|
|
11
11
|
triggerflow/interfaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
-
triggerflow/interfaces/uGT.py,sha256=
|
|
12
|
+
triggerflow/interfaces/uGT.py,sha256=aPIYorMrISie1-BSUr-ywWF5AvHruGhGx4ibg21sCMs,4014
|
|
13
13
|
triggerflow/starter/.gitignore,sha256=tH2z_M-tPM9MLWC2wPz1Z43Dq-wdVmb_kVYtrLT3tN4,2052
|
|
14
14
|
triggerflow/starter/README.md,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
15
|
triggerflow/starter/cookiecutter.json,sha256=neplzXvVe3g6OVqYD8M2olfmjRKNr1UKqmflzP3j1UY,259
|
|
@@ -95,8 +95,8 @@ triggerflow/templates/makefile_version,sha256=6kFc_u2oiM9l2rH7RK_BLzdZu1ZEK8PQTQ
|
|
|
95
95
|
triggerflow/templates/model-gt.cpp,sha256=qZwuTtsvrKB_mOB-HDb2uOD7mDo4-20EjFiQzRjMdPo,2969
|
|
96
96
|
triggerflow/templates/model_template.cpp,sha256=jMNRcO7NgC6I9Wd2BV3Bim-P1qPsAl_oeVQ8KofQGEw,1807
|
|
97
97
|
triggerflow/templates/scales.h,sha256=MFcB5S0DEvfzHuUhyZqILR0O4ktugOG-fLnuCDUUewM,373
|
|
98
|
-
triggerflow-0.2.
|
|
99
|
-
triggerflow-0.2.
|
|
100
|
-
triggerflow-0.2.
|
|
101
|
-
triggerflow-0.2.
|
|
102
|
-
triggerflow-0.2.
|
|
98
|
+
triggerflow-0.2.5.dist-info/METADATA,sha256=_psSoh10cZrBvYTjQIKQVw8m4VohIVsjdxlN1MYQazY,5535
|
|
99
|
+
triggerflow-0.2.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
100
|
+
triggerflow-0.2.5.dist-info/entry_points.txt,sha256=5QSV9YDseB_FqgVh9q10BdL4b1I6t68rGwPLXgVL60g,53
|
|
101
|
+
triggerflow-0.2.5.dist-info/top_level.txt,sha256=cX0jkuM9tfxGp002ZBQ1AYgx-6D_NgBtomgPL0WA9bE,43
|
|
102
|
+
triggerflow-0.2.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|