pyfds-evac 0.2.1__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.
- pyfds_evac/__init__.py +91 -0
- pyfds_evac/__main__.py +6 -0
- pyfds_evac/cli.py +725 -0
- pyfds_evac/core/__init__.py +78 -0
- pyfds_evac/core/agent_scalars.py +76 -0
- pyfds_evac/core/agent_seed.py +178 -0
- pyfds_evac/core/cognitive_map.py +429 -0
- pyfds_evac/core/direct_steering_runtime.py +459 -0
- pyfds_evac/core/fds_coverage.py +234 -0
- pyfds_evac/core/fds_inventory.py +87 -0
- pyfds_evac/core/fds_sampling.py +400 -0
- pyfds_evac/core/fed.py +1583 -0
- pyfds_evac/core/geometry.py +60 -0
- pyfds_evac/core/manifest.py +242 -0
- pyfds_evac/core/premovement_distributions.py +126 -0
- pyfds_evac/core/route_graph.py +2904 -0
- pyfds_evac/core/run_config.py +613 -0
- pyfds_evac/core/scenario.py +3177 -0
- pyfds_evac/core/simulation_init.py +2754 -0
- pyfds_evac/core/smoke_speed.py +407 -0
- pyfds_evac/core/visibility.py +885 -0
- pyfds_evac/core/wkt_to_fds.py +421 -0
- pyfds_evac/webapp/__init__.py +5 -0
- pyfds_evac/webapp/app.py +2467 -0
- pyfds_evac/webapp/docs.py +398 -0
- pyfds_evac/webapp/launch.py +63 -0
- pyfds_evac/webapp/params.py +1025 -0
- pyfds_evac/webapp/plots.py +172 -0
- pyfds_evac/webapp/pyexport.py +316 -0
- pyfds_evac/webapp/runner.py +487 -0
- pyfds_evac/webapp/theme.py +1036 -0
- pyfds_evac/webapp/trajviz.py +981 -0
- pyfds_evac-0.2.1.dist-info/METADATA +228 -0
- pyfds_evac-0.2.1.dist-info/RECORD +37 -0
- pyfds_evac-0.2.1.dist-info/WHEEL +4 -0
- pyfds_evac-0.2.1.dist-info/entry_points.txt +3 -0
- pyfds_evac-0.2.1.dist-info/licenses/LICENSE +21 -0
pyfds_evac/__init__.py
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"""fds-evac package.
|
|
2
|
+
|
|
3
|
+
The public names below are resolved lazily (PEP 562): ``import pyfds_evac``
|
|
4
|
+
stays cheap, and the first attribute access imports the defining module.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import importlib
|
|
8
|
+
from typing import TYPE_CHECKING
|
|
9
|
+
|
|
10
|
+
if TYPE_CHECKING:
|
|
11
|
+
from pyfds_evac.core.fed import (
|
|
12
|
+
DefaultFedConfig,
|
|
13
|
+
DefaultFedModel,
|
|
14
|
+
DefaultHeatFedModel,
|
|
15
|
+
FdsFedField,
|
|
16
|
+
FdsHeatField,
|
|
17
|
+
TenabilityConfig,
|
|
18
|
+
)
|
|
19
|
+
from pyfds_evac.core.route_graph import RerouteConfig, RouteCostConfig
|
|
20
|
+
from pyfds_evac.core.run_config import build_run_kwargs
|
|
21
|
+
from pyfds_evac.core.scenario import (
|
|
22
|
+
ProgressEvent,
|
|
23
|
+
Scenario,
|
|
24
|
+
ScenarioResult,
|
|
25
|
+
load_scenario,
|
|
26
|
+
run_scenario,
|
|
27
|
+
)
|
|
28
|
+
from pyfds_evac.core.smoke_speed import (
|
|
29
|
+
ConstantExtinctionField,
|
|
30
|
+
ExtinctionField,
|
|
31
|
+
SmokeSpeedConfig,
|
|
32
|
+
SmokeSpeedModel,
|
|
33
|
+
)
|
|
34
|
+
from pyfds_evac.core.visibility import VisibilityModel
|
|
35
|
+
|
|
36
|
+
_EXPORTS = {
|
|
37
|
+
"load_scenario": "pyfds_evac.core.scenario",
|
|
38
|
+
"run_scenario": "pyfds_evac.core.scenario",
|
|
39
|
+
"Scenario": "pyfds_evac.core.scenario",
|
|
40
|
+
"ScenarioResult": "pyfds_evac.core.scenario",
|
|
41
|
+
"ProgressEvent": "pyfds_evac.core.scenario",
|
|
42
|
+
"build_run_kwargs": "pyfds_evac.core.run_config",
|
|
43
|
+
"SmokeSpeedModel": "pyfds_evac.core.smoke_speed",
|
|
44
|
+
"SmokeSpeedConfig": "pyfds_evac.core.smoke_speed",
|
|
45
|
+
"ExtinctionField": "pyfds_evac.core.smoke_speed",
|
|
46
|
+
"ConstantExtinctionField": "pyfds_evac.core.smoke_speed",
|
|
47
|
+
"DefaultFedModel": "pyfds_evac.core.fed",
|
|
48
|
+
"DefaultFedConfig": "pyfds_evac.core.fed",
|
|
49
|
+
"FdsFedField": "pyfds_evac.core.fed",
|
|
50
|
+
"DefaultHeatFedModel": "pyfds_evac.core.fed",
|
|
51
|
+
"FdsHeatField": "pyfds_evac.core.fed",
|
|
52
|
+
"TenabilityConfig": "pyfds_evac.core.fed",
|
|
53
|
+
"RerouteConfig": "pyfds_evac.core.route_graph",
|
|
54
|
+
"RouteCostConfig": "pyfds_evac.core.route_graph",
|
|
55
|
+
"VisibilityModel": "pyfds_evac.core.visibility",
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
__all__ = [
|
|
59
|
+
"ConstantExtinctionField",
|
|
60
|
+
"DefaultFedConfig",
|
|
61
|
+
"DefaultFedModel",
|
|
62
|
+
"DefaultHeatFedModel",
|
|
63
|
+
"ExtinctionField",
|
|
64
|
+
"FdsFedField",
|
|
65
|
+
"FdsHeatField",
|
|
66
|
+
"ProgressEvent",
|
|
67
|
+
"RerouteConfig",
|
|
68
|
+
"RouteCostConfig",
|
|
69
|
+
"Scenario",
|
|
70
|
+
"ScenarioResult",
|
|
71
|
+
"SmokeSpeedConfig",
|
|
72
|
+
"SmokeSpeedModel",
|
|
73
|
+
"TenabilityConfig",
|
|
74
|
+
"VisibilityModel",
|
|
75
|
+
"build_run_kwargs",
|
|
76
|
+
"load_scenario",
|
|
77
|
+
"run_scenario",
|
|
78
|
+
]
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def __getattr__(name: str):
|
|
82
|
+
module_name = _EXPORTS.get(name)
|
|
83
|
+
if module_name is None:
|
|
84
|
+
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
|
85
|
+
value = getattr(importlib.import_module(module_name), name)
|
|
86
|
+
globals()[name] = value
|
|
87
|
+
return value
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
def __dir__() -> list[str]:
|
|
91
|
+
return sorted(set(globals()) | set(__all__))
|