flexline-models 0.3.3__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.3
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:48:29+00:00
3
+ # timestamp: 2026-06-11T07:50:50+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -373,7 +373,7 @@ 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
379
  operators: list[OperatorType] | None = None
@@ -384,7 +384,7 @@ class SimropOrchestrationInputType(InputType):
384
384
 
385
385
 
386
386
  @dataclass
387
- class SimropOrchestrationOutputType(OutputType):
387
+ class OrchestrationOutputType(OutputType):
388
388
  pass
389
389
 
390
390
 
@@ -431,8 +431,8 @@ class TaskDurationEstimationOutputType(OutputType):
431
431
  class Model:
432
432
  lineBalancingInput: LineBalancingInputType | None = None
433
433
  lineBalancingOutput: LineBalancingOutputType | None = None
434
- simropOrchestrationInput: SimropOrchestrationInputType | None = None
435
- simropOrchestrationOutput: SimropOrchestrationOutputType | None = None
434
+ orchestrationInput: OrchestrationInputType | None = None
435
+ orchestrationOutput: OrchestrationOutputType | None = None
436
436
  layoutGenerationInput: LayoutGenerationInputType | None = None
437
437
  layoutGenerationOutput: LayoutGenerationOutputType | None = None
438
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:48:29+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,7 +448,10 @@ 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
408
457
  operators: list[OperatorType] | None = None
@@ -412,11 +461,16 @@ class SimropOrchestrationInputType(InputType):
412
461
  interfaceConnections: list[InterfaceConnectionType] | None = None
413
462
 
414
463
 
415
- class SimropOrchestrationOutputType(OutputType):
416
- pass
464
+ class OrchestrationOutputType(OutputType):
465
+ model_config = ConfigDict(
466
+ extra='allow',
467
+ )
417
468
 
418
469
 
419
470
  class LayoutGenerationInputType(InputType):
471
+ model_config = ConfigDict(
472
+ extra='allow',
473
+ )
420
474
  trackType: TrackTypeType | None = None
421
475
  trackTypes: list[TrackTypeType] | None = None
422
476
  curveTypes: list[CurveTypeType] | None = None
@@ -429,6 +483,9 @@ class LayoutGenerationInputType(InputType):
429
483
 
430
484
 
431
485
  class LayoutGenerationOutputType(OutputType):
486
+ model_config = ConfigDict(
487
+ extra='allow',
488
+ )
432
489
  tracks: list[TrackType] | None = None
433
490
  curves: list[CurveType] | None = None
434
491
  switches: list[SwitchType] | None = None
@@ -439,6 +496,9 @@ class LayoutGenerationOutputType(OutputType):
439
496
 
440
497
 
441
498
  class TaskDurationEstimationInputType(InputType):
499
+ model_config = ConfigDict(
500
+ extra='allow',
501
+ )
442
502
  productTypes: list[OperationsDefinitionType] | None = None
443
503
  workstations: list[WorkstationType] | None = None
444
504
  personas: list[PersonaType] | None = None
@@ -446,6 +506,9 @@ class TaskDurationEstimationInputType(InputType):
446
506
 
447
507
 
448
508
  class TaskDurationEstimationOutputType(OutputType):
509
+ model_config = ConfigDict(
510
+ extra='allow',
511
+ )
449
512
  personas: list[PersonaType] | None = None
450
513
  operators: list[OperatorType] | None = None
451
514
  executionTimeProfiles: list[ExecutionTimeProfileType] | None = None
@@ -453,12 +516,12 @@ class TaskDurationEstimationOutputType(OutputType):
453
516
 
454
517
  class Model(BaseModel):
455
518
  model_config = ConfigDict(
456
- extra='forbid',
519
+ extra='allow',
457
520
  )
458
521
  lineBalancingInput: LineBalancingInputType | None = None
459
522
  lineBalancingOutput: LineBalancingOutputType | None = None
460
- simropOrchestrationInput: SimropOrchestrationInputType | None = None
461
- simropOrchestrationOutput: SimropOrchestrationOutputType | None = None
523
+ orchestrationInput: OrchestrationInputType | None = None
524
+ orchestrationOutput: OrchestrationOutputType | None = None
462
525
  layoutGenerationInput: LayoutGenerationInputType | None = None
463
526
  layoutGenerationOutput: LayoutGenerationOutputType | None = None
464
527
  taskDurationEstimationInput: TaskDurationEstimationInputType | None = None
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "flexline_models"
3
- version = "0.3.3"
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"