flexline-models 0.3.2__tar.gz → 0.3.4__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: flexline_models
3
- Version: 0.3.2
3
+ Version: 0.3.4
4
4
  Summary: Flexline integration models
5
5
  Author: Huysentruyt Stijn
6
6
  Author-email: Huysentruyt Stijn <stijn.huysentruyt@ugent.be>
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: flexline-schema-combined.schema.json
3
- # timestamp: 2026-06-09T14:45:18+00:00
3
+ # timestamp: 2026-06-11T07:50:50+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -373,9 +373,10 @@ class LineBalancingOutputType(OutputType):
373
373
 
374
374
 
375
375
  @dataclass
376
- class SimropOrchestrationInputType(InputType):
376
+ class OrchestrationInputType(InputType):
377
377
  operationsRequests: list[OperationsRequestType] | None = None
378
378
  workstations: list[WorkstationType] | None = None
379
+ operators: list[OperatorType] | None = None
379
380
  tracks: list[TrackType] | None = None
380
381
  curves: list[CurveType] | None = None
381
382
  switches: list[SwitchType] | None = None
@@ -383,7 +384,7 @@ class SimropOrchestrationInputType(InputType):
383
384
 
384
385
 
385
386
  @dataclass
386
- class SimropOrchestrationOutputType(OutputType):
387
+ class OrchestrationOutputType(OutputType):
387
388
  pass
388
389
 
389
390
 
@@ -430,8 +431,8 @@ class TaskDurationEstimationOutputType(OutputType):
430
431
  class Model:
431
432
  lineBalancingInput: LineBalancingInputType | None = None
432
433
  lineBalancingOutput: LineBalancingOutputType | None = None
433
- simropOrchestrationInput: SimropOrchestrationInputType | None = None
434
- simropOrchestrationOutput: SimropOrchestrationOutputType | None = None
434
+ orchestrationInput: OrchestrationInputType | None = None
435
+ orchestrationOutput: OrchestrationOutputType | None = None
435
436
  layoutGenerationInput: LayoutGenerationInputType | None = None
436
437
  layoutGenerationOutput: LayoutGenerationOutputType | None = None
437
438
  taskDurationEstimationInput: TaskDurationEstimationInputType | None = None
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: flexline-schema-combined.schema.json
3
- # timestamp: 2026-06-09T14:45:17+00:00
3
+ # timestamp: 2026-06-11T07:50:50+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -11,7 +11,7 @@ from pydantic import BaseModel, ConfigDict
11
11
 
12
12
  class AssemblyTimeType(BaseModel):
13
13
  model_config = ConfigDict(
14
- extra='forbid',
14
+ extra='allow',
15
15
  )
16
16
  taskId: str | None
17
17
  productTypeId: str | None = None
@@ -30,7 +30,7 @@ class CardinalDirectionType(Enum):
30
30
 
31
31
  class CostProfileType(BaseModel):
32
32
  model_config = ConfigDict(
33
- extra='forbid',
33
+ extra='allow',
34
34
  )
35
35
  acquisitionCost: float | None = None
36
36
  configurationCost: float | None = None
@@ -39,7 +39,7 @@ class CostProfileType(BaseModel):
39
39
 
40
40
  class CostType(BaseModel):
41
41
  model_config = ConfigDict(
42
- extra='forbid',
42
+ extra='allow',
43
43
  )
44
44
  fixedCost: float | None = None
45
45
  variableCost: float | None = None
@@ -80,7 +80,7 @@ class OperationDependencyTypeType(Enum):
80
80
 
81
81
  class OperationDependencyType(BaseModel):
82
82
  model_config = ConfigDict(
83
- extra='forbid',
83
+ extra='allow',
84
84
  )
85
85
  dependencyType: OperationDependencyTypeType | None = None
86
86
  dependencyFactorSeconds: float | None = None
@@ -89,7 +89,7 @@ class OperationDependencyType(BaseModel):
89
89
 
90
90
  class OperationsSegmentType(BaseModel):
