systemlink-cli 1.3.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.
Files changed (74) hide show
  1. slcli/__init__.py +1 -0
  2. slcli/__main__.py +23 -0
  3. slcli/_version.py +4 -0
  4. slcli/asset_click.py +1289 -0
  5. slcli/cli_formatters.py +218 -0
  6. slcli/cli_utils.py +504 -0
  7. slcli/comment_click.py +602 -0
  8. slcli/completion_click.py +418 -0
  9. slcli/config.py +81 -0
  10. slcli/config_click.py +498 -0
  11. slcli/dff_click.py +979 -0
  12. slcli/dff_decorators.py +24 -0
  13. slcli/example_click.py +404 -0
  14. slcli/example_loader.py +274 -0
  15. slcli/example_provisioner.py +2777 -0
  16. slcli/examples/README.md +134 -0
  17. slcli/examples/_schema/schema-v1.0.json +169 -0
  18. slcli/examples/demo-complete-workflow/README.md +323 -0
  19. slcli/examples/demo-complete-workflow/config.yaml +638 -0
  20. slcli/examples/demo-test-plans/README.md +132 -0
  21. slcli/examples/demo-test-plans/config.yaml +154 -0
  22. slcli/examples/exercise-5-1-parametric-insights/README.md +101 -0
  23. slcli/examples/exercise-5-1-parametric-insights/config.yaml +1589 -0
  24. slcli/examples/exercise-7-1-test-plans/README.md +93 -0
  25. slcli/examples/exercise-7-1-test-plans/config.yaml +323 -0
  26. slcli/examples/spec-compliance-notebooks/README.md +140 -0
  27. slcli/examples/spec-compliance-notebooks/config.yaml +112 -0
  28. slcli/examples/spec-compliance-notebooks/notebooks/SpecAnalysis_ComplianceCalculation.ipynb +1553 -0
  29. slcli/examples/spec-compliance-notebooks/notebooks/SpecComplianceCalculation.ipynb +1577 -0
  30. slcli/examples/spec-compliance-notebooks/notebooks/SpecfileExtractionAndIngestion.ipynb +912 -0
  31. slcli/examples/spec-compliance-notebooks/spec_template.xlsx +0 -0
  32. slcli/feed_click.py +892 -0
  33. slcli/file_click.py +932 -0
  34. slcli/function_click.py +1400 -0
  35. slcli/function_templates.py +85 -0
  36. slcli/main.py +406 -0
  37. slcli/mcp_click.py +269 -0
  38. slcli/mcp_server.py +748 -0
  39. slcli/notebook_click.py +1770 -0
  40. slcli/platform.py +345 -0
  41. slcli/policy_click.py +679 -0
  42. slcli/policy_utils.py +411 -0
  43. slcli/profiles.py +411 -0
  44. slcli/response_handlers.py +359 -0
  45. slcli/routine_click.py +763 -0
  46. slcli/skill_click.py +253 -0
  47. slcli/skills/slcli/SKILL.md +713 -0
  48. slcli/skills/slcli/references/analysis-recipes.md +474 -0
  49. slcli/skills/slcli/references/filtering.md +236 -0
  50. slcli/skills/systemlink-webapp/SKILL.md +744 -0
  51. slcli/skills/systemlink-webapp/references/deployment.md +123 -0
  52. slcli/skills/systemlink-webapp/references/nimble-angular.md +380 -0
  53. slcli/skills/systemlink-webapp/references/systemlink-services.md +192 -0
  54. slcli/ssl_trust.py +93 -0
  55. slcli/system_click.py +2216 -0
  56. slcli/table_utils.py +124 -0
  57. slcli/tag_click.py +794 -0
  58. slcli/templates_click.py +599 -0
  59. slcli/testmonitor_click.py +1667 -0
  60. slcli/universal_handlers.py +305 -0
  61. slcli/user_click.py +1218 -0
  62. slcli/utils.py +832 -0
  63. slcli/web_editor.py +295 -0
  64. slcli/webapp_click.py +981 -0
  65. slcli/workflow_preview.py +287 -0
  66. slcli/workflows_click.py +988 -0
  67. slcli/workitem_click.py +2258 -0
  68. slcli/workspace_click.py +576 -0
  69. slcli/workspace_utils.py +206 -0
  70. systemlink_cli-1.3.1.dist-info/METADATA +20 -0
  71. systemlink_cli-1.3.1.dist-info/RECORD +74 -0
  72. systemlink_cli-1.3.1.dist-info/WHEEL +4 -0
  73. systemlink_cli-1.3.1.dist-info/entry_points.txt +7 -0
  74. systemlink_cli-1.3.1.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,93 @@
