-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Code cleaning after major dependencies updates
Signed-off-by: Johannes Ott <[email protected]> Make prediction page to default page and remove dashboard Signed-off-by: Johannes Ott <[email protected]> Small codestyle Signed-off-by: Johannes Ott <[email protected]> Remove unused imports Signed-off-by: Johannes Ott <[email protected]> Fix deprecated styling things in ui after upgrading to 15.X Signed-off-by: Johannes Ott <[email protected]> Refactor AuthGuard to functional Guard CanActivate Interface is deprecated from Angular 15 Signed-off-by: Johannes Ott <[email protected]> Cleanup Sonarlint findings in UI Signed-off-by: Johannes Ott <[email protected]> Cleanup python code Signed-off-by: Johannes Ott <[email protected]>
- Loading branch information
Showing
55 changed files
with
931 additions
and
1,036 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
from learninghouse.service import run | ||
|
||
if __name__ == '__main__': | ||
if __name__ == "__main__": | ||
run() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,45 +1,41 @@ | ||
from fastapi import APIRouter, Depends | ||
|
||
from learninghouse import versions | ||
from learninghouse.api import brain, configuration, auth | ||
from learninghouse.api import auth, brain, configuration | ||
from learninghouse.api.errors import LearningHouseSecurityException | ||
from learninghouse.core.settings import service_settings | ||
from learninghouse.models import LearningHouseVersions | ||
from learninghouse.services.auth import auth_service | ||
|
||
api = APIRouter( | ||
prefix='/api', | ||
prefix="/api", | ||
responses={ | ||
LearningHouseSecurityException.STATUS_CODE: | ||
LearningHouseSecurityException.api_description() | ||
}) | ||
LearningHouseSecurityException.STATUS_CODE: LearningHouseSecurityException.api_description() | ||
}, | ||
) | ||
|
||
api.include_router(brain.router) | ||
api.include_router(configuration.router) | ||
|
||
api.include_router(auth.router) | ||
|
||
|
||
@api.get('/mode', | ||
response_model=str, | ||
tags=['service']) | ||
@api.get("/mode", response_model=str, tags=["service"]) | ||
def get_mode(): | ||
mode = service_settings().environment | ||
if auth_service().is_initial_admin_password: | ||
mode = 'initial' | ||
mode = "initial" | ||
|
||
return mode | ||
|
||
|
||
@api.get('/versions', | ||
response_model=LearningHouseVersions, | ||
summary='Get versions', | ||
description='Get versions of the service and the used libraries', | ||
tags=['service'], | ||
responses={ | ||
200: { | ||
'description': 'Successfully retrieved versions' | ||
} | ||
}) | ||
@api.get( | ||
"/versions", | ||
response_model=LearningHouseVersions, | ||
summary="Get versions", | ||
description="Get versions of the service and the used libraries", | ||
tags=["service"], | ||
responses={200: {"description": "Successfully retrieved versions"}}, | ||
) | ||
def get_versions(): | ||
return versions |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,88 +1,88 @@ | ||
from fastapi import APIRouter, Depends | ||
|
||
from learninghouse.api.errors.brain import (BrainNoConfiguration, | ||
BrainNotActual, BrainNotEnoughData, | ||
BrainNotTrained) | ||
from learninghouse.models.brain import (BrainInfo, BrainPredictionRequest, | ||
BrainPredictionResult, | ||
BrainTrainingRequest) | ||
from learninghouse.services.brain import Brain, BrainService | ||
from learninghouse.api.errors.brain import ( | ||
BrainNoConfiguration, | ||
BrainNotActual, | ||
BrainNotEnoughData, | ||
BrainNotTrained, | ||
) | ||
from learninghouse.models.brain import ( | ||
BrainInfo, | ||
BrainPredictionRequest, | ||
BrainPredictionResult, | ||
BrainTrainingRequest, | ||
) | ||
from learninghouse.services.auth import auth_service | ||
from learninghouse.services.brain import Brain, BrainService | ||
|
||
auth = auth_service() | ||
|
||
router = APIRouter( | ||
prefix='/brain', | ||
tags=['brain'] | ||
) | ||
router = APIRouter(prefix="/brain", tags=["brain"]) | ||
|
||
router_usage = APIRouter( | ||
dependencies=[Depends(auth.protect_user)] | ||
) | ||
router_usage = APIRouter(dependencies=[Depends(auth.protect_user)]) | ||
|
||
router_training = APIRouter( | ||
dependencies=[Depends(auth.protect_trainer)] | ||
) | ||
router_training = APIRouter(dependencies=[Depends(auth.protect_trainer)]) | ||
|
||
|
||
@router_usage.get('/{name}/info', | ||
response_model=BrainInfo, | ||
summary='Retrieve information', | ||
description='Retrieve all information of a trained brain.', | ||
responses={ | ||
200: { | ||
'description': 'Information of the trained brain' | ||
}, | ||
BrainNotTrained.STATUS_CODE: BrainNotTrained.api_description() | ||
}) | ||
@router_usage.get( | ||
"/{name}/info", | ||
response_model=BrainInfo, | ||
summary="Retrieve information", | ||
description="Retrieve all information of a trained brain.", | ||
responses={ | ||
200: {"description": "Information of the trained brain"}, | ||
BrainNotTrained.STATUS_CODE: BrainNotTrained.api_description(), | ||
}, | ||
) | ||
async def info_get(name: str): | ||
brain_config = Brain.load_trained(name) | ||
return brain_config.info | ||
|
||
|
||
@router_training.post('/{name}/training', | ||
response_model=BrainInfo, | ||
summary='Train the brain again', | ||
description='After version updates train the brain with existing data.', | ||
responses={ | ||
200: { | ||
'description': 'Information of the trained brain' | ||
}, | ||
BrainNotEnoughData.STATUS_CODE: BrainNotEnoughData.api_description(), | ||
BrainNoConfiguration.STATUS_CODE: BrainNoConfiguration.api_description() | ||
}) | ||
@router_training.post( | ||
"/{name}/training", | ||
response_model=BrainInfo, | ||
summary="Train the brain again", | ||
description="After version updates train the brain with existing data.", | ||
responses={ | ||
200: {"description": "Information of the trained brain"}, | ||
BrainNotEnoughData.STATUS_CODE: BrainNotEnoughData.api_description(), | ||
BrainNoConfiguration.STATUS_CODE: BrainNoConfiguration.api_description(), | ||
}, | ||
) | ||
async def training_post(name: str): | ||
return BrainService.request(name) | ||
|
||
|
||
@router_training.put('/{name}/training', | ||
response_model=BrainInfo, | ||
summary='Train the brain with new data', | ||
description='Train the brain with additional data.', | ||
responses={ | ||
200: { | ||
'description': 'Information of the trained brain' | ||
}, | ||
BrainNotEnoughData.STATUS_CODE: BrainNotEnoughData.api_description(), | ||
BrainNoConfiguration.STATUS_CODE: BrainNoConfiguration.api_description() | ||
}) | ||
@router_training.put( | ||
"/{name}/training", | ||
response_model=BrainInfo, | ||
summary="Train the brain with new data", | ||
description="Train the brain with additional data.", | ||
responses={ | ||
200: {"description": "Information of the trained brain"}, | ||
BrainNotEnoughData.STATUS_CODE: BrainNotEnoughData.api_description(), | ||
BrainNoConfiguration.STATUS_CODE: BrainNoConfiguration.api_description(), | ||
}, | ||
) | ||
async def training_put(name: str, request_data: BrainTrainingRequest): | ||
return BrainService.request(name, request_data.dict()) | ||
|
||
|
||
@router_usage.post('/{name}/prediction', | ||
response_model=BrainPredictionResult, | ||
summary='Prediction', | ||
description='Predict a new dataset with given brain.', | ||
responses={ | ||
200: { | ||
'description': 'Prediction result' | ||
}, | ||
BrainNotActual.STATUS_CODE: BrainNotActual.api_description(), | ||
BrainNotTrained.STATUS_CODE: BrainNotTrained.api_description() | ||
}) | ||
@router_usage.post( | ||
"/{name}/prediction", | ||
response_model=BrainPredictionResult, | ||
summary="Prediction", | ||
description="Predict a new dataset with given brain.", | ||
responses={ | ||
200: {"description": "Prediction result"}, | ||
BrainNotActual.STATUS_CODE: BrainNotActual.api_description(), | ||
BrainNotTrained.STATUS_CODE: BrainNotTrained.api_description(), | ||
}, | ||
) | ||
async def prediction_post(name: str, request_data: BrainPredictionRequest): | ||
return BrainService.prediction(name, request_data.dict()) | ||
|
||
|
||
router.include_router(router_usage) | ||
router.include_router(router_training) |
Oops, something went wrong.