fprime-gds 3.4.4a1__py3-none-any.whl → 3.4.4a3__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.
Files changed (27) hide show
  1. fprime_gds/common/data_types/event_data.py +6 -1
  2. fprime_gds/common/data_types/exceptions.py +16 -11
  3. fprime_gds/common/loaders/ch_json_loader.py +107 -0
  4. fprime_gds/common/loaders/ch_xml_loader.py +5 -5
  5. fprime_gds/common/loaders/cmd_json_loader.py +85 -0
  6. fprime_gds/common/loaders/dict_loader.py +1 -1
  7. fprime_gds/common/loaders/event_json_loader.py +108 -0
  8. fprime_gds/common/loaders/event_xml_loader.py +10 -6
  9. fprime_gds/common/loaders/json_loader.py +222 -0
  10. fprime_gds/common/loaders/xml_loader.py +31 -9
  11. fprime_gds/common/pipeline/dictionaries.py +38 -3
  12. fprime_gds/common/tools/seqgen.py +4 -4
  13. fprime_gds/common/utils/string_util.py +57 -65
  14. fprime_gds/common/zmq_transport.py +4 -2
  15. fprime_gds/executables/cli.py +21 -39
  16. fprime_gds/executables/comm.py +3 -10
  17. fprime_gds/executables/data_product_writer.py +935 -0
  18. fprime_gds/executables/utils.py +23 -11
  19. fprime_gds/flask/sequence.py +1 -1
  20. fprime_gds/flask/static/addons/commanding/command-input.js +3 -2
  21. {fprime_gds-3.4.4a1.dist-info → fprime_gds-3.4.4a3.dist-info}/METADATA +14 -13
  22. {fprime_gds-3.4.4a1.dist-info → fprime_gds-3.4.4a3.dist-info}/RECORD +27 -22
  23. {fprime_gds-3.4.4a1.dist-info → fprime_gds-3.4.4a3.dist-info}/WHEEL +1 -1
  24. {fprime_gds-3.4.4a1.dist-info → fprime_gds-3.4.4a3.dist-info}/entry_points.txt +2 -3
  25. {fprime_gds-3.4.4a1.dist-info → fprime_gds-3.4.4a3.dist-info}/LICENSE.txt +0 -0
  26. {fprime_gds-3.4.4a1.dist-info → fprime_gds-3.4.4a3.dist-info}/NOTICE.txt +0 -0
  27. {fprime_gds-3.4.4a1.dist-info → fprime_gds-3.4.4a3.dist-info}/top_level.txt +0 -0
@@ -3,6 +3,7 @@ fprime_gds.executables.utils:
3
3
 
4
4
  Utility functions to enable the executables package to function seamlessly.
5
5
  """
6
+
6
7
  import atexit
7
8
  import signal
8
9
  import subprocess
@@ -124,8 +125,9 @@ def run_wrapped_application(arguments, logfile=None, env=None, launch_time=None)
124
125
  )
125
126
  return child
126
127
  except Exception as exc:
127
- msg = f"Failed to run application: {' '.join(arguments)}. Error: {exc}"
128
- raise AppWrapperException(msg)
128
+ argument_strings = [str(argument) for argument in arguments]
129
+ message = f"Failed to run application: {' '.join(argument_strings)}. Error: {exc}"
130
+ raise AppWrapperException(message)
129
131
 
130
132
 
131
133
  def find_settings(path: Path) -> Path:
@@ -147,7 +149,7 @@ def get_artifacts_root() -> Path:
147
149
  except FprimeLocationUnknownException:
148
150
  print(
149
151
  "[ERROR] Not in fprime project and no deployment path provided, unable to find dictionary and/or app",
150
- file=sys.stderr
152
+ file=sys.stderr,
151
153
  )
152
154
  sys.exit(-1)
153
155
  except FprimeSettingsException as e:
@@ -177,7 +179,7 @@ def find_app(root: Path) -> Path:
177
179
  if len(files) > 1:
178
180
  print(
179
181
  f"[ERROR] Multiple app candidates in binary location {bin_dir}. Specify app manually with --app.",
180
- file=sys.stderr
182
+ file=sys.stderr,
181
183
  )
182
184
  sys.exit(-1)
183
185
 
@@ -191,21 +193,31 @@ def find_dict(root: Path) -> Path:
191
193
  print(f"[ERROR] dictionary location {dict_dir} does not exist", file=sys.stderr)
192
194
  sys.exit(-1)
193
195
 
194
- files = [
196
+ xml_dicts = [
195
197
  child
196
198
  for child in dict_dir.iterdir()
197
199
  if child.is_file() and child.name.endswith("Dictionary.xml")
198
200
  ]
201
+ json_dicts = [
202
+ child
203
+ for child in dict_dir.iterdir()
204
+ if child.is_file() and child.name.endswith("Dictionary.json")
205
+ ]
206
+ # Select json dictionary if available, otherwise use xml dictionary
207
+ dicts = json_dicts if json_dicts else xml_dicts
199
208
 
200
- if not files:
201
- print(f"[ERROR] No xml dictionary found in dictionary location {dict_dir}", file=sys.stderr)
209
+ if not dicts:
210
+ print(
211
+ f"[ERROR] No dictionary found in dictionary location {dict_dir}",
212
+ file=sys.stderr,
213
+ )
202
214
  sys.exit(-1)
203
215
 
204
- if len(files) > 1:
216
+ if len(dicts) > 1:
205
217
  print(
206
- f"[ERROR] Multiple xml dictionaries found in dictionary location {dict_dir}. Specify dictionary manually with --dictionary.",
207
- file=sys.stderr
218
+ f"[ERROR] Multiple dictionaries of same type found in dictionary location {dict_dir}. Specify dictionary manually with --dictionary.",
219
+ file=sys.stderr,
208
220
  )
209
221
  sys.exit(-1)
210
222
 
211
- return files[0]
223
+ return dicts[0]
@@ -73,7 +73,7 @@ class SequenceCompiler(flask_restful.Resource):
73
73
  403,
74
74
  message=f"{key} is invalid command key. Supply 0xfeedcafe to run command.",
75
75
  )
76
- elif not re.match(".*\.seq", name) or Path(name).name != name:
76
+ elif not re.match(".*\\.seq", name) or Path(name).name != name:
77
77
  flask_restful.abort(
78
78
  403,
79
79
  message={"error": "Supply filename with .seq suffix", "type": "error"},
@@ -83,7 +83,8 @@ Vue.component("command-input", {
83
83
  this.$root.$refs.command_input = this;
84
84
  },
85
85
  data: function() {
86
- let selected = command_assignment_helper(null, [], "CMD_NO_OP");
86
+ // Select CMD_NO_OP by default if it exists, otherwise select the first command
87
+ let selected = command_assignment_helper("cmdDisp.CMD_NO_OP", [], "CMD_NO_OP");
87
88
  selected = (selected != null)? selected : Object.values(_datastore.commands)[0];
88
89
  return {
89
90
  "commands": _datastore.commands,
@@ -216,7 +217,7 @@ Vue.component("command-input", {
216
217
  * @return {number} -1 or 1
217
218
  */
218
219
  function(obj1, obj2) {
219
- if (obj1.full_name <= obj2.full_name) {
220
+ if (obj1.full_name.toLowerCase() <= obj2.full_name.toLowerCase()) {
220
221
  return -1;
221
222
  }
222
223
  return 1;
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fprime-gds
3
- Version: 3.4.4a1
3
+ Version: 3.4.4a3
4
4
  Summary: F Prime Flight Software Ground Data System layer
5
5
  Author-email: Michael Starch <Michael.D.Starch@jpl.nasa.gov>, Thomas Boyer-Chammard <Thomas.Boyer.Chammard@jpl.nasa.gov>
6
6
  License:
@@ -228,17 +228,18 @@ Requires-Python: >=3.8
228
228
  Description-Content-Type: text/markdown
229
229
  License-File: LICENSE.txt
230
230
  License-File: NOTICE.txt
231
- Requires-Dist: flask >=3.0.0
232
- Requires-Dist: flask-compress >=1.11
233
- Requires-Dist: pyzmq >=24.0.1
234
- Requires-Dist: pexpect >=4.8.0
235
- Requires-Dist: pytest >=6.2.4
236
- Requires-Dist: flask-restful >=0.3.8
237
- Requires-Dist: fprime-tools >=3.4.3
238
- Requires-Dist: argcomplete >=1.12.3
239
- Requires-Dist: Jinja2 >=2.11.3
240
- Requires-Dist: openpyxl >=3.0.10
241
- Requires-Dist: pyserial >=3.5
231
+ Requires-Dist: flask>=3.0.0
232
+ Requires-Dist: flask-compress>=1.11
233
+ Requires-Dist: pyzmq>=24.0.1
234
+ Requires-Dist: pexpect>=4.8.0
235
+ Requires-Dist: pytest>=6.2.4
236
+ Requires-Dist: flask-restful>=0.3.8
237
+ Requires-Dist: fprime-tools>=3.4.3
238
+ Requires-Dist: argcomplete>=1.12.3
239
+ Requires-Dist: Jinja2>=2.11.3
240
+ Requires-Dist: openpyxl>=3.0.10
241
+ Requires-Dist: pyserial>=3.5
242
+ Requires-Dist: pydantic>=2.6
242
243
 
243
244
  # F´ GDS
244
245
 
@@ -267,7 +268,7 @@ output data type included. Command data objects are created in the command panel
267
268
  the command encoder registered to that panel. Encoders take a data object and turn it into binary
268
269
  data that can be sent to the F´ deployment. The binary data is then passed to the TCP client
269
270
  which is registered to the encoder. Finally, the TCP client send the data back to the TCP server and
270
- the F´ deployment. ![The layout of the GDS](https://github.com/nasa/fprime/blob/master/docs/UsersGuide/media/gds_layout.jpg)
271
+ the F´ deployment. ![The layout of the GDS](https://github.com/nasa/fprime/blob/devel/docs/UsersGuide/media/gds_layout.jpg)
271
272
 
272
273
  All of these objects are created and registered to other objects when the GDS
273
274
  is initialized. Thus, all of the structure of the GDS is created in one place,
@@ -4,7 +4,7 @@ fprime_gds/version.py,sha256=dlUlfOKTsGaqz_L7TjhCVC-Vanx5cK67kdZlqcHCM8M,395
4
4
  fprime_gds/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  fprime_gds/common/handlers.py,sha256=t2-st-C3Z486kfcu2cpf-wHJQmpaaHQYj1dyXJEMmSU,2632
6
6
  fprime_gds/common/transport.py,sha256=y9HiupzsCRF5_JFMMtMWQxcEYPvPuxX1P_oBeqosKR0,10565
7
- fprime_gds/common/zmq_transport.py,sha256=Wb9IFFyp89S6y2okYavmVygOSqg7IJMbBoyBOR4iIrg,12291
7
+ fprime_gds/common/zmq_transport.py,sha256=E_iBZ5sA4JKB99MWSOM6XnPrO-mbFyRvD9eQp9te6-Y,12397
8
8
  fprime_gds/common/communication/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  fprime_gds/common/communication/checksum.py,sha256=f6W0Tr68U-XGnFmysMqsFzoGYZVE8clKf-VIJja_1YM,741
10
10
  fprime_gds/common/communication/framing.py,sha256=TPpVn5JfGJxdc9BuKJzm5LXo6OQKtkSqX695UdN-Ezk,12915
@@ -18,8 +18,8 @@ fprime_gds/common/controllers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5N
18
18
  fprime_gds/common/data_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  fprime_gds/common/data_types/ch_data.py,sha256=RP9zSyzNcH0nJ3MYyW_IATnmnHYZ6d0KmoJUJantdBI,6111
20
20
  fprime_gds/common/data_types/cmd_data.py,sha256=nC6qhtBvqSgEueDn075XA_3dAwjnPHpLwhElhdMG4QQ,7080
21
- fprime_gds/common/data_types/event_data.py,sha256=cXCb_pKfXVbbEDqS6ewYrGYnYFxGM6VuYednv7RkJsQ,5283
22
- fprime_gds/common/data_types/exceptions.py,sha256=vX6dBOtes7qE3wfsUW9L0aOZK_Yu10Xd2zZYaguBb9E,1091
21
+ fprime_gds/common/data_types/event_data.py,sha256=7_vA6Xwvs9kK1-xJzc6lwO_TtUeWdI7p29B6QJNMc40,5372
22
+ fprime_gds/common/data_types/exceptions.py,sha256=C16L2lofigH8UmnsYO_fuY6yR20U-ckRcl14HZjQlJc,1054
23
23
  fprime_gds/common/data_types/file_data.py,sha256=4_G9kf4ThC5NzkxnKa0xNYBdi8UDvZg8f5Vw0DdGIBE,3904
24
24
  fprime_gds/common/data_types/pkt_data.py,sha256=cxqUnsPte0ijF1E8F1_uglVKIJFAIQbpoBlmwRjMrJY,3405
25
25
  fprime_gds/common/data_types/sys_data.py,sha256=Xfk5xryFg7zWS3VcGUDx9lQYBTajjWXvwkgFK5EUCG4,2095
@@ -57,16 +57,20 @@ fprime_gds/common/history/history.py,sha256=LbdMzlbZ2AGt5I76DqgQWU852Jg0946hVGc6
57
57
  fprime_gds/common/history/ram.py,sha256=ELNlyC6SmQJ-ZKD1NRi4H892tt1ppDNfz7R2c0UFCbQ,5797
58
58
  fprime_gds/common/history/test.py,sha256=JMOlXPYtS9OTT1xb0GKn2YLI-0ESElbhvhb8usFatz0,5048
59
59
  fprime_gds/common/loaders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
+ fprime_gds/common/loaders/ch_json_loader.py,sha256=YF0nkDTlEJVZVTBWnjID8HFj8W9yq-hV2CkiyayCuhE,4079
60
61
  fprime_gds/common/loaders/ch_py_loader.py,sha256=NKJV03k9jOUB9vELVSXyCorIiUwbGx-MlatwOPsUAP8,2688
61
- fprime_gds/common/loaders/ch_xml_loader.py,sha256=44NHoay08YY-fArRKsQFVHYGtLbkbCyRPpUWQw-qQ8c,4068
62
+ fprime_gds/common/loaders/ch_xml_loader.py,sha256=wRXAC3GkUShvKtb89O5tY92BtKWOFYoJ7loOF7aL5v8,4093
63
+ fprime_gds/common/loaders/cmd_json_loader.py,sha256=wcwAaalRHXntAb9m0EvX-fXNCj_ruITzItOvKKhXsGQ,3059
62
64
  fprime_gds/common/loaders/cmd_py_loader.py,sha256=6d_vMP0Vbpg2fnnV4qUtkC-WzlYkVm5kvTUABH-zp4E,2252
63
65
  fprime_gds/common/loaders/cmd_xml_loader.py,sha256=X-fCzLt1aCjqsDu-Exy2gSYDnh_TYi5rDnRpYT7tCZQ,2391
64
- fprime_gds/common/loaders/dict_loader.py,sha256=Qb8gUVKQaPupdsv14leAHH0nBc26YoQewROFkzXxNfw,3992
66
+ fprime_gds/common/loaders/dict_loader.py,sha256=TasuICjsRYPWAsgmHGmsioxa8F7xmgAj9_UplzczylA,3990
67
+ fprime_gds/common/loaders/event_json_loader.py,sha256=DPVJQ1wIY3r13rxTWrE9n7i6kSAF5m4jB-XRsxaRaDA,3572
65
68
  fprime_gds/common/loaders/event_py_loader.py,sha256=m4KlDl0mXn8ZQr-IfpUg0KaGIOJUErZkcIohlW9jNPc,2598
66
- fprime_gds/common/loaders/event_xml_loader.py,sha256=DXyriGpGiuzG1a5Eyb8PLH3x7X1-hNxiIpY_yC3UPgQ,2790
69
+ fprime_gds/common/loaders/event_xml_loader.py,sha256=Q3Vm7ROTVgolSp5umkNMp0Eh95sir6ZAyAegrSjkiis,2875
70
+ fprime_gds/common/loaders/json_loader.py,sha256=afD873WyIsbzWTz4SzydLfAKD2yFirj-l79xb4g_TBk,8051
67
71
  fprime_gds/common/loaders/pkt_xml_loader.py,sha256=ZS4qchqQnIBx0Tw69ehP8yqm1g_uYSQzmnijR3FxqJg,4795
68
72
  fprime_gds/common/loaders/python_loader.py,sha256=FUNQbFy75bpqvss1JDu2UWZBMrtnMpFegM6mcglh42I,4858
69
- fprime_gds/common/loaders/xml_loader.py,sha256=QqNYFjxLB7mmj-9rsqKHB1QunC-dcj1cBHrvhhZvakw,14121
73
+ fprime_gds/common/loaders/xml_loader.py,sha256=8AlTTHddJbJqUr6St-zJI8CTqoPuCNtNoRBmdwCorcg,14820
70
74
  fprime_gds/common/logger/__init__.py,sha256=YBrr9An0fZbp4kvphRl8nLfolkdBqFAsSGzEZXQiH6g,1448
71
75
  fprime_gds/common/logger/data_logger.py,sha256=VjfhTGO1gGw954xNhSc0_zpw8JexCho5f8BlXDEYkL4,2505
72
76
  fprime_gds/common/logger/test_logger.py,sha256=wL8Lq49sVmxGRALgv-ei6AnXFh79qlHFehmKJ1A8X28,6475
@@ -78,7 +82,7 @@ fprime_gds/common/models/common/event.py,sha256=gSFrCJT9ZddGJfkf3fGCCqk0aMIQV-SN
78
82
  fprime_gds/common/parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
83
  fprime_gds/common/parsers/seq_file_parser.py,sha256=6DZrA0jmt8IqsutfK7pdLtYn4oVHO593rWgAOH63yRg,9587
80
84
  fprime_gds/common/pipeline/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
- fprime_gds/common/pipeline/dictionaries.py,sha256=yWt-Q4bFGbP7yQoZGZzqLFVDnCY371TQFxZj4hSYGH0,5576
85
+ fprime_gds/common/pipeline/dictionaries.py,sha256=j2vPt6P-jPzjlGOfEPwLrkPfQe-QhbjdjL91q4r_w38,7149
82
86
  fprime_gds/common/pipeline/encoding.py,sha256=rMCBoZOrnLctl4QNlbMro_QiCQ4sapWjtcoFGfvO-WM,6631
83
87
  fprime_gds/common/pipeline/files.py,sha256=J2zm0sucvImtmSnv0iUp5uTpvUO8nlmz2lUdMuMC5aM,2244
84
88
  fprime_gds/common/pipeline/histories.py,sha256=P1TN6mFOe9f5cZ_a-vCDN9o94vM7ax9n6fQogfUCce0,3548
@@ -95,20 +99,21 @@ fprime_gds/common/testing_fw/api.py,sha256=6rdgh6M0NkRVy69EeDh4z343Bjxp2CtBLj0b8
95
99
  fprime_gds/common/testing_fw/predicates.py,sha256=CsHsVs_EVXCLQLd2NVOvy8MxmUQVxLMr3i1ouEUqOtQ,18371
96
100
  fprime_gds/common/testing_fw/pytest_integration.py,sha256=FjbbsfLyScb9w4zypcQgahmNMgmh4yXwryfy9h2eaBY,4667
97
101
  fprime_gds/common/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
98
- fprime_gds/common/tools/seqgen.py,sha256=kez0TRuLwfj4wTGYWxHMWLogKylbc-BVqwNs7ITFmtU,6014
102
+ fprime_gds/common/tools/seqgen.py,sha256=O57igktjWku5OJhBqezhCjPYUmh4GZM-9qKCChqEW7g,6034
99
103
  fprime_gds/common/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
104
  fprime_gds/common/utils/config_manager.py,sha256=fUduhY8COLU04OtxOco4etRgFs0rMdXyLg6GU4OF6F0,5494
101
105
  fprime_gds/common/utils/data_desc_type.py,sha256=9GV8hV5q1dDxdfF-1-Wty5MBrFd94EbZ8hpHHkBJKuo,715
102
106
  fprime_gds/common/utils/event_severity.py,sha256=7qPXHrDaM_REJ7sKBUEJTZIE0D4qVnVajsPDUuHg7sI,300
103
- fprime_gds/common/utils/string_util.py,sha256=jqut5Dd0EjvTHMci1mvs_8KQ1Nq-38xZofeaaSoiJEY,3985
107
+ fprime_gds/common/utils/string_util.py,sha256=u_2iahRG3ROu3lAAt_KVcK226gEByElXqrA8mH8eDpI,3584
104
108
  fprime_gds/executables/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
109
  fprime_gds/executables/apps.py,sha256=h2acqdOyMgv77IMEQUc41QcwAZ-_DToX6sZplCk17Zg,6543
106
- fprime_gds/executables/cli.py,sha256=bitIny2JYApMVuu3G4adnxB9iI-pieDaXAWJjNcHcLo,36942
107
- fprime_gds/executables/comm.py,sha256=KMoAtcUdE_KOFg4DynHCCCc3rfIiedjexx_FP6oN77s,5259
110
+ fprime_gds/executables/cli.py,sha256=QYtueh38hhPBGVk6IY2cINZn8MtXGin2MNGj-ilWXwQ,36396
111
+ fprime_gds/executables/comm.py,sha256=sRCvj02aKP2jvx9AqgDXDF3nfw9OOCgF1ocvfcEYVN8,5032
112
+ fprime_gds/executables/data_product_writer.py,sha256=aXnQ75hQ8bapz-sr21mrPCrXIfqQblfBuB49GGZrFLg,34965
108
113
  fprime_gds/executables/fprime_cli.py,sha256=GvvuUQuoDGBrqQB867bDjUR3Kn5yPUckAY2rdfTa8jo,12432
109
114
  fprime_gds/executables/run_deployment.py,sha256=01tI0JVONRkKaPPdfJS0Qt1mWm_7Wgf3N9iknozXmYc,7043
110
115
  fprime_gds/executables/tcpserver.py,sha256=KspVpu5YIuiWKOk5E6UDMKvqXYrRB1j9aX8CkMxysfw,17555
111
- fprime_gds/executables/utils.py,sha256=cBCFOpQthjxohWZmsdAQL1Y_lFYw73SQ-ANDjUoe33w,7221
116
+ fprime_gds/executables/utils.py,sha256=SbzXRe1p41qMPdifvPap5_4v0T42gZZ_Rs_OYfITd80,7626
112
117
  fprime_gds/flask/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
113
118
  fprime_gds/flask/app.py,sha256=kJDCziri_BwZWKUszkR7u3RaNG_FWRzDkdCPsVDAtYM,6720
114
119
  fprime_gds/flask/channels.py,sha256=sOeL-UmWPh2hqYvqj81STpABLlPcjdPgkRwjd3Qx77k,735
@@ -121,7 +126,7 @@ fprime_gds/flask/json.py,sha256=PBljX3afJzyE_04DvZS4OEFOQW_ldVmfWiTYfxPZiGo,5888
121
126
  fprime_gds/flask/logs.py,sha256=CzHkXtv7_UG2b1c_z_cGIw-jJT088Sb7DggEB3c9D8U,1571
122
127
  fprime_gds/flask/requirements.txt,sha256=K6y8h0MJ66Zq9Pz2ZIR721wV0EX1mYDfom2gmBobxb4,20
123
128
  fprime_gds/flask/resource.py,sha256=h_zYGODshaInGQi2EpfU5ScDsQCR1RwqS8f7DzyuIOI,4131
124
- fprime_gds/flask/sequence.py,sha256=P4yhxiM4dQxwCcAo9dT4J6bogxkBhWapqLxeaHurBBA,3553
129
+ fprime_gds/flask/sequence.py,sha256=1FfOFIUdWFX1qXjONAWm1vklPbyhkBYkuPow8RBt-yk,3554
125
130
  fprime_gds/flask/stats.py,sha256=i62envu9V6WpNsRD_mlhwzB_2dGUOCTf1XpyC5HApzg,1177
126
131
  fprime_gds/flask/updown.py,sha256=7za_zgOwQKHgm-3W1OBZqBgDLCmj7c0ziFEduhEuqdU,6176
127
132
  fprime_gds/flask/static/favicon.ico,sha256=pwqBRx64V_wyrrXgXsBXPWWUmwqanuWAfesMpFfV1E4,15406
@@ -153,7 +158,7 @@ fprime_gds/flask/static/addons/commanding/arguments.js,sha256=_pcoHumf8qJhw-qfAz
153
158
  fprime_gds/flask/static/addons/commanding/command-history-template.js,sha256=2ak2B9eio3PLq6Bnie8iEsQN3HDJYokl0usMMP1D6lE,753
154
159
  fprime_gds/flask/static/addons/commanding/command-history.js,sha256=iVyMFP_GkqxiMAkK_U2JeTqo96Q-nTghO8eKo3NFXQ0,4816
155
160
  fprime_gds/flask/static/addons/commanding/command-input-template.js,sha256=Z3fHmPTaAnXDhHMu07bRMBse6wjJSexAStgV9pSeh8Q,2959
156
- fprime_gds/flask/static/addons/commanding/command-input.js,sha256=l2sSqZbhLjrLdMGDdm1YPNTR1JCpXhR79A8exfcwHco,8842
161
+ fprime_gds/flask/static/addons/commanding/command-input.js,sha256=utcmiLCkzU-CsBvBZsV32_UvKPVTuIOCafHsm3o2104,8973
157
162
  fprime_gds/flask/static/addons/commanding/command-string-template.js,sha256=7Mq4BPcAS57WoyF9aAMdKLtMFN4DLbQVTAQ8YUQEITI,743
158
163
  fprime_gds/flask/static/addons/commanding/command-string.js,sha256=q3ThUW45RHDE1gnKPxz44LOJgxXD24YTrYYlvBSfXrA,2553
159
164
  fprime_gds/flask/static/addons/dictionary/addon-templates.js,sha256=19hYvx_Gf8B5j4po0YKeQrhS2UbUIBAEfqgbDGE2peE,950
@@ -222,10 +227,10 @@ fprime_gds/flask/static/third-party/webfonts/fa-solid-900.woff2,sha256=mDS4KtJuK
222
227
  fprime_gds/plugin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
223
228
  fprime_gds/plugin/definitions.py,sha256=5rHGSOrr62qRNVfX9bZIo4HDAKG62lKteNum9G40y3g,2347
224
229
  fprime_gds/plugin/system.py,sha256=uWd6DVW90Re0FoNMPNCx0cXXTJUdpgAAO0mtakzRNgk,8564
225
- fprime_gds-3.4.4a1.dist-info/LICENSE.txt,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
226
- fprime_gds-3.4.4a1.dist-info/METADATA,sha256=TiKl7YCs8sVBbCDBfQm6EK67tFvTtfH3f_hl3ewZ-tY,24755
227
- fprime_gds-3.4.4a1.dist-info/NOTICE.txt,sha256=vXjA_xRcQhd83Vfk5D_vXg5kOjnnXvLuMi5vFKDEVmg,1612
228
- fprime_gds-3.4.4a1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
229
- fprime_gds-3.4.4a1.dist-info/entry_points.txt,sha256=UisSXL905z4YEjwd7c-I2o6ZKmOw1xDDdO1mN0VPu6c,271
230
- fprime_gds-3.4.4a1.dist-info/top_level.txt,sha256=6vzFLIX6ANfavKaXFHDMSLFtS94a6FaAsIWhjgYuSNE,27
231
- fprime_gds-3.4.4a1.dist-info/RECORD,,
230
+ fprime_gds-3.4.4a3.dist-info/LICENSE.txt,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
231
+ fprime_gds-3.4.4a3.dist-info/METADATA,sha256=d-rbGI3M6Pb8JKJKRdZf-9tHKXydQj-390xk3n3mn_Y,24772
232
+ fprime_gds-3.4.4a3.dist-info/NOTICE.txt,sha256=vXjA_xRcQhd83Vfk5D_vXg5kOjnnXvLuMi5vFKDEVmg,1612
233
+ fprime_gds-3.4.4a3.dist-info/WHEEL,sha256=Mdi9PDNwEZptOjTlUcAth7XJDFtKrHYaQMPulZeBCiQ,91
234
+ fprime_gds-3.4.4a3.dist-info/entry_points.txt,sha256=oqUiO3xhJCR943jdU3zcxbqEvSXNeVgshk7dVaf_nGY,322
235
+ fprime_gds-3.4.4a3.dist-info/top_level.txt,sha256=6vzFLIX6ANfavKaXFHDMSLFtS94a6FaAsIWhjgYuSNE,27
236
+ fprime_gds-3.4.4a3.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: setuptools (73.0.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,9 +1,8 @@
1
1
  [console_scripts]
2
2
  fprime-cli = fprime_gds.executables.fprime_cli:main
3
- fprime-seqgen = fprime_gds.common.tools.seqgen:main
4
-
5
- [gui_scripts]
3
+ fprime-dp-write = fprime_gds.executables.data_product_writer:main
6
4
  fprime-gds = fprime_gds.executables.run_deployment:main
5
+ fprime-seqgen = fprime_gds.common.tools.seqgen:main
7
6
 
8
7
  [pytest11]
9
8
  fprime_test_api = fprime_gds.common.testing_fw.pytest_integration