Metadata-Version: 2.1
Name: phases
Version: 0.1.0
Summary: A Framework for creating a boilerplate template for ai projects that are ready for MLOps
Home-page: https://gitlab.com/tud.ibmt/phases
License: MIT
Author: fehrlich
Author-email: fehrlichd@gmail.com
Requires-Python: >=3.7,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Dist: PyYAML (>=5.3,<6.0)
Requires-Dist: docopt (>=0.6,<0.7)
Requires-Dist: pyPhases (>=0.0,<0.1)
Requires-Dist: pystache (>=0.5,<0.6)
Project-URL: Repository, https://gitlab.com/tud.ibmt/phases
Description-Content-Type: text/markdown

# pyPhase Project-builder

This Generator will create a ready-to-go pyPhase-Project, based on a config-Yaml. 

## Setup

`pip install phases`

## create `project.yaml`

### minimal
```YAML
name: "myProject"
namespace: myGroup
phases:
    stage1:
        - name: Phase1
          description: my first phase
        - name: Phase2
          description: my second phase
```

run with `python myProject`

### complete
```YAML
name: "sleepClassificationCNN"
namespace: tud.ibmt
exporter:
    - ObjectExporter
    - KerasExporter
publisher:
    - DotSience
phases:
    prepareData:
        - name: DataWrapper
          description: get EDF Data
          exports: 
            - trainingRaw
            - validationRaw
            - evaluationRaw
        - name: EDF4SleepStages
          description: Prepare EDF Data for sleep stage recognition
          exports: 
            - trainingTransformed
            - validationTransformed
    train:
        - name: SleepPhaseDetectionModel
          description: Create Model for sleep stage recognition
          exports: 
            - model
    evaluate:
        - name: SleepPhaseDetectionModel
          description: Create Model for sleep stage recognition
```

### Generate

`phases create`


### Development

The generator will create stubs for each phase, publisher, storage, exporter and generator that 
does not exists in the pyPhase-Package. The stubs are in the project folder and implement empty
method that are required.

To implement your project, you only need to fill those methods. For the minimal example you need
to fill the `main`-methods of Phase1 (`myProject/phases/Phase1.py`) and Phase2.
