Metadata-Version: 2.3
Name: flexline_models
Version: 0.3.3
Summary: Flexline integration models
Author: Huysentruyt Stijn
Author-email: Huysentruyt Stijn <stijn.huysentruyt@ugent.be>
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Dist: pydantic>=2.12.5
Requires-Python: >=3.11
Description-Content-Type: text/markdown

# Context

This package contains the data object definitions used for integration of the software modules in the FlexLine project.

You can choose between two formats for the data objects: dataclasses and Pydantic v2 models. The dataclasses are simple Python classes that can be used for basic data storage and manipulation, while the Pydantic models provide additional features such as validation and serialization.

Example import 
```python
# Load dataclass models:
from flexline_models.dataclasses import AllocationType
# Load pydantic models:
from flexline_models.pydantic import AllocationType
```

[Link](https://pypi.org/project/flexline-models/)

# Documentation

## Terminology

- Operations definition ~ Product type = The container object for a certain product type to be manufactured, collection of Operations segments.
- Operations segment ~ Task = Equipment independent, the what but not the how, so no timing. May contain depencencies to other tasks (end up with assembly graph).
- Work master ~ Task implementation TEMPLATE = Equipment dependent, equipment defined on TYPE level, the how, so can contain timing information.
- Work directive ~ Executable Task = The how combined with the who and which, determines all the instances that are used, timing is overtaken from the work master it refers to.
- Job ~ todo some executable task = job object that refers to some work (directive) to be performed, work directives are reusable.
- Operations Schedule ~ Order mix = Container object for Operations Requests.
- Operations Request ~ Single product order = Container object for Segment Requirements, a single product type to be manufactured.
- Segment Requirement ~ Task request = Separate objects for a task to be performed for a certain product instance within an operations schedule. Every segment requirement will need to be fulfilled by a job object.