1
+ # Exercise 7-1: Create and Schedule Test Plans — Instructor Setup Guide
2
+
3
+ Supporting training data for **Exercise 7-1: Create and Schedule Test Plans**.
4
+
5
+ ## Overview
6
+
7
+ This example provisions the infrastructure needed for the guided and unguided
8
+ scheduling exercise. Students create a test plan for a battery pack product,
9
+ schedule it on an environmental chamber using the Scheduling Assistant, and
10
+ review work across multiple calendar views.
11
+
12
+ ## Quick Start
13
+
14
+ ```bash
15
+ # Preview what will be created (recommended before running)
16
+ slcli example install exercise-7-1-test-plans -w <workspace> --dry-run
17
+
18
+ # Install into the target workspace
19
+ slcli example install exercise-7-1-test-plans -w <workspace>
20
+
21
+ # Remove all provisioned resources when the session ends
22
+ slcli example delete exercise-7-1-test-plans -w <workspace>
23
+ ```
24
+
25
+ ## Resources Provisioned
26
+
27
+ | Type | Count | Details |
28
+ | ---------- | ----- | ------------------------------------------------------ |
29
+ | Location | 1 | Battery Testing Lab (Austin, TX) |
30
+ | Product | 1 | Model ABC — Battery Packs family |
31
+ | System | 1 | Chamber B (thermal cycle test stand) |
32
+ | Asset | 1 | Slot_01 — Fixture on Chamber B |
33
+ | DUT | 1 | BAT-DUT-C01 |
34
+ | Workflow | 1 | Battery Test Plan Workflow (full state machine) |
35
+ | Template | 1 | Blank Test Plan |
36
+ | Work Order | 1 | Battery Validation – Model ABC |
37
+ | Work Item | 1 | Thermal Cycle Test (pre-created test plan, state: NEW) |
38
+
39
+ **Total: 9 resources**
40
+
41
+ ## Exercise Alignment
42
+
43
+ ### Guided Steps
44
+
45
+ | Exercise section | Resource used |
46
+ | ------------------------------------- | ------------------------------------------------- |
47
+ | Start from Work Orders | Work Order: **Battery Validation – Model ABC** |
48
+ | Create test plan — product family | Product: **Model ABC** (family: Battery Packs) |
49
+ | Create test plan — select template | Template: **Blank Test Plan** |
50
+ | Create test plan — select DUT | DUT: **BAT-DUT-C01** |
51
+ | Scheduling Assistant — select system | System: **Chamber B** |
52
+ | Scheduling Assistant — select fixture | Asset/Fixture: **Slot_01** |
53
+ | Verify Fixture Allocation | Fixture column shows **Slot_01** on the work item |
54
+ | Adjust schedule from DUT | Assets > **BAT-DUT-C01** > Work Items |
55
+ | View schedule for a specific system | Systems > **Chamber B** > Schedule tab |
56
+
57
+ ### Unguided / Assess Your Skills
58
+
59
+ | Skill step | Resource used |
60
+ | ---------------------------------- | ---------------------------------------------- |
61
+ | Create test plan from a work order | Work Order: **Battery Validation – Model ABC** |
62
+ | Create test plan from a DUT | DUT: **BAT-DUT-C01** > Work Items tab |
63
+
64
+ ## Instructor Notes
65
+
66
+ - The **Thermal Cycle Test** work item is pre-created (linked to the work order)
67
+ so students can practice the Scheduling Assistant steps immediately after
68
+ completing the Create test plan wizard.
69
+ - **Slot_01** is an `asset` with `assetType: FIXTURE` on Chamber B.
70
+ It appears in the Scheduling Assistant's fixture picker and in the
71
+ Fixtures column of the Work Items table.
72
+ - **BAT-DUT-C01** shares the same naming convention as the DUTs
73
+ in exercise-5-1-parametric-insights (e.g. `BAT-DUT-C01`).
74
+ - All resources share the tag `exercise-7-1-test-plans`, which the cleanup
75
+ command uses to delete only exercise resources without touching other data.
76
+
77
+ ## Cleanup
78
+
79
+ ```bash
80
+ slcli example delete exercise-7-1-test-plans -w <workspace>
81
+ ```
82
+
83
+ Deletion order (respects dependencies):
84
+
85
+ 1. `work_item`
86
+ 2. `work_order`
87
+ 3. `testtemplate`
88
+ 4. `workflow`
89
+ 5. `dut`
90
+ 6. `asset` (fixture Slot_01)
91
+ 7. `system` (Chamber B)
92
+ 8. `product` (Model ABC)
93
+ 9. `location` (Battery Testing Lab)
@@ -0,0 +1,323 @@
1
+ ---
2
+ # SLE Example Configuration: Exercise 7-1 - Create and Schedule Test Plans
3
+ format_version: "1.0"
4
+ name: "exercise-7-1-test-plans"
5
+ title: "Exercise 7-1: Create and Schedule Test Plans"
6
+ description: |
7
+ Training data for Exercise 7-1: Create and Schedule Test Plans.
8
+
9
+ Provisions the infrastructure required to complete the test plan scheduling
10
+ exercise using the SystemLink Scheduling Assistant. A battery pack product
11
+ (Model ABC), an environmental chamber system (Chamber B), a fixture slot
12
+ (Slot_01), and a DUT (BAT-DUT-C01) are created so students can:
13
+
14
+ 1. Create a test plan (work item) named "Thermal Cycle Test" for Model ABC.
15
+ 2. Use the Scheduling Assistant to assign Chamber B + Slot_01 + BAT-DUT-C01.
16
+ 3. Drag the test plan onto the calendar timeline.
17
+ 4. Review scheduled work across the Operations > Schedule view and
18
+ the Chamber B system Schedule tab.
19
+ 5. Adjust the schedule from the DUT's Work Items tab.
20
+
21
+ A starter work order ("Battery Validation – Model ABC") and a blank test
22
+ plan work item are also included so the unguided / assess-your-skills steps
23
+ work without additional setup.
24
+
25
+ author: "NI"
26
+ created_date: "2026-02-25"
27
+ updated_date: "2026-02-25"
28
+ tags:
29
+ - "training"
30
+ - "exercise-7-1"
31
+ - "test-plans"
32
+ - "scheduling"
33
+ - "battery"
34
+
35
+ estimated_setup_time_minutes: 3
36
+ required_systemlink_version: "2024.1"
37
+ target_workspace: null
38
+
39
+ resources:
40
+
41
+ # ==========================================================================
42
+ # LOCATION
43
+ # ==========================================================================
44
+
45
+ - type: "location"
46
+ name: "Battery Testing Lab"
47
+ properties:
48
+ description: "Primary facility for battery pack qualification and thermal cycling"
49
+ address: "1000 Electrochemical Drive"
50
+ city: "Austin"
51
+ state: "TX"
52
+ country: "USA"
53
+ building: "Test Hall B"
54
+ id_reference: "loc_batlab"
55
+ tags: ["exercise-7-1-test-plans"]
56
+
57
+ # ==========================================================================
58
+ # PRODUCT
59
+ # ==========================================================================
60
+
61
+ - type: "product"
62
+ name: "Model ABC"
63
+ properties:
64
+ description: "48 V lithium-ion battery pack for industrial automation"
65
+ family: "Battery Packs"
66
+ category: "Energy Storage"
67
+ manufacturer: "DemoPower Systems"
68
+ part_number: "BAT-MODEL-ABC-001"
69
+ id_reference: "prod_abc"
70
+ tags: ["exercise-7-1-test-plans"]
71
+
72
+ # ==========================================================================
73
+ # TEST SYSTEM
74
+ # ==========================================================================
75
+
76
+ # Students select "Chamber B" in the Scheduling Assistant (step 3 of the
77
+ # "Schedule the Test Plan" section).
78
+ - type: "system"
79
+ name: "Chamber B"
80
+ properties:
81
+ description: "Environmental thermal chamber for battery pack cycling tests"
82
+ location_id: "${loc_batlab}"
83
+ serial_number: "CHB-SN-20240601-002"
84
+ status: "operational"
85
+ id_reference: "sys_chamber_b"
86
+ tags: ["exercise-7-1-test-plans"]
87
+
88
+ # ==========================================================================
89
+ # FIXTURE
90
+ # ==========================================================================
91
+
92
+ # Students select "Slot_01" as the fixture for Chamber B in the Scheduling
93
+ # Assistant and verify the Fixtures column shows Slot_01 afterwards
94
+ # (Verify Fixture Allocation section).
95
+ - type: "asset"
96
+ name: "Slot_01"
97
+ properties:
98
+ description: "Fixture slot 1 in Chamber B — primary DUT mounting position"
99
+ system_id: "${sys_chamber_b}"
100
+ location_id: "${loc_batlab}"
101
+ model_name: "Fixture Slot"
102
+ vendor_name: "DemoPower Systems"
103
+ serial_number: "SLOT-CHB-01"
104
+ assetType: "FIXTURE"
105
+ id_reference: "asset_slot01"
106
+ tags: ["exercise-7-1-test-plans"]
107
+
108
+ # ==========================================================================
109
+ # DUT — BAT-DUT-C01
110
+ # ==========================================================================
111
+
112
+ # Students select this DUT in the Scheduling Assistant (DUT section) and when
113
+ # browsing Systems Management > Assets > BAT-DUT-C01 > Work Items.
114
+ - type: "dut"
115
+ name: "BAT-DUT-C01"
116
+ properties:
117
+ description: "Model ABC battery pack under thermal validation in Chamber B"
118
+ system_id: "${sys_chamber_b}"
119
+ location_id: "${loc_batlab}"
120
+ part_number: "BAT-MODEL-ABC-001"
121
+ model_name: "Model ABC"
122
+ model_number: "BAT-MODEL-ABC-001"
123
+ vendor_name: "DemoPower Systems"
124
+ serial_number: "BAT-SN-C01-20250915"
125
+ bus_type: "CAN"
126
+ id_reference: "dut_c01"
127
+ tags: ["exercise-7-1-test-plans"]
128
+
129
+ # ==========================================================================
130
+ # WORKFLOW (required by the test template / work item state machine)
131
+ # ==========================================================================
132
+
133
+ - type: "workflow"
134
+ name: "Battery Test Plan Workflow"
135
+ properties:
136
+ description: "Work item state machine for battery pack test plans"
137
+ actions:
138
+ - name: "START"
139
+ displayText: "Start Test"
140
+ executionAction:
141
+ type: "MANUAL"
142
+ action: "START"
143
+ - name: "END"
144
+ displayText: "End Test"
145
+ executionAction:
146
+ type: "MANUAL"
147
+ action: "END"
148
+ states:
149
+ - name: "NEW"
150
+ dashboardAvailable: false
151
+ defaultSubstate: "NEW"
152
+ substates:
153
+ - name: "NEW"
154
+ displayText: "New"
155
+ availableActions: []
156
+ - name: "DEFINED"
157
+ dashboardAvailable: false
158
+ defaultSubstate: "DEFINED"
159
+ substates:
160
+ - name: "DEFINED"
161
+ displayText: "Defined"
162
+ availableActions: []
163
+ - name: "REVIEWED"
164
+ dashboardAvailable: false
165
+ defaultSubstate: "REVIEWED"
166
+ substates:
167
+ - name: "REVIEWED"
168
+ displayText: "Reviewed"
169
+ availableActions: []
170
+ - name: "SCHEDULED"
171
+ dashboardAvailable: true
172
+ defaultSubstate: "SCHEDULED"
173
+ substates:
174
+ - name: "SCHEDULED"
175
+ displayText: "Scheduled"
176
+ availableActions:
177
+ - action: "START"
178
+ nextState: "IN_PROGRESS"
179
+ nextSubstate: "IN_PROGRESS"
180
+ showInUI: true
181
+ - name: "IN_PROGRESS"
182
+ dashboardAvailable: true
183
+ defaultSubstate: "IN_PROGRESS"
184
+ substates:
185
+ - name: "IN_PROGRESS"
186
+ displayText: "In Progress"
187
+ availableActions:
188
+ - action: "END"
189
+ nextState: "PENDING_APPROVAL"
190
+ nextSubstate: "PENDING_APPROVAL"
191
+ showInUI: true
192
+ - name: "PENDING_APPROVAL"
193
+ dashboardAvailable: true
194
+ defaultSubstate: "PENDING_APPROVAL"
195
+ substates:
196
+ - name: "PENDING_APPROVAL"
197
+ displayText: "Pending Approval"
198
+ availableActions: []
199
+ - name: "CLOSED"
200
+ dashboardAvailable: false
201
+ defaultSubstate: "CLOSED"
202
+ substates:
203
+ - name: "CLOSED"
204
+ displayText: "Closed"
205
+ availableActions: []
206
+ - name: "CANCELED"
207
+ dashboardAvailable: false
208
+ defaultSubstate: "CANCELED"
209
+ substates:
210
+ - name: "CANCELED"
211
+ displayText: "Canceled"
212
+ availableActions: []
213
+ id_reference: "wf_battery_testplan"
214
+ tags: ["exercise-7-1-test-plans"]
215
+
216
+ # ==========================================================================
217
+ # TEST TEMPLATE — "Blank Test Plan" base for the exercise
218
+ # ==========================================================================
219
+
220
+ # Students choose "Blank Test Plan" in the Create a Test Plan wizard (step 5
221
+ # of the Create a Test Plan section). This template is the selectable option.
222
+ - type: "testtemplate"
223
+ name: "Blank Test Plan"
224
+ properties:
225
+ description: "General-purpose blank test plan template for battery pack work items"
226
+ template_group: "Battery Packs"
227
+ type: "testplan"
228
+ workflow_id: "${wf_battery_testplan}"
229
+ product_families: ["Battery Packs"]
230
+ part_numbers: ["BAT-MODEL-ABC-001"]
231
+ id_reference: "tt_blank_testplan"
232
+ tags: ["exercise-7-1-test-plans"]
233
+
234
+ # ==========================================================================
235
+ # WORK ORDER — "Battery Validation – Model ABC"
236
+ # ==========================================================================
237
+
238
+ # The starting point for the guided exercise: Operations > Work Orders >
239
+ # "Battery Validation – Model ABC" > Work Items tab > Create test plan.
240
+ - type: "work_order"
241
+ name: "Battery Validation – Model ABC"
242
+ properties:
243
+ description: "R&D work order requesting thermal testing on new battery pack design"
244
+ work_order_type: "validation"
245
+ status: "new"
246
+ priority: "high"
247
+ scheduled_start: "2026-03-01T09:00:00Z"
248
+ scheduled_end: "2026-03-05T17:00:00Z"
249
+ reserved_systems:
250
+ - "${sys_chamber_b}"
251
+ reserved_assets:
252
+ - "${dut_c01}"
253
+ id_reference: "wo_battery_validation"
254
+ tags: ["exercise-7-1-test-plans"]
255
+
256
+ # ==========================================================================
257
+ # WORK ITEM — starter "Thermal Cycle Test" test plan
258
+ # ==========================================================================
259
+
260
+ # Students create this test plan from the work order's Work Items tab.
261
+ # After creation they open it in the Scheduling Assistant via the "..." menu.
262
+ - type: "work_item"
263
+ name: "Thermal Cycle Test"
264
+ properties:
265
+ description: "Temperature cycling sequence for battery pack validation"
266
+ work_item_type: "testplan"
267
+ test_template_id: "${tt_blank_testplan}"
268
+ work_order_id: "${wo_battery_validation}"
269
+ scheduled_dut: "${dut_c01}"
270
+ scheduled_system: "${sys_chamber_b}"
271
+ assigned_operator: ""
272
+ priority: "high"
273
+ expected_duration_minutes: 120
274
+ acceptance_criteria: "All thermal cycle measurements within specification limits"
275
+ id_reference: "wi_thermal_cycle"
276
+ tags: ["exercise-7-1-test-plans"]
277
+
278
+ cleanup:
279
+ order:
280
+ - "work_item"
281
+ - "work_order"
282
+ - "testtemplate"
283
+ - "workflow"
284
+ - "dut"
285
+ - "asset"
286
+ - "system"
287
+ - "product"
288
+ - "location"
289
+ filter_tags: ["exercise-7-1-test-plans"]
290
+ require_confirmation: true
291
+
292
+ validation:
293
+ require_workspace: true
294
+
295
+ post_install:
296
+ instructions: |
297
+ ✓ Exercise 7-1 resources installed successfully!
298
+
299
+ Resources created:
300
+ - 1 location: Battery Testing Lab
301
+ - 1 product: Model ABC (Battery Packs)
302
+ - 1 system: Chamber B
303
+ - 1 fixture: Slot_01 (asset on Chamber B)
304
+ - 1 DUT: BAT-DUT-C01
305
+ - 1 workflow: Battery Test Plan Workflow
306
+ - 1 template: Blank Test Plan
307
+ - 1 work order: Battery Validation – Model ABC
308
+ - 1 work item: Thermal Cycle Test
309
+
310
+ Ready for Exercise 7-1 — guided steps:
311
+ 1. Navigate to Operations > Work Orders and open "Battery Validation – Model ABC".
312
+ 2. In the Work Items tab, select Create test plan, select Blank Test Plan,
313
+ configure the name as "Thermal Cycle Test" and the DUT as "BAT-DUT-C01".
314
+ 3. In the test plan details, open the "..." menu > Open in scheduling assistant.
315
+ 4. Select "Chamber B" as the system and "Slot_01" as the fixture.
316
+ 5. Select "BAT-DUT-C01" as the DUT.
317
+ 6. Drag the test plan onto tomorrow morning at 9:00 AM and save.
318
+
319
+ Unguided / Assess Your Skills:
320
+ - Navigate to Operations > Work Orders, open "Battery Validation – Model ABC",
321
+ and create an additional test plan from it.
322
+ - Navigate to Assets, open "BAT-DUT-C01", and create a test plan
323
+ from the DUT's Work Items tab.
@@ -0,0 +1,140 @@
1
+ # Specification Compliance Analysis Notebooks
2
+
3
+ Complete set of Jupyter notebooks for performing specification compliance analysis on test data within SystemLink.
4
+
5
+ ## Notebooks Included
6
+
7
+ ### 1. Spec Compliance Calculation
8
+
9
+ - **Purpose**: Calculate compliance metrics (min, max, mean, median) for parametric specifications
10
+ - **Inputs**: Specification data and measurement results
11
+ - **Outputs**: Compliance report (uploaded to product)
12
+ - **Interface**: File Analysis
13
+
14
+ ### 2. Spec Analysis & Compliance Calculation
15
+
16
+ - **Purpose**: Combined workflow for specification analysis and compliance calculation
17
+ - **Inputs**: Spec files and measurement data
18
+ - **Outputs**: Detailed compliance analysis
19
+ - **Interface**: File Analysis
20
+
21
+ ### 3. Specfile Extraction and Ingestion
22
+
23
+ - **Purpose**: Extract specification data and ingest into SystemLink
24
+ - **Inputs**: Excel specification files (see template below)
25
+ - **Outputs**: Structured specification data ingested into SystemLink
26
+ - **Interface**: File Analysis
27
+
28
+ ## Template File
29
+
30
+ A sample specification template file (`spec_template.xlsx`) is included in this example directory. This file demonstrates the required Excel format for the **Specfile Extraction and Ingestion** notebook.
31
+
32
+ ### Template Structure
33
+
34
+ The template includes two sheets:
35
+
36
+ 1. **SpecTemplate** (Documentation)
37
+
38
+ - Instructions for the spec file format
39
+ - Column type definitions
40
+ - Data structure requirements
41
+ - Condition format examples
42
+
43
+ 2. **Example Part** (Sample Data)
44
+ - Complete example with 5 sample specifications
45
+ - Demonstrates all column types (STD, COND, INF)
46
+ - Shows proper formatting and data types
47
+
48
+ ### Excel Format Requirements
49
+
50
+ **Column Types:**
51
+
52
+ - **STD (Standard)**: Core specification fields (Spec ID, Name, Min, Max, etc.)
53
+ - **COND (Condition)**: Conditional specifications (temperature ranges, voltage conditions, etc.)
54
+ - **INF (Information)**: Custom properties and metadata
55
+
56
+ **File Structure:**
57
+
58
+ ```
59
+ Row 1: Column type designation (STD, COND, or INF)
60
+ Row 2: Category (column B) and Spec Type (column C) - e.g., "parametric" or "functional"
61
+ Row 3: Column headers (mapped to spec fields)
62
+ Row 4+: Specification data
63
+ ```
64
+
65
+ **Standard Columns (STD):**
66
+
67
+ - Spec ID (required, unique identifier)
68
+ - Name (specification name)
69
+ - Min, Typical, Max (limits for parametric specs)
70
+ - Unit (measurement unit)
71
+ - Category, Block, Symbol (organization fields)
72
+
73
+ **Condition Format Examples:**
74
+
75
+ - Discrete values: `[1,2,3]` or `[A,B,C]`
76
+ - Numeric range: `[0..10]` (min to max)
77
+ - Range with discrete: `[1..5,2.5]` (range plus intermediate values)
78
+
79
+ ## Usage
80
+
81
+ After installation, notebooks are available in your workspace with the File Analysis interface configured.
82
+
83
+ ### Running via CLI
84
+
85
+ ```bash
86
+ # List published notebooks
87
+ slcli notebook list -w <workspace-id>
88
+
89
+ # Execute a notebook
90
+ slcli notebook execute run -i <notebook-id> -w <workspace-id>
91
+ ```
92
+
93
+ ### Running via SystemLink Web Interface
94
+
95
+ 1. Navigate to File Analysis in your workspace
96
+ 2. Select a specification compliance notebook
97
+ 3. Upload your specification file or measurement data
98
+ 4. Run the notebook
99
+
100
+ ## Requirements
101
+
102
+ - SystemLink Enterprise 2024.1 or later
103
+ - Python 3.9+ with required scientific packages
104
+ - Access to measurement data and specification definitions
105
+ - Excel files (.xlsx) for spec file ingestion
106
+
107
+ ## Key Features
108
+
109
+ - **Condition Mapping**: Intelligent mapping between specification and measurement conditions
110
+ - **Unit Conversion**: Automatic unit conversion for compatible measurements
111
+ - **Compliance Calculation**: Min/Max/Mean/Median compliance across measurement sets
112
+ - **Report Generation**: Excel report generation with compliance results
113
+ - **Data Validation**: Comprehensive validation of input data formats
114
+ - **Flexible Schema**: Support for parametric and functional specifications
115
+
116
+ ## Rules and Constraints
117
+
118
+ ### Condition Mapping
119
+
120
+ - Spec and measurement conditions must have compatible units or both be unitless
121
+ - Unit conversion only supported for compatible base units
122
+ - Missing conditions handled gracefully
123
+
124
+ ### Measurement Data
125
+
126
+ - Measurement data should be stored in base units
127
+ - Non-numeric or empty values are filtered out
128
+ - Unit compatibility checked before inclusion
129
+
130
+ ### Compliance Calculation
131
+
132
+ - Only valid, unit-compatible measurements included
133
+ - Statistical functions (min, max, mean, median) calculated per specification
134
+ - Results formatted for Excel export
135
+
136
+ ## Notes
137
+
138
+ - Each notebook includes detailed documentation about its operation
139
+ - Examples and usage patterns are embedded in each notebook
140
+ - Refer to SystemLink documentation for File Analysis interface details
@@ -0,0 +1,112 @@
1
+ ---
2
+ # SLE Example Configuration: Spec Compliance Analysis Notebooks
3
+ format_version: "1.0"
4
+ name: "spec-compliance-notebooks"
5
+ title: "Specification Compliance Analysis Notebooks"
6
+ description: |
7
+ A complete example providing Jupyter notebooks for performing specification
8
+ compliance analysis on test data. Includes notebooks for BDC extraction,
9
+ spec compliance calculation, and compliance analysis workflows.
10
+
11
+ Notebooks are published to SystemLink with the File Analysis interface,
12
+ enabling seamless integration with test data and measurement workflows.
13
+
14
+ author: "NI"
15
+ created_date: "2025-12-30"
16
+ updated_date: "2025-12-30"
17
+ tags:
18
+ - "analysis"
19
+ - "compliance"
20
+ - "notebooks"
21
+ - "file-analysis"
22
+
23
+ estimated_setup_time_minutes: 5
24
+ required_systemlink_version: "2024.1"
25
+ target_workspace: null
26
+
27
+ resources:
28
+ # Specification Template File (created first so product can reference it)
29
+ - type: "file"
30
+ name: "spec_template.xlsx"
31
+ properties:
32
+ file_path: "spec_template.xlsx"
33
+ description: "Example Excel template for specification ingestion. Upload this file and run the SpecfileExtractionAndIngestion.ipynb notebook to see how specifications are extracted and ingested into SystemLink."
34
+ tags: ["template", "specification"]
35
+ id_reference: "file_spec_template"
36
+ tags: ["example"]
37
+
38
+ # Product for Spec Compliance (created after file so it can reference file ID)
39
+ - type: "product"
40
+ name: "Spec Compliance Example Product"
41
+ properties:
42
+ description: "Example product for specification compliance analysis demonstration"
43
+ tags: ["example", "spec-compliance"]
44
+ file_id_references: ["file_spec_template"]
45
+ id_reference: "prod_spec_example"
46
+ tags: ["example"]
47
+
48
+ # Spec Compliance Calculation Notebook
49
+ - type: "notebook"
50
+ name: "Spec Compliance Calculation.ipynb"
51
+ properties:
52
+ # File path relative to example directory
53
+ file_path: "notebooks/SpecComplianceCalculation.ipynb"
54
+ # Notebook interface for File Analysis
55
+ notebook_interface: "File Analysis"
56
+ description: "Calculate compliance and generate reports for parametric specifications"
57
+ tags: ["spec-compliance", "analysis"]
58
+ id_reference: "nb_spec_calc"
59
+ tags: ["example"]
60
+
61
+ # Spec Analysis & Compliance Calculation Notebook
62
+ - type: "notebook"
63
+ name: "Spec Analysis Compliance Calculation.ipynb"
64
+ properties:
65
+ file_path: "notebooks/SpecAnalysis_ComplianceCalculation.ipynb"
66
+ notebook_interface: "File Analysis"
67
+ description: "Combined spec analysis and compliance calculation workflow"
68
+ tags: ["spec-analysis", "compliance"]
69
+ id_reference: "nb_spec_analysis_calc"
70
+ tags: ["example"]
71
+
72
+ # Specfile Extraction and Ingestion Notebook
73
+ - type: "notebook"
74
+ name: "SpecfileExtractionAndIngestion.ipynb"
75
+ properties:
76
+ file_path: "notebooks/SpecfileExtractionAndIngestion.ipynb"
77
+ notebook_interface: "File Analysis"
78
+ description: "Extract and ingest specification data from specfiles"
79
+ tags: ["spec-extraction", "data-ingestion"]
80
+ id_reference: "nb_spec_extraction"
81
+ tags: ["example"]
82
+
83
+ cleanup:
84
+ order: ["notebook", "file", "product"]
85
+ filter_tags: ["example"]
86
+ require_confirmation: true
87
+
88
+ post_install:
89
+ instructions: |
90
+ All specification compliance analysis resources have been published to your workspace.
91
+
92
+ Created Resources:
93
+ - Product: Spec Compliance Example Product (for organizing spec data)
94
+ - Notebooks:
95
+ * Spec Compliance Calculation.ipynb: Run compliance calculations on measurement data
96
+ * Spec Analysis Compliance Calculation.ipynb: Combined analysis and compliance workflow
97
+ * SpecfileExtractionAndIngestion.ipynb: Extract and ingest specification data
98
+ - Files:
99
+ * spec_template.xlsx: Example Excel template for specification ingestion
100
+
101
+ All notebooks are configured with the File Analysis interface and can be run directly
102
+ from the SystemLink file explorer or invoked programmatically.
103
+
104
+ GETTING STARTED:
105
+ 1. The "spec_template.xlsx" file is a ready-to-use example that demonstrates the
106
+ Excel format required for spec files.
107
+ 2. Use this template as a reference when preparing your own specification files.
108
+ 3. Upload your spec file to the File service and associate it with the product.
109
+ 4. Run the "SpecfileExtractionAndIngestion.ipynb" notebook to extract and ingest
110
+ specs into your product.
111
+
112
+ For detailed usage and format documentation, refer to the example README.