91
91
  model_config = ConfigDict(
92
- extra='forbid',
92
+ extra='allow',
93
93
  )
94
94
  id: str | None = None
95
95
  name: str | None = None
@@ -99,7 +99,7 @@ class OperationsSegmentType(BaseModel):
99
99
 
100
100
  class ProductDemandType(BaseModel):
101
101
  model_config = ConfigDict(
102
- extra='forbid',
102
+ extra='allow',
103
103
  )
104
104
  productTypeId: str | None = None
105
105
  demand: float | None = None
@@ -107,7 +107,7 @@ class ProductDemandType(BaseModel):
107
107
 
108
108
  class PropertyTypeType(BaseModel):
109
109
  model_config = ConfigDict(
110
- extra='forbid',
110
+ extra='allow',
111
111
  )
112
112
  id: str | None = None
113
113
  name: str | None = None
@@ -117,7 +117,7 @@ class PropertyTypeType(BaseModel):
117
117
 
118
118
  class PropertyValueType(BaseModel):
119
119
  model_config = ConfigDict(
120
- extra='forbid',
120
+ extra='allow',
121
121
  )
122
122
  propertyTypeId: str | None = None
123
123
  refersToId: str | None = None
@@ -127,7 +127,7 @@ class PropertyValueType(BaseModel):
127
127
 
128
128
  class BaseResourceTypeType(BaseModel):
129
129
  model_config = ConfigDict(
130
- extra='forbid',
130
+ extra='allow',
131
131
  )
132
132
  id: str | None = None
133
133
  name: str | None = None
@@ -136,7 +136,7 @@ class BaseResourceTypeType(BaseModel):
136
136
 
137
137
  class BaseResourceType(BaseModel):
138
138
  model_config = ConfigDict(
139
- extra='forbid',
139
+ extra='allow',
140
140
  )
141
141
  id: str | None = None
142
142
  name: str | None = None
@@ -146,7 +146,7 @@ class BaseResourceType(BaseModel):
146
146
 
147
147
  class InterfaceConnectionType(BaseModel):
148
148
  model_config = ConfigDict(
149
- extra='forbid',
149
+ extra='allow',
150
150
  )
151
151
  fromInterfaceId: str | None = None
152
152
  toInterfaceId: str | None = None
@@ -154,7 +154,7 @@ class InterfaceConnectionType(BaseModel):
154
154
 
155
155
  class InterfaceTypeType(BaseModel):
156
156
  model_config = ConfigDict(
157
- extra='forbid',
157
+ extra='allow',
158
158
  )
159
159
  id: str | None = None
160
160
  name: str | None = None
@@ -165,7 +165,7 @@ class InterfaceTypeType(BaseModel):
165
165
 
166
166
  class InterfaceType(BaseModel):
167
167
  model_config = ConfigDict(
168
- extra='forbid',
168
+ extra='allow',
169
169
  )
170
170
  id: str | None = None
171
171
  name: str | None = None
@@ -175,10 +175,15 @@ class InterfaceType(BaseModel):
175
175
 
176
176
 
177
177
  class PersonaType(BaseResourceTypeType):
178
- pass
178
+ model_config = ConfigDict(
179
+ extra='allow',
180
+ )
179
181
 
180
182
 
181
183
  class ResourceTypeType(BaseResourceTypeType):
184
+ model_config = ConfigDict(
185
+ extra='allow',
186
+ )
182
187
  interfaces: list[InterfaceTypeType] | None = None
183
188
  imageUrl: str | None = None
184
189
  isDeadEnd: bool | None = None
@@ -190,6 +195,9 @@ class ResourceTypeType(BaseResourceTypeType):
190
195
 
191
196
 
192
197
  class ResourceType(BaseResourceType):
198
+ model_config = ConfigDict(
199
+ extra='allow',
200
+ )
193
201
  interfaces: list[InterfaceType] | None = None
194
202
  sizeX: float | None = None
195
203
  sizeY: float | None = None
@@ -199,35 +207,51 @@ class ResourceType(BaseResourceType):
199
207
 
200
208
 
201
209
  class SwitchTypeType(ResourceTypeType):
202
- pass
210
+ model_config = ConfigDict(
211
+ extra='allow',
212
+ )
203
213
 
204
214
 
205
215
  class SwitchType(ResourceType):
216
+ model_config = ConfigDict(
217
+ extra='allow',
218
+ )
206
219
  inputDirection: CardinalDirectionType | None = None
207
220
 
208
221
 
209
222
  class TrackTypeType(ResourceTypeType):
223
+ model_config = ConfigDict(
224
+ extra='allow',
225
+ )
210
226
  minLength: float | None = None
211
227
  maxLength: float | None = None
212
228
 
213
229
 
214
230
  class TrackType(ResourceType):
231
+ model_config = ConfigDict(
232
+ extra='allow',
233
+ )
215
234
  length: float | None = None
216
235
  direction: CardinalDirectionType | None = None
217
236
 
218
237
 
219
238
  class WorkstationTypeType(ResourceTypeType):
220
- pass
239
+ model_config = ConfigDict(
240
+ extra='allow',
241
+ )
221
242
 
222
243
 
223
244
  class WorkstationType(ResourceType):
245
+ model_config = ConfigDict(
246
+ extra='allow',
247
+ )
224
248
  inputDirection: CardinalDirectionType | None = None
225
249
  outputDirection: CardinalDirectionType | None = None
226
250
 
227
251
 
228
252
  class AllocationType(BaseModel):
229
253
  model_config = ConfigDict(
230
- extra='forbid',
254
+ extra='allow',
231
255
  )
232
256
  productTypeId: str | None = None
233
257
  """
@@ -261,7 +285,7 @@ class AllocationType(BaseModel):
261
285
 
262
286
  class ExecutionTimeProfileType(BaseModel):
263
287
  model_config = ConfigDict(
264
- extra='forbid',
288
+ extra='allow',
265
289
  )
266
290
  workMasterId: str | None = None
267
291
  workstationTypeId: str | None = None
@@ -276,7 +300,7 @@ class ExecutionTimeProfileType(BaseModel):
276
300
 
277
301
  class WorkstationAnalysisType(BaseModel):
278
302
  model_config = ConfigDict(
279
- extra='forbid',
303
+ extra='allow',
280
304
  )
281
305
  workstationId: str | None = None
282
306
  utilization: float | None = None
@@ -287,18 +311,24 @@ class WorkstationAnalysisType(BaseModel):
287
311
 
288
312
  class ConstraintType(BaseModel):
289
313
  model_config = ConfigDict(
290
- extra='forbid',
314
+ extra='allow',
291
315
  )
292
316
  id: str | None = None
293
317
 
294
318
 
295
319
  class FixedLocationType(ConstraintType):
320
+ model_config = ConfigDict(
321
+ extra='allow',
322
+ )
296
323
  resourceId: str | None = None
297
324
  positionX: float | None = None
298
325
  positionY: float | None = None
299
326
 
300
327
 
301
328
  class FloorZoneType(ConstraintType):
329
+ model_config = ConfigDict(
330
+ extra='allow',
331
+ )
302
332
  positionX: float | None = None
303
333
  positionY: float | None = None
304
334
  sizeX: float | None = None
@@ -308,20 +338,23 @@ class FloorZoneType(ConstraintType):
308
338
 
309
339
  class ProductThroughputType(BaseModel):
310
340
  model_config = ConfigDict(
311
- extra='forbid',
341
+ extra='allow',
312
342
  )
313
343
  productId: str | None = None
314
344
  estimatedYieldPerHour: float | None = None
315
345
 
316
346
 
317
347
  class WorkstationConnectionType(ConstraintType):
348
+ model_config = ConfigDict(
349
+ extra='allow',
350
+ )
318
351
  fromId: str | None = None
319
352
  toId: str | None = None
320
353
 
321
354
 
322
355
  class InputType(BaseModel):
323
356
  model_config = ConfigDict(
324
- extra='forbid',
357
+ extra='allow',
325
358
  )
326
359
  propertyTypes: list[PropertyTypeType] | None = None
327
360
  propertyValues: list[PropertyValueType] | None = None
@@ -329,7 +362,7 @@ class InputType(BaseModel):
329
362
 
330
363
  class JobType(BaseModel):
331
364
  model_config = ConfigDict(
332
- extra='forbid',
365
+ extra='allow',
333
366
  )
334
367
  id: str | None = None
335
368
  name: str | None = None
@@ -345,7 +378,7 @@ class JobType(BaseModel):
345
378
 
346
379
  class OperationsDefinitionType(BaseModel):
347
380
  model_config = ConfigDict(
348
- extra='forbid',
381
+ extra='allow',
349
382
  )
350
383
  id: str | None = None
351
384
  name: str | None = None
@@ -354,7 +387,7 @@ class OperationsDefinitionType(BaseModel):
354
387
 
355
388
  class OperationsRequestType(BaseModel):
356
389
  model_config = ConfigDict(
357
- extra='forbid',
390
+ extra='allow',
358
391
  )
359
392
  id: str | None = None
360
393
  name: str | None = None
@@ -365,24 +398,34 @@ class OperationsRequestType(BaseModel):
365
398
 
366
399
  class OutputType(BaseModel):
367
400
  model_config = ConfigDict(
368
- extra='forbid',
401
+ extra='allow',
369
402
  )
370
403
  propertyValues: list[PropertyValueType] | None = None
371
404
 
372
405
 
373
406
  class CurveTypeType(ResourceTypeType):
374
- pass
407
+ model_config = ConfigDict(
408
+ extra='allow',
409
+ )
375
410
 
376
411
 
377
412
  class CurveType(ResourceType):
413
+ model_config = ConfigDict(
414
+ extra='allow',
415
+ )
378
416
  inputDirection: CardinalDirectionType | None = None
379
417
 
380
418
 
381
419
  class OperatorType(ResourceType):
382
- pass
420
+ model_config = ConfigDict(
421
+ extra='allow',
422
+ )
383
423
 
384
424
 
385
425
  class LineBalancingInputType(InputType):
426
+ model_config = ConfigDict(
427
+ extra='allow',
428
+ )
386
429
  productTypes: list[OperationsDefinitionType] | None = None
387
430
  workstations: list[WorkstationType] | None = None
388
431
  personas: list[PersonaType] | None = None
@@ -394,6 +437,9 @@ class LineBalancingInputType(InputType):
394
437
 
395
438
 
396
439
  class LineBalancingOutputType(OutputType):
440
+ model_config = ConfigDict(
441
+ extra='allow',
442
+ )
397
443
  allocations: list[AllocationType] | None = None
398
444
  workstationAnalysis: list[WorkstationAnalysisType] | None = None
399
445
  averageThroughputUnitsPerHour: float | None = None
@@ -402,20 +448,29 @@ class LineBalancingOutputType(OutputType):
402
448
  steadyStateThroughputAchievedAtUnit: int | None = None
403
449
 
404
450
 
405
- class SimropOrchestrationInputType(InputType):
451
+ class OrchestrationInputType(InputType):
452
+ model_config = ConfigDict(
453
+ extra='allow',
454
+ )
406
455
  operationsRequests: list[OperationsRequestType] | None = None
407
456
  workstations: list[WorkstationType] | None = None
457
+ operators: list[OperatorType] | None = None
408
458
  tracks: list[TrackType] | None = None
409
459
  curves: list[CurveType] | None = None
410
460
  switches: list[SwitchType] | None = None
411
461
  interfaceConnections: list[InterfaceConnectionType] | None = None
412
462
 
413
463
 
414
- class SimropOrchestrationOutputType(OutputType):
415
- pass
464
+ class OrchestrationOutputType(OutputType):
465
+ model_config = ConfigDict(
466
+ extra='allow',
467
+ )
416
468
 
417
469
 
418
470
  class LayoutGenerationInputType(InputType):
471
+ model_config = ConfigDict(
472
+ extra='allow',
473
+ )
419
474
  trackType: TrackTypeType | None = None
420
475
  trackTypes: list[TrackTypeType] | None = None
421
476
  curveTypes: list[CurveTypeType] | None = None
@@ -428,6 +483,9 @@ class LayoutGenerationInputType(InputType):
428
483
 
429
484
 
430
485
  class LayoutGenerationOutputType(OutputType):
486
+ model_config = ConfigDict(
487
+ extra='allow',
488
+ )
431
489
  tracks: list[TrackType] | None = None
432
490
  curves: list[CurveType] | None = None
433
491
  switches: list[SwitchType] | None = None
@@ -438,6 +496,9 @@ class LayoutGenerationOutputType(OutputType):
438
496
 
439
497
 
440
498
  class TaskDurationEstimationInputType(InputType):
499
+ model_config = ConfigDict(
500
+ extra='allow',
501
+ )
441
502
  productTypes: list[OperationsDefinitionType] | None = None
442
503
  workstations: list[WorkstationType] | None = None
443
504
  personas: list[PersonaType] | None = None
@@ -445,6 +506,9 @@ class TaskDurationEstimationInputType(InputType):
445
506
 
446
507
 
447
508
  class TaskDurationEstimationOutputType(OutputType):
509
+ model_config = ConfigDict(
510
+ extra='allow',
511
+ )
448
512
  personas: list[PersonaType] | None = None
449
513
  operators: list[OperatorType] | None = None
450
514
  executionTimeProfiles: list[ExecutionTimeProfileType] | None = None
@@ -452,12 +516,12 @@ class TaskDurationEstimationOutputType(OutputType):
452
516
 
453
517
  class Model(BaseModel):
454
518
  model_config = ConfigDict(
455
- extra='forbid',
519
+ extra='allow',
456
520
  )
457
521
  lineBalancingInput: LineBalancingInputType | None = None
458
522
  lineBalancingOutput: LineBalancingOutputType | None = None
459
- simropOrchestrationInput: SimropOrchestrationInputType | None = None
460
- simropOrchestrationOutput: SimropOrchestrationOutputType | None = None
523
+ orchestrationInput: OrchestrationInputType | None = None
524
+ orchestrationOutput: OrchestrationOutputType | None = None
461
525
  layoutGenerationInput: LayoutGenerationInputType | None = None
462
526
  layoutGenerationOutput: LayoutGenerationOutputType | None = None
463
527
  taskDurationEstimationInput: TaskDurationEstimationInputType | None = None
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "flexline_models"
3
- version = "0.3.2"
3
+ version = "0.3.4"
4
4
  authors = [
5
5
  { name="Huysentruyt Stijn", email="stijn.huysentruyt@ugent.be" }
6
6
  ]
@@ -64,7 +64,7 @@ help = "generate python package"
64
64
  cmd = "./JSON-Schema/combine_schemas.py"
65
65
 
66
66
  [[tool.poe.tasks.gen.sequence]]
67
- cmd = "datamodel-codegen --input ./JSON-Schema/flexline-schema-combined.schema.json --input-file-type jsonschema --output ./Python/src/flexline_models/pydantic.py --output-model-type pydantic_v2.BaseModel --use-schema-description --use-field-description"
67
+ cmd = "datamodel-codegen --input ./JSON-Schema/flexline-schema-combined.schema.json --input-file-type jsonschema --output ./Python/src/flexline_models/pydantic.py --output-model-type pydantic_v2.BaseModel --use-schema-description --use-field-description --allow-extra-fields"
68
68
 
69
69
  [[tool.poe.tasks.gen.sequence]]
70
70
  cmd = "datamodel-codegen --input ./JSON-Schema/flexline-schema-combined.schema.json --input-file-type jsonschema --output ./Python/src/flexline_models/dataclasses.py --output-model-type dataclasses.dataclass --use-schema-description --use-field-description"