devagent-ignition 0.1.1__tar.gz → 0.1.3__tar.gz
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.
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/PKG-INFO +18 -2
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/README.md +16 -1
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/SHA256SUMS.txt +4 -4
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_hmi.py +3 -2
- devagent_ignition-0.1.3/devagent_spatial/__init__.py +1 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/studio.py +8 -6
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/pyproject.toml +2 -2
- devagent_ignition-0.1.1/devagent_spatial/__init__.py +0 -1
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/.gitignore +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/RELEASE_MANIFEST.json +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/SOURCE_PROVENANCE.json +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/agent.js +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/creator.css +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/creator_2d.mjs +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/creator_original_r9.mjs +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/creator_original_v8.mjs +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/creator_r9_diagnostics.mjs +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/creator_scene.mjs +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/creator_ui.mjs +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/customer_documents.js +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/equipment_controls.mjs +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/facility2d.css +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/facility2d_app.mjs +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/facility2d_core.mjs +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/facility2d_simulation.mjs +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/facility2d_viewer.html +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/fallback_scene.js +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/flow_geometry.mjs +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/harness.js +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/live_design_review.js +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/operations_ui.js +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/operator_viewer.html +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/project_package.js +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/r9_transport.mjs +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/runtime_feed.js +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/studio.html +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/style.css +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/test_workspace.html +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/three_scene.js +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/unified_engineer.js +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/v076_fat_ui.js +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/v078_command_ui.js +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/viewer.html +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/assets/viewer.js +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/design-system.json +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/agent_harness.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/agent_runtime.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/contract_opc_fat.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/contract_opc_source.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/control_intents.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/customer_intake.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/engineering_expertise.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/generator.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/ignition_native.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/ignition_project.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/live_lab_binding.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/model.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/native_reference.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/opc_snapshot.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/operations.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/operations_capture.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/operations_lab.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/original_r9.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/original_v8.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/preflight.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/preview_simulation.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/project_package.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/qualification.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/strict_json.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/studio_workflow.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/test_reporting.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/v076_opc_fat.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/v078_commands.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/v078_native_commands.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/v07_fat.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/v07_native.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/v083_native.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/examples/CV101-command-contract-PENDING.json +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/examples/cv101_guided.json +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/examples/make_examples.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/examples/single_floor.json +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/examples/v0771_training_wizard.json +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/examples/warehouse-3floor-standard-2d.json +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/examples/warehouse-operations-synthetic.json +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/examples/warehouse-v07-lab-bindings-PENDING.json +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/examples/warehouse.json +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/examples/water.json +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-golden/REFERENCE_SHA256.json +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-golden/web/app.mjs +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-golden/web/index.html +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-golden/web/lab_panel.mjs +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-golden/web/model.mjs +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-golden/web/state_adapter.mjs +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-golden/web/styles.css +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-original/README_R9.md +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-original/SHA256SUMS.txt +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-original/SNAPSHOT_SHA256SUMS.txt +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-original/flow_routes.json +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-original/flow_sim.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-original/lab_control.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-original/web/app.mjs +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-original/web/index.html +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-original/web/lab_panel.mjs +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-original/web/model.mjs +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-original/web/state_adapter.mjs +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-original/web/styles.css +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-original/web/vendor/LICENSE-three.txt +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-original/web/vendor/SHA256SUMS.txt +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-original/web/vendor/addons/controls/OrbitControls.js +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-original/web/vendor/three.core.js +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-original/web/vendor/three.module.js +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/v8-original/README.md +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/v8-original/SHA256SUMS.txt +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/v8-original/model.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/v8-original/run_demo.sh +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/v8-original/server.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/v8-original/tests/browser_smoke.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/v8-original/tests/test_v8.py +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/v8-original/topology.json +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/v8-original/web/app.js +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/v8-original/web/index.html +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/v8-original/web/simulator.html +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/v8-original/web/simulator.js +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/v8-original/web/style.css +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/sample_customer_inputs/Plant_Equipment_Register.csv +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/sample_customer_inputs/Plant_Flow_Requirements.txt +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/sample_customer_inputs/Raw_PLC_Tag_Export.csv +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/templates/warehouse_connections.csv +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/templates/warehouse_equipment.csv +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/templates/warehouse_signals.csv +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/templates/water_connections.csv +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/templates/water_equipment.csv +0 -0
- {devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/templates/water_signals.csv +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: devagent-ignition
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: Offline industrial HMI engineering and Ignition Perspective candidate tools (production deployment not qualified)
|
|
5
5
|
Project-URL: Repository, https://github.com/tomha85/devagent-ignition
|
|
6
6
|
Project-URL: Documentation, https://github.com/tomha85/devagent-ignition#readme
|
|
@@ -13,6 +13,7 @@ Classifier: Programming Language :: Python :: 3
|
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.13
|
|
14
14
|
Classifier: Topic :: Scientific/Engineering
|
|
15
15
|
Requires-Python: <3.14,>=3.13
|
|
16
|
+
Requires-Dist: asyncua==2.1.0
|
|
16
17
|
Description-Content-Type: text/markdown
|
|
17
18
|
|
|
18
19
|
# DevAgent
|
|
@@ -78,7 +79,22 @@ DevAgent turns customer plant information into reviewable 2D/3D HMI concepts, va
|
|
|
78
79
|
|
|
79
80
|
## Quick start
|
|
80
81
|
|
|
81
|
-
|
|
82
|
+
### Install and run (Ubuntu / Linux)
|
|
83
|
+
|
|
84
|
+
Requires **Python 3.13**. Install the published package from PyPI, then launch the local Creator:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
python3.13 -m pip install --no-cache-dir --index-url https://pypi.org/simple/ devagent-ignition==0.1.1
|
|
88
|
+
devagent start
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Open **http://127.0.0.1:8895/** in your browser. No GitHub clone is required. If port 8895 is in use, run `devagent start --port 8962` and open `http://127.0.0.1:8962/`.
|
|
92
|
+
|
|
93
|
+
If `devagent` is not found, make sure the Python 3.13 environment you installed into is activated and its `bin` directory is on your `PATH`. Use a dedicated virtual environment if you also have `devagent-ai` installed, since both packages provide a `devagent` executable.
|
|
94
|
+
|
|
95
|
+
### Develop or verify from source
|
|
96
|
+
|
|
97
|
+
**Requirements:** Linux/Ubuntu, Git, and Python 3.13. Optional browser and OPC UA tests have additional dependencies.
|
|
82
98
|
|
|
83
99
|
```bash
|
|
84
100
|
git clone https://github.com/tomha85/devagent-ignition.git
|
|
@@ -61,7 +61,22 @@ DevAgent turns customer plant information into reviewable 2D/3D HMI concepts, va
|
|
|
61
61
|
|
|
62
62
|
## Quick start
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
### Install and run (Ubuntu / Linux)
|
|
65
|
+
|
|
66
|
+
Requires **Python 3.13**. Install the published package from PyPI, then launch the local Creator:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
python3.13 -m pip install --no-cache-dir --index-url https://pypi.org/simple/ devagent-ignition==0.1.1
|
|
70
|
+
devagent start
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Open **http://127.0.0.1:8895/** in your browser. No GitHub clone is required. If port 8895 is in use, run `devagent start --port 8962` and open `http://127.0.0.1:8962/`.
|
|
74
|
+
|
|
75
|
+
If `devagent` is not found, make sure the Python 3.13 environment you installed into is activated and its `bin` directory is on your `PATH`. Use a dedicated virtual environment if you also have `devagent-ai` installed, since both packages provide a `devagent` executable.
|
|
76
|
+
|
|
77
|
+
### Develop or verify from source
|
|
78
|
+
|
|
79
|
+
**Requirements:** Linux/Ubuntu, Git, and Python 3.13. Optional browser and OPC UA tests have additional dependencies.
|
|
65
80
|
|
|
66
81
|
```bash
|
|
67
82
|
git clone https://github.com/tomha85/devagent-ignition.git
|
|
@@ -10,7 +10,7 @@ d8c8db9f135e27d64fa13b4db47e72dbe873d0fb8362b873d98a535a51f95109 GITHUB_SOURCE_
|
|
|
10
10
|
735b8438b1bed28a93277a46b6df3d733d27319b783af92c4e4b5bfd2398a2cb PRETEST_RELEASE_GATES.md
|
|
11
11
|
21e6c3d78ee6debed766de3ef21efd5d1297edb4657cfe4736ff867fbc86ecfb PRODUCTION_ACCEPTANCE.md
|
|
12
12
|
fd39e40e7c60a03197db9ef1d30be2e1589737b7834721aca2e762e788363b39 R9_GOLDEN_INTEGRATION_V053.md
|
|
13
|
-
|
|
13
|
+
c76608effd51179bedc15c3a27f9e9a66137c6b5b85292e388dec23701a09177 README.md
|
|
14
14
|
ac481bfb3f9427626dc242370319d4e88e7871e5ec22518d3c3bd99333c286f2 RELEASE_MANIFEST.json
|
|
15
15
|
4c9e54a61e61f3eb3e07163e55ded539c54edf86471f2a853b7cd3c6c8b7c98c SOURCE_PROVENANCE.json
|
|
16
16
|
476fa8b39bdea31ffccfa6f456de8faa7c3c2ed0ca9341f4bb425bf51d48fdc0 SPATIAL_RENDERING_V042.md
|
|
@@ -98,8 +98,8 @@ d009f79a79ed1278911c81818b97a7dbce72464b599bb00f6116b81e1b1f9b5c assets/v078_co
|
|
|
98
98
|
9d95941755b73fc16aaa0ef8af0550ee64f15d60d6f3792eb00d82844a48a75b assets/viewer.html
|
|
99
99
|
600d23649659fd9b435e6b828a5b191b95cae721784b2eed4d7594b783b56681 assets/viewer.js
|
|
100
100
|
54ee77ca35589b06bd093204c9e5b28eabb69a8b2158ef1be5897386d3676c3f design-system.json
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
287744606d4ec09533bb0af2ab6c1e059e614a7d87bc8c365d0f1e16c646bff8 devagent_hmi.py
|
|
102
|
+
b99b3280c5cc291c3eeea856a230239e99bc1853d753ddb15ba5c0f0ee46c056 devagent_spatial/__init__.py
|
|
103
103
|
a6b1a2a97e2ec31e2de7f4c576b9482f66d3aa7fb356b06f0475bcd221dd8116 devagent_spatial/agent_harness.py
|
|
104
104
|
a54c22bb64e5ff6b8d720bc44a73d851388f3f55adcba0f5f17098349895f2a4 devagent_spatial/agent_runtime.py
|
|
105
105
|
f57e58f596ab5395b5a9692158cca43866de32ec9f8d07bdec363a36610e3d2b devagent_spatial/contract_opc_fat.py
|
|
@@ -124,7 +124,7 @@ d013f40d6a913126b7466fccfb97617f249e655ce1d5183d8d21e47f81a7e2d4 devagent_spati
|
|
|
124
124
|
b63c232a9218a6c7dc350f8510af0ccb9d7af61b6ffbc448918ae0a4beaef07d devagent_spatial/project_package.py
|
|
125
125
|
74cbfb179c33304851dade43687d6ff7075d72305e696dab7d5de126b0ec253e devagent_spatial/qualification.py
|
|
126
126
|
05b93e0f13f2e59251bed066975944a3a21f084a6447ea5607c8620c0e489aef devagent_spatial/strict_json.py
|
|
127
|
-
|
|
127
|
+
0a452313484154d2faa1d0d1eb5041c6f10db2698fc2b867e0800522c915ecfa devagent_spatial/studio.py
|
|
128
128
|
7f58410cba0fd20fbeb9be75b0afdad2bb443eb361eb510a9fd78d250145e21e devagent_spatial/studio_workflow.py
|
|
129
129
|
e8058af1dbe09d877700144b41451440c0fee4602fffcf658b497b34efe9b30b devagent_spatial/test_reporting.py
|
|
130
130
|
8bf0d6d6ba213e0623c1115e5fa29a6a7eae0e510a4921a63727f447b95dfaf6 devagent_spatial/v076_opc_fat.py
|
|
@@ -426,7 +426,7 @@ def main(argv=None):
|
|
|
426
426
|
print(json.dumps(report,indent=2,ensure_ascii=False))
|
|
427
427
|
return 0 if report['status']!='HOLD' else 2
|
|
428
428
|
try:
|
|
429
|
-
result=build(data,args.out,vendor_three=args.vendor_three)
|
|
429
|
+
result=build(data,args.out,vendor_three=(args.vendor_three or ROOT/'reference/r9-original/web/vendor'))
|
|
430
430
|
print(json.dumps(result,indent=2,ensure_ascii=False))
|
|
431
431
|
return 0
|
|
432
432
|
except (BuildHold,OSError,ValueError) as e:
|
|
@@ -438,13 +438,14 @@ def main(argv=None):
|
|
|
438
438
|
if args.action in ('studio','start'):
|
|
439
439
|
from devagent_spatial.studio import StudioServer
|
|
440
440
|
try:
|
|
441
|
-
server=StudioServer(('127.0.0.1',args.port),args.workspace,args.vendor_three)
|
|
441
|
+
server=StudioServer(('127.0.0.1',args.port),args.workspace,(args.vendor_three or ROOT/'reference/r9-original/web/vendor'))
|
|
442
442
|
except (OSError,ValueError,RecursionError,UnicodeError) as e:
|
|
443
443
|
print('HOLD=STUDIO_START: '+str(e))
|
|
444
444
|
return 2
|
|
445
445
|
print('DEVAGENT_SPATIAL_STUDIO=READY',flush=True)
|
|
446
446
|
print(f'LOCAL_UI=http://127.0.0.1:{args.port}/',flush=True)
|
|
447
447
|
print(f'CUSTOMER_PROJECTS={server.workspace}',flush=True)
|
|
448
|
+
print(f'THREE_RENDERER={"READY" if server.creator_three_ready else "UNAVAILABLE"}',flush=True)
|
|
448
449
|
print('WRITE_AUTHORITY=DISABLED; IGNITION_MODIFICATIONS=NONE',flush=True)
|
|
449
450
|
try:server.serve_forever(poll_interval=.2)
|
|
450
451
|
except KeyboardInterrupt:pass
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = '0.1.3'
|
|
@@ -265,10 +265,10 @@ class StudioHandler(BaseHTTPRequestHandler):
|
|
|
265
265
|
opc_report=re.fullmatch(r'/api/v076-opc/([a-z0-9-]{1,100})/report/([0-9a-f]{12})',path)
|
|
266
266
|
if opc_report:
|
|
267
267
|
pid,rid=opc_report.groups()
|
|
268
|
-
from .studio_workflow import load_project,LabHold
|
|
268
|
+
from .studio_workflow import load_project,LabHold,project_lab_dir
|
|
269
269
|
try:
|
|
270
270
|
load_project(self.server.workspace,pid)
|
|
271
|
-
file=self.server.workspace
|
|
271
|
+
file=project_lab_dir(self.server.workspace,pid)/'opc-fat'/('lab-opc-v076-'+rid+'.json')
|
|
272
272
|
if not file.is_file() or file.stat().st_size>3_000_000:
|
|
273
273
|
return self.output(404,{'status':'HOLD','reason':'REPORT_NOT_FOUND'})
|
|
274
274
|
return self.output(200,strict_loads(file.read_text(encoding='utf8')))
|
|
@@ -277,10 +277,10 @@ class StudioHandler(BaseHTTPRequestHandler):
|
|
|
277
277
|
cmd_report=re.fullmatch(r'/api/v078-command/([a-z0-9-]{1,100})/report/([0-9a-f]{12})',path)
|
|
278
278
|
if cmd_report:
|
|
279
279
|
pid,rid=cmd_report.groups()
|
|
280
|
-
from .studio_workflow import load_project,LabHold
|
|
280
|
+
from .studio_workflow import load_project,LabHold,project_lab_dir
|
|
281
281
|
try:
|
|
282
282
|
load_project(self.server.workspace,pid)
|
|
283
|
-
file=self.server.workspace
|
|
283
|
+
file=project_lab_dir(self.server.workspace,pid)/'command-fat'/('lab-command-v078-'+rid+'.json')
|
|
284
284
|
if not file.is_file() or file.is_symlink() or file.stat().st_size>400_000:
|
|
285
285
|
return self.output(404,{'status':'HOLD','reason':'COMMAND_FAT_REPORT_NOT_FOUND'})
|
|
286
286
|
return self.output(200,strict_loads(file.read_text(encoding='utf8')))
|
|
@@ -557,7 +557,8 @@ class StudioHandler(BaseHTTPRequestHandler):
|
|
|
557
557
|
model,c,port=4899,confirm=LAB_CONFIRM),timeout=45))
|
|
558
558
|
rid=secrets.token_hex(6)
|
|
559
559
|
from .v076_opc_fat import save_new
|
|
560
|
-
|
|
560
|
+
from .studio_workflow import project_lab_dir
|
|
561
|
+
save_new(project_lab_dir(self.server.workspace,pid)/'command-fat'/('lab-command-v078-'+rid+'.json'),result)
|
|
561
562
|
public={'status':result['status'],'cases_checked':result['case_count'],
|
|
562
563
|
'report_url':f'/api/v078-command/{pid}/report/{rid}',
|
|
563
564
|
'gateway':'NOT_VERIFIED','physical_plc':'NOT_VERIFIED','production':'HOLD'}
|
|
@@ -589,7 +590,8 @@ class StudioHandler(BaseHTTPRequestHandler):
|
|
|
589
590
|
import asyncio
|
|
590
591
|
result=asyncio.run(asyncio.wait_for(run_loopback_fat(model,port=4898),timeout=50))
|
|
591
592
|
rid=secrets.token_hex(6)
|
|
592
|
-
|
|
593
|
+
from .studio_workflow import project_lab_dir
|
|
594
|
+
save_new(project_lab_dir(self.server.workspace,pid)/'opc-fat'/('lab-opc-v076-'+rid+'.json'),result)
|
|
593
595
|
result={'status':result['status'],'cases_passed':result['cases_passed'],
|
|
594
596
|
'cases_planned':result['cases_planned'],
|
|
595
597
|
'report_url':f'/api/v076-opc/{pid}/report/{rid}',
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "devagent-ignition"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.3"
|
|
8
8
|
description = "Offline industrial HMI engineering and Ignition Perspective candidate tools (production deployment not qualified)"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.13,<3.14"
|
|
@@ -18,7 +18,7 @@ classifiers = [
|
|
|
18
18
|
"Operating System :: POSIX :: Linux",
|
|
19
19
|
"Topic :: Scientific/Engineering",
|
|
20
20
|
]
|
|
21
|
-
dependencies = []
|
|
21
|
+
dependencies = ["asyncua==2.1.0"]
|
|
22
22
|
|
|
23
23
|
[project.urls]
|
|
24
24
|
Repository = "https://github.com/tomha85/devagent-ignition"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = '0.1.1'
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/engineering_expertise.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/devagent_spatial/v078_native_commands.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/examples/CV101-command-contract-PENDING.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/examples/warehouse-3floor-standard-2d.json
RENAMED
|
File without changes
|
{devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/examples/warehouse-operations-synthetic.json
RENAMED
|
File without changes
|
{devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/examples/warehouse-v07-lab-bindings-PENDING.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-golden/REFERENCE_SHA256.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-golden/web/state_adapter.mjs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-original/SNAPSHOT_SHA256SUMS.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-original/web/state_adapter.mjs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-original/web/vendor/SHA256SUMS.txt
RENAMED
|
File without changes
|
|
File without changes
|
{devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-original/web/vendor/three.core.js
RENAMED
|
File without changes
|
{devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/r9-original/web/vendor/three.module.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/v8-original/tests/browser_smoke.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/reference/v8-original/web/simulator.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{devagent_ignition-0.1.1 → devagent_ignition-0.1.3}/sample_customer_inputs/Raw_PLC_Tag_Export.csv
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|