ci: enforce Ruff lint checks
All checks were successful
ENGIN CI / Build, test and smoke (push) Successful in 31s

This commit is contained in:
Jakub Famulski 2 2026-08-25 12:37:41 +02:00
parent f2df616285
commit 8981ae0a00
14 changed files with 37 additions and 18 deletions

View File

@ -27,6 +27,18 @@ jobs:
- name: Build production image
run: docker build --tag engin-console:ci .
- name: Run Ruff
run: |
docker run --rm \
--entrypoint sh \
engin-console:ci \
-c "python -m pip install --quiet \
--disable-pip-version-check \
--root-user-action=ignore \
ruff==0.16.4 &&
ruff check --no-cache \
app.py engin tests final_pipeline.py ml_polish_benchmark.py"
- name: Check installed dependencies
run: |
docker run --rm \

5
app.py
View File

@ -13,12 +13,12 @@ import streamlit as st
from engin.charts import cylinder_spectrum, deviation_chart, engine_heatmap
from engin.config import (
AppConfig,
LABEL_COLORS,
LABEL_DISPLAY,
LABEL_ICONS,
NOT_APPLICABLE,
SEVERITY_DISPLAY,
AppConfig,
)
from engin.errors import UserFacingError
from engin.explainability import (
@ -32,7 +32,6 @@ from engin.model import PrecomputedPredictionModel, SklearnPredictionModel
from engin.service import DiagnosisResult, DiagnosticService
from engin.validation import SpectrumFrameValidator
LOGGER = logging.getLogger("engin.app")
BASE_DIR = Path(__file__).resolve().parent
@ -62,7 +61,7 @@ def build_dependencies() -> AppDependencies:
service=DiagnosticService(reader=reader, validator=validator, model=model),
demo_payload=demo_payload,
)
except Exception as exc:
except Exception:
LOGGER.exception("Live model initialization failed; enabling demo fallback")
submission = pd.read_csv(BASE_DIR / "predictions.csv")
diagnostics = pd.read_csv(BASE_DIR / "prediction_diagnostics.csv")

View File

@ -1,5 +1,5 @@
"""Core application package for the ENGIN diagnostic console."""
from .service import DiagnosticService, DiagnosisResult
from .service import DiagnosisResult, DiagnosticService
__all__ = ["DiagnosticService", "DiagnosisResult"]

View File

@ -8,7 +8,6 @@ import plotly.graph_objects as go
from .config import FREQ_COLS, LABEL_COLORS
from .explainability import EngineAnalysis
PLOT_BG = "#101820"
GRID = "rgba(148, 163, 184, 0.14)"
TEXT = "#dce8ee"

View File

@ -4,8 +4,13 @@ from __future__ import annotations
from dataclasses import dataclass
from benchmark_grouped import FAULT_LABELS, FREQ_COLS, LABELS, NOT_APPLICABLE, SEVERITIES
from benchmark_grouped import (
FAULT_LABELS,
FREQ_COLS,
LABELS,
NOT_APPLICABLE,
SEVERITIES,
)
ALLOWED_ENGINE_SIZES = (8, 12, 16)
MAX_UPLOAD_BYTES = 10 * 1024 * 1024

View File

@ -7,7 +7,12 @@ from typing import Protocol
import pandas as pd
from final_pipeline import DiagnosticModels, predict_test, train_models, validate_submission
from final_pipeline import (
DiagnosticModels,
predict_test,
train_models,
validate_submission,
)
from .errors import InferenceError

View File

@ -8,7 +8,7 @@ from typing import Protocol
import numpy as np
import pandas as pd
from .config import AppConfig, FREQ_COLS
from .config import FREQ_COLS, AppConfig
from .errors import InputDataError

View File

@ -28,7 +28,6 @@ from benchmark_grouped import (
LABELS,
NOT_APPLICABLE,
SEVERITIES,
make_pipeline,
validate_data,
)
from severity_benchmark import (
@ -39,7 +38,6 @@ from severity_benchmark import (
prepare_labeled_frame,
)
LABEL_MODEL_NAME = "deviation_logistic_c10"
LABEL_FEATURE_SET = "deviation"
SEVERITY_CANDIDATE_ID = "deviation_extra_trees_mf03"

View File

@ -19,8 +19,8 @@ from benchmark_grouped import (
FAULT_LABELS,
LABELS,
NOT_APPLICABLE,
make_splits,
macro_f1,
make_splits,
ml_points,
raw_score,
validate_data,
@ -38,7 +38,6 @@ from severity_benchmark import (
prepare_labeled_frame,
)
DEFAULT_SEEDS = [7, 21, 42, 77, 123]
@ -166,7 +165,7 @@ def main() -> None:
"ood_overrides": ood_count[scenario],
}
row.update(
{f"f1_{label}": float(value) for label, value in zip(LABELS, per_class)}
{f"f1_{label}": float(value) for label, value in zip(LABELS, per_class, strict=True)}
)
run_rows.append(row)

5
ruff.toml Normal file
View File

@ -0,0 +1,5 @@
target-version = "py312"
extend-exclude = ["archive/legacy_experiments"]
[lint]
select = ["E4", "E7", "E9", "F", "I", "B"]

View File

@ -5,7 +5,6 @@ from pathlib import Path
from streamlit.testing.v1 import AppTest
ROOT = Path(__file__).resolve().parents[1]

View File

@ -14,7 +14,6 @@ from engin.explainability import (
)
from engin.service import DiagnosisResult
ROOT = Path(__file__).resolve().parents[1]

View File

@ -4,7 +4,7 @@ import unittest
import pandas as pd
from engin.model import PredictionBundle, PrecomputedPredictionModel
from engin.model import PrecomputedPredictionModel, PredictionBundle
from engin.service import DiagnosticService
from engin.validation import ValidationResult

View File

@ -10,7 +10,6 @@ from engin.config import FREQ_COLS
from engin.errors import InputDataError
from engin.validation import SpectrumFrameValidator
ROOT = Path(__file__).resolve().parents[1]