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 CHANGED
@@ -458,8 +458,7 @@ class TriggerModel:
458
458
  )
459
459
 
460
460
 
461
- if shutil.which("vivado") is not None:
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
- else:
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")
@@ -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
- def _render_template(template_file: str, output_file: Path, context: dict):
8
- with open(template_file, "r") as f:
9
- template_text = f.read()
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(f"{templates_dir}/model-gt.cpp", out_path, context)
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(f"{templates_dir}/build_ugt.tcl", out_path, context_tcl)
117
+ _render_template("templates/build_ugt.tcl", out_path, context_tcl)
115
118
 
116
- shutil.copy(f"{templates_dir}/data_types.h", firmware_dir / "firmware")
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
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=QMU_zuWrYXuZekB7z8Q90Cuaga3B_uuDnYOPthQGdps,22465
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=UBCK0WtF-MUkI9mWrulOdExtDXgwKPsHDS4C-FXIgMs,3637
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.3.dist-info/METADATA,sha256=8FMEii-KeQD1cm7c2ZrpHI-4f-efE9DmrlP4H9VzmxQ,4353
99
- triggerflow-0.2.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
100
- triggerflow-0.2.3.dist-info/entry_points.txt,sha256=5QSV9YDseB_FqgVh9q10BdL4b1I6t68rGwPLXgVL60g,53
101
- triggerflow-0.2.3.dist-info/top_level.txt,sha256=cX0jkuM9tfxGp002ZBQ1AYgx-6D_NgBtomgPL0WA9bE,43
102
- triggerflow-0.2.3.dist-info/RECORD,,
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,,