math-spec-mapping 0.3.8__py3-none-any.whl → 0.3.9.1__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- math_spec_mapping/Classes/BoundaryAction.py +0 -1
- math_spec_mapping/Classes/ControlAction.py +0 -1
- math_spec_mapping/Convenience/starter.py +20 -0
- math_spec_mapping/Load/boundary_actions.py +1 -0
- math_spec_mapping/Load/control_actions.py +1 -0
- math_spec_mapping/Load/stateful_metrics.py +7 -7
- math_spec_mapping/Reports/__init__.py +6 -0
- math_spec_mapping/Reports/html.py +10 -1
- math_spec_mapping/Reports/parameters.py +35 -0
- math_spec_mapping/Reports/state.py +28 -2
- math_spec_mapping/__init__.py +4 -0
- {math_spec_mapping-0.3.8.dist-info → math_spec_mapping-0.3.9.1.dist-info}/METADATA +1 -1
- {math_spec_mapping-0.3.8.dist-info → math_spec_mapping-0.3.9.1.dist-info}/RECORD +16 -16
- {math_spec_mapping-0.3.8.dist-info → math_spec_mapping-0.3.9.1.dist-info}/WHEEL +1 -1
- {math_spec_mapping-0.3.8.dist-info → math_spec_mapping-0.3.9.1.dist-info}/LICENSE +0 -0
- {math_spec_mapping-0.3.8.dist-info → math_spec_mapping-0.3.9.1.dist-info}/top_level.txt +0 -0
@@ -86,6 +86,8 @@ def remove_dummy_repo_components(path):
|
|
86
86
|
contents = contents.replace("from .Dummy import dummy_mechanisms\n", "")
|
87
87
|
contents = contents.replace("mechanism.extend(dummy_mechanisms)\n", "")
|
88
88
|
contents = contents.replace("mechanism.extend(dummy_mechanisms)", "")
|
89
|
+
contents = contents.replace("mechanisms.extend(dummy_mechanisms)\n", "")
|
90
|
+
contents = contents.replace("mechanisms.extend(dummy_mechanisms)", "")
|
89
91
|
with open(path2 + "/__init__.py", "w") as f:
|
90
92
|
f.write(contents)
|
91
93
|
|
@@ -115,6 +117,15 @@ def remove_dummy_repo_components(path):
|
|
115
117
|
"from .Dummy import dummy_boundary_action, dummy_boundary_action2\n",
|
116
118
|
"",
|
117
119
|
)
|
120
|
+
contents = contents.replace(
|
121
|
+
"from .Dummy import dummy_boundary_actions\n",
|
122
|
+
"",
|
123
|
+
)
|
124
|
+
|
125
|
+
contents = contents.replace(
|
126
|
+
"boundary_actions.extend(dummy_boundary_actions)",
|
127
|
+
"",
|
128
|
+
)
|
118
129
|
|
119
130
|
contents = contents.replace("dummy_boundary_action2,\n", "")
|
120
131
|
contents = contents.replace("dummy_boundary_action2,", "")
|
@@ -137,6 +148,13 @@ def remove_dummy_repo_components(path):
|
|
137
148
|
contents = contents.replace(
|
138
149
|
"from .Dummy import dummy_control_action\n", ""
|
139
150
|
)
|
151
|
+
contents = contents.replace(
|
152
|
+
"from .Dummy import dummy_control_actions\n", ""
|
153
|
+
)
|
154
|
+
contents = contents.replace(
|
155
|
+
"control_actions.extend(dummy_control_actions)", ""
|
156
|
+
)
|
157
|
+
|
140
158
|
contents = contents.replace("dummy_control_action,\n", "")
|
141
159
|
contents = contents.replace("dummy_control_action,", "")
|
142
160
|
contents = contents.replace("dummy_control_action", "")
|
@@ -214,6 +232,8 @@ def remove_dummy_repo_components(path):
|
|
214
232
|
contents = contents.replace(
|
215
233
|
"from .Dummy import DummyCompoundType, DummyType1, DummyType2\n", ""
|
216
234
|
)
|
235
|
+
contents = contents.replace("from .Dummy import dummy_types\n", "")
|
236
|
+
contents = contents.replace("types.extend(dummy_types)", "")
|
217
237
|
contents = contents.replace(
|
218
238
|
""" DummyType1,
|
219
239
|
DummyType2,
|
@@ -59,6 +59,7 @@ def convert_boundary_action(data: Dict, ms: Dict) -> BoundaryAction:
|
|
59
59
|
data["called_by"] = [ms["Entities"][x] for x in data["called_by"]]
|
60
60
|
|
61
61
|
data["codomain"] = tuple(ms["Spaces"][x] for x in data["codomain"])
|
62
|
+
data["domain"] = (ms["Spaces"]["Empty Space"],)
|
62
63
|
|
63
64
|
# Build the boundary action object
|
64
65
|
return BoundaryAction(data)
|
@@ -49,6 +49,7 @@ def convert_control_action(data: Dict, ms: Dict) -> ControlAction:
|
|
49
49
|
data["control_action_options"] = new_cao
|
50
50
|
|
51
51
|
data["codomain"] = tuple(ms["Spaces"][x] for x in data["codomain"])
|
52
|
+
data["domain"] = (ms["Spaces"]["Empty Space"],)
|
52
53
|
|
53
54
|
# Build the control action object
|
54
55
|
return ControlAction(data)
|
@@ -40,14 +40,14 @@ def convert_stateful_metric(ms, data: Dict) -> StatefulMetricSet:
|
|
40
40
|
x[1]
|
41
41
|
)
|
42
42
|
|
43
|
-
|
43
|
+
var["implementations"] = {}
|
44
|
+
if "python" in ms["Implementations"]:
|
45
|
+
if "stateful_metrics" in ms["Implementations"]["python"]:
|
46
|
+
if var["name"] in ms["Implementations"]["python"]["stateful_metrics"]:
|
47
|
+
var["implementations"]["python"] = ms["Implementations"]["python"][
|
48
|
+
"stateful_metrics"
|
49
|
+
][var["name"]]
|
44
50
|
|
45
|
-
if "python" in ms["Implementations"]:
|
46
|
-
if "stateful_metrics" in ms["Implementations"]["python"]:
|
47
|
-
if var["name"] in ms["Implementations"]["python"]["stateful_metrics"]:
|
48
|
-
var["implementations"]["python"] = ms["Implementations"]["python"][
|
49
|
-
"stateful_metrics"
|
50
|
-
][var["name"]]
|
51
51
|
new_variables.append(StatefulMetric(var))
|
52
52
|
data["metrics"] = new_variables
|
53
53
|
|
@@ -7,6 +7,7 @@ from .html import (
|
|
7
7
|
write_basic_report_full,
|
8
8
|
write_action_chain_reports,
|
9
9
|
write_spec_tree,
|
10
|
+
write_parameter_table,
|
10
11
|
write_entity_reports,
|
11
12
|
write_overview,
|
12
13
|
)
|
@@ -26,3 +27,8 @@ from .markdown import (
|
|
26
27
|
write_stateful_metrics_markdown_report,
|
27
28
|
write_all_markdown_reports,
|
28
29
|
)
|
30
|
+
from .state import (
|
31
|
+
write_state_variable_table_markdown,
|
32
|
+
write_initial_state_variables_tables,
|
33
|
+
)
|
34
|
+
from .parameters import write_parameter_table_markdown
|
@@ -6,7 +6,7 @@ from .policies import write_out_policies
|
|
6
6
|
from .mechanisms import write_out_mechanisms
|
7
7
|
from .general import load_svg_graphviz, write_header
|
8
8
|
from .node_map import create_action_chains_graph
|
9
|
-
from .parameters import write_out_params
|
9
|
+
from .parameters import write_out_params, write_parameter_table_markdown
|
10
10
|
from .state import write_local_state_variable_tables, write_global_state_variable_table
|
11
11
|
from typing import List
|
12
12
|
import os
|
@@ -267,3 +267,12 @@ def write_overview(ms: MathSpec, name: str, file_path: str, summary: str = None)
|
|
267
267
|
out += write_spec_tree(ms, readme=True)
|
268
268
|
with open(file_path, "w") as f:
|
269
269
|
f.write(out)
|
270
|
+
|
271
|
+
|
272
|
+
def write_parameter_table(ms: MathSpec, path=None, linking=False) -> str:
|
273
|
+
out = write_parameter_table_markdown(ms, links=linking)
|
274
|
+
if path:
|
275
|
+
with open("{}/Paramter Table.md".format(path), "w") as f:
|
276
|
+
f.write(out)
|
277
|
+
else:
|
278
|
+
return out
|
@@ -13,3 +13,38 @@ def write_out_params(ms: MathSpec, params: List[str]) -> str:
|
|
13
13
|
out += "<p>Parameter Class: {}</p>".format(param.parameter_class)
|
14
14
|
|
15
15
|
return out
|
16
|
+
|
17
|
+
|
18
|
+
def write_parameter_table_markdown(ms, initial_values=None, links=False):
|
19
|
+
if initial_values:
|
20
|
+
table = """| Name | Description | Parameter Class | Symbol | Domain | Initial Value |
|
21
|
+
| --- | --- | --- | --- | --- | --- |
|
22
|
+
"""
|
23
|
+
else:
|
24
|
+
table = """| Name | Description | Parameter Class | Symbol | Domain |
|
25
|
+
| --- | --- | --- | --- | --- |
|
26
|
+
"""
|
27
|
+
|
28
|
+
for name in ms.parameters.parameter_map:
|
29
|
+
var = ms.parameters.parameter_map[name]
|
30
|
+
table_vars = [
|
31
|
+
var.name,
|
32
|
+
var.description,
|
33
|
+
var.parameter_class,
|
34
|
+
var.symbol,
|
35
|
+
var.domain,
|
36
|
+
]
|
37
|
+
table += "|"
|
38
|
+
for i, tv in enumerate(table_vars):
|
39
|
+
if tv:
|
40
|
+
if links and i == 0:
|
41
|
+
table += "[[{}\|{}]]".format(tv, tv)
|
42
|
+
else:
|
43
|
+
table += "{}".format(tv)
|
44
|
+
table += "|"
|
45
|
+
if initial_values:
|
46
|
+
table += " {} |".format(initial_values[var.name])
|
47
|
+
|
48
|
+
table += "\n"
|
49
|
+
|
50
|
+
return table
|
@@ -33,8 +33,13 @@ def write_state_variable_table(target_state, links=False):
|
|
33
33
|
return table
|
34
34
|
|
35
35
|
|
36
|
-
def write_state_variable_table_markdown(target_state, links=False):
|
37
|
-
|
36
|
+
def write_state_variable_table_markdown(target_state, initial_values=None, links=False):
|
37
|
+
if initial_values:
|
38
|
+
table = """| Name | Description | Type | Symbol | Domain | Initial Value |
|
39
|
+
| --- | --- | --- | --- | --- | --- |
|
40
|
+
"""
|
41
|
+
else:
|
42
|
+
table = """| Name | Description | Type | Symbol | Domain |
|
38
43
|
| --- | --- | --- | --- | --- |
|
39
44
|
"""
|
40
45
|
|
@@ -56,12 +61,33 @@ def write_state_variable_table_markdown(target_state, links=False):
|
|
56
61
|
else:
|
57
62
|
table += "{}".format(tv)
|
58
63
|
table += "|"
|
64
|
+
if initial_values:
|
65
|
+
table += " {} |".format(initial_values[var.name])
|
59
66
|
|
60
67
|
table += "\n"
|
61
68
|
|
62
69
|
return table
|
63
70
|
|
64
71
|
|
72
|
+
def write_initial_state_variables_tables(ms, initial_values, links=False):
|
73
|
+
out = "### Global State"
|
74
|
+
out += "\n\n"
|
75
|
+
out += write_state_variable_table_markdown(
|
76
|
+
ms.state["Global State"], initial_values=initial_values, links=links
|
77
|
+
)
|
78
|
+
out += "\n"
|
79
|
+
for x in ms.state:
|
80
|
+
if x == "Global State":
|
81
|
+
continue
|
82
|
+
|
83
|
+
out += "### {}".format(x)
|
84
|
+
out += "\n\n"
|
85
|
+
out += write_state_variable_table_markdown(ms.state[x], links=links)
|
86
|
+
out += "\n"
|
87
|
+
|
88
|
+
return out
|
89
|
+
|
90
|
+
|
65
91
|
def write_global_state_variable_table(state):
|
66
92
|
out = ""
|
67
93
|
out += "<h3>Global State</h3>"
|
math_spec_mapping/__init__.py
CHANGED
@@ -8,6 +8,7 @@ from .Reports import (
|
|
8
8
|
write_basic_report_full,
|
9
9
|
write_action_chain_reports,
|
10
10
|
write_spec_tree,
|
11
|
+
write_parameter_table,
|
11
12
|
create_parameter_impact_table,
|
12
13
|
write_entity_reports,
|
13
14
|
write_wiring_report,
|
@@ -24,6 +25,9 @@ from .Reports import (
|
|
24
25
|
write_parameter_markdown_report,
|
25
26
|
write_stateful_metrics_markdown_report,
|
26
27
|
write_all_markdown_reports,
|
28
|
+
write_state_variable_table_markdown,
|
29
|
+
write_initial_state_variables_tables,
|
30
|
+
write_parameter_table_markdown,
|
27
31
|
)
|
28
32
|
from .schema import schema
|
29
33
|
from .Convenience import remove_dummy_repo_components
|
@@ -1,10 +1,10 @@
|
|
1
|
-
math_spec_mapping/__init__.py,sha256=
|
1
|
+
math_spec_mapping/__init__.py,sha256=5n9PbwtdXymhFpL0uUOmcpCBfCEgDp2T93QIASC73ts,1107
|
2
2
|
math_spec_mapping/schema.py,sha256=6mrRqzEnTTSXjb19xJ63MBp0KjKH0s7i6TfT4MkAY9k,233
|
3
3
|
math_spec_mapping/schema.schema.json,sha256=hJP2TcV5WPFPmx4u_A5U1xtnpkE1LeYaTeYOXadTot0,30916
|
4
4
|
math_spec_mapping/Classes/ActionTransmissionChannel.py,sha256=zWMo5QsgPh5WGIWXl-xOrZNMXYJXmK6Vejw1dQvi0og,246
|
5
5
|
math_spec_mapping/Classes/Block.py,sha256=cGtIhNgRfoDZ0O3SxeXcNzNlHcdXIB89sT2uaZct8LY,17667
|
6
|
-
math_spec_mapping/Classes/BoundaryAction.py,sha256=
|
7
|
-
math_spec_mapping/Classes/ControlAction.py,sha256=
|
6
|
+
math_spec_mapping/Classes/BoundaryAction.py,sha256=_rFvEZ4LNxmlM59js4SuQ9n5CgVmITw4YWKs0-q0r-4,560
|
7
|
+
math_spec_mapping/Classes/ControlAction.py,sha256=4AzMSA8fbnUf-fGlvMJXHJFbz32G1h1QVWf2yzrXrLA,493
|
8
8
|
math_spec_mapping/Classes/Entity.py,sha256=fA0-b128_OHHxfCg4pzqyQV083EYev1HlVpy86S5igg,1226
|
9
9
|
math_spec_mapping/Classes/MathSpec.py,sha256=6cBpp9OHmfU-XTqPI4Qjnj91cXRxfGtcAQnczOKxt-4,39892
|
10
10
|
math_spec_mapping/Classes/Mechanism.py,sha256=2sLm3wYBIeTQaMBcsJ9btqIWsbS895Ra8NY6Y9_G_Dg,379
|
@@ -19,11 +19,11 @@ math_spec_mapping/Classes/Type.py,sha256=2KFY8d3cv1PzJJ7SSMHJf1zcfQ3ZbqxotK2KgTa
|
|
19
19
|
math_spec_mapping/Classes/__init__.py,sha256=0zxgOqns_9JybD74HKMVh6aw8ij8WVbfQ4Q_1uWzof0,761
|
20
20
|
math_spec_mapping/Convenience/__init__.py,sha256=z2W-E5Wg1CNEkDI5UqH3qIVBqp-3A1e63f3u9fA-N7w,112
|
21
21
|
math_spec_mapping/Convenience/documentation.py,sha256=1ziWVJznbCUxeAAt03nAdEYtMlXNo5TeedHfgs0vSBU,1625
|
22
|
-
math_spec_mapping/Convenience/starter.py,sha256=
|
22
|
+
math_spec_mapping/Convenience/starter.py,sha256=9dBKU3EHscut2wA6Nx1XUmehrFIdr4dCjP9V1BbTF6s,12567
|
23
23
|
math_spec_mapping/Load/__init__.py,sha256=_ga5nHi7U5rY5lCF36_XI9Qmybq4P8R4m5I5mmjLBk8,33
|
24
24
|
math_spec_mapping/Load/action_transmission_channel.py,sha256=9Wer7g2s5SSOcUYuZ0PqSKUVVnW3EvGQJZNXJTwW__0,2561
|
25
|
-
math_spec_mapping/Load/boundary_actions.py,sha256=
|
26
|
-
math_spec_mapping/Load/control_actions.py,sha256=
|
25
|
+
math_spec_mapping/Load/boundary_actions.py,sha256=ms3Oh09Dgur9sZrxOE5FrzNO4zN41cWPNOW563R0A5U,2677
|
26
|
+
math_spec_mapping/Load/control_actions.py,sha256=W7kKLcA0UQ40m1ZExmvu0ujdxvJ8wH-uQ9PG8hbaYCo,2094
|
27
27
|
math_spec_mapping/Load/displays.py,sha256=uQvs0Jhp8-9SXGex8SG3ibxHJu7ahAV3xLeBFbT8QEE,480
|
28
28
|
math_spec_mapping/Load/entities.py,sha256=Ds7VQY_govWEn1vSHYVrLa8IadSNyOQzaCK18JPYPKk,1289
|
29
29
|
math_spec_mapping/Load/general.py,sha256=2q6aGKxXhebiHHTZhtACvM4nWIkTben0o5rXuvfv2Vw,4463
|
@@ -35,26 +35,26 @@ math_spec_mapping/Load/parameters.py,sha256=W4utm7to3s2fo4z3XgLH0TM1agaIad1qfM2I
|
|
35
35
|
math_spec_mapping/Load/policy.py,sha256=HvlhGHGJTweVs7DOI2HSL_2_diECr8ukDUmzoFLQELo,2444
|
36
36
|
math_spec_mapping/Load/spaces.py,sha256=7zgGA57Te7T4hfuCCDElffiidWgn1lKm5E14e1yjt8M,1116
|
37
37
|
math_spec_mapping/Load/state_update_transmission_channels.py,sha256=FJWp5n4HdtHAfof5BUQ6BnRakljatL2h8dWCapaVSc0,2238
|
38
|
-
math_spec_mapping/Load/stateful_metrics.py,sha256=
|
38
|
+
math_spec_mapping/Load/stateful_metrics.py,sha256=3Lq1ZGMaDd5OcGeqR2p5c_znkYw7ETTNPFjUVdZAHKk,2384
|
39
39
|
math_spec_mapping/Load/states.py,sha256=3YurI7eTNkN6nrXRFVrc58wH0VfM22XOuWE07HVpR7Y,1365
|
40
40
|
math_spec_mapping/Load/type.py,sha256=z6cBdBNjWed7cRyA0Bj7Jd5PmtemVVh07n3mWFj_5U4,4356
|
41
41
|
math_spec_mapping/Load/wiring.py,sha256=1dR94U5N1W_WI5rL6lYBltH25ZvApB2pIpq9r5Opkug,3083
|
42
|
-
math_spec_mapping/Reports/__init__.py,sha256=
|
42
|
+
math_spec_mapping/Reports/__init__.py,sha256=P3IuE1wiM1EO_yCSD73D4O0O6j7aVWmiwpKJM58ISEs,1121
|
43
43
|
math_spec_mapping/Reports/boundary_actions.py,sha256=45BPp4QjWdD-3E9ZWwqgj_nI2-YdcI2ZZ19_Qv_K7Qk,1410
|
44
44
|
math_spec_mapping/Reports/control_actions.py,sha256=NksekZKIPFSIkubttFstKFthc5AU9B9PWRLSl9j1wWs,1216
|
45
45
|
math_spec_mapping/Reports/general.py,sha256=WOOn6Wlb8M4fsdN49FlKLwOka6vJPQ9aCUy88TL2ki0,1610
|
46
|
-
math_spec_mapping/Reports/html.py,sha256=
|
46
|
+
math_spec_mapping/Reports/html.py,sha256=zRo67S81pIRK_sttuFy8Y06qllen_K0lNS1qeHQo5ik,9521
|
47
47
|
math_spec_mapping/Reports/markdown.py,sha256=SdhgOMpMBnGKWDG0cimk-LI_UqjQDPy87IxTb-PrBQ0,22866
|
48
48
|
math_spec_mapping/Reports/mechanisms.py,sha256=d2Rxt3JBYvqAOAYUynl0buYVoXEHrO8EGq7GK6hK8NA,1322
|
49
49
|
math_spec_mapping/Reports/node_map.py,sha256=FdSMDQG16NX6n9sZcH-T5xwsvgjrV9OqBHc9J_VlNK0,3129
|
50
|
-
math_spec_mapping/Reports/parameters.py,sha256=
|
50
|
+
math_spec_mapping/Reports/parameters.py,sha256=T73OKY3dWufeYEb6jSxGQH6GH4PSZLMmZcaV1m8qUn0,1553
|
51
51
|
math_spec_mapping/Reports/policies.py,sha256=EuBzBsTM6QSS_GHFcAyhGgWvDDZwRuKe7Eos9nX13ho,1814
|
52
52
|
math_spec_mapping/Reports/spaces.py,sha256=-76hR5wQBv4lsG000ypBJ-OprjsNjI-rNRMYdtsYnjQ,579
|
53
|
-
math_spec_mapping/Reports/state.py,sha256=
|
53
|
+
math_spec_mapping/Reports/state.py,sha256=EPiHz3cDCEPHnVjuFruVKaGJ2SclUfGUFvvOukiHPNg,3110
|
54
54
|
math_spec_mapping/Reports/tables.py,sha256=O0CNuqh3LMECq5uLjBOoxMUk5hUvkUK660FNnwWUxDY,1505
|
55
55
|
math_spec_mapping/Reports/wiring.py,sha256=u9SvKWy6T-WJUEgFI6-zgZanoOaTTs_2YwmEceDLsV8,1618
|
56
|
-
math_spec_mapping-0.3.
|
57
|
-
math_spec_mapping-0.3.
|
58
|
-
math_spec_mapping-0.3.
|
59
|
-
math_spec_mapping-0.3.
|
60
|
-
math_spec_mapping-0.3.
|
56
|
+
math_spec_mapping-0.3.9.1.dist-info/LICENSE,sha256=ObyEzSw8kgCaFbEfpu1zP4TrcAKLA0xhqHMZZfyh7N0,1069
|
57
|
+
math_spec_mapping-0.3.9.1.dist-info/METADATA,sha256=VV9OF55yc5n0xe5_JnFBq2hDAOQ0Eu1WMahCTjQqWRg,6502
|
58
|
+
math_spec_mapping-0.3.9.1.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
59
|
+
math_spec_mapping-0.3.9.1.dist-info/top_level.txt,sha256=AImhn9wgazkdV0a9vfiphtQR8uGe2nq-ZIOp-6yUk9o,18
|
60
|
+
math_spec_mapping-0.3.9.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|