diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index aedd38c..67120d5 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -4,7 +4,7 @@ services: context: . dockerfile: Dockerfile ports: - - "5000:5000" + - "127.0.0.1:5000:5000" volumes: - ${LOG_DATA_DIRECTORY}:/app/log_data/ - ${RESULTS_DIRECTORY}:/app/analysis_results @@ -18,8 +18,6 @@ services: APP_CMD: "flask --app main.py run --host 0.0.0.0 --port 5000" redis: image: redis:alpine - ports: - - 6379:6379 celery: build: context: . @@ -37,7 +35,7 @@ services: - redis - db db: - image: postgres:alpine + image: postgres:17-alpine environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} @@ -50,7 +48,7 @@ services: image: adminer restart: always ports: - - 8081:8080 + - "127.0.0.1:8081:8080" volumes: db_data: diff --git a/docker-compose.yml b/docker-compose.yml index 200a4bc..2bb0165 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,7 +4,7 @@ services: context: . dockerfile: Dockerfile ports: - - "5000:5000" + - "127.0.0.1:5000:5000" working_dir: /app volumes: - ${LOG_DATA_DIRECTORY}:/app/log_data/ @@ -20,8 +20,6 @@ services: - db redis: image: redis:alpine - ports: - - 6379:6379 celery: build: context: . @@ -40,7 +38,7 @@ services: - redis - db db: - image: postgres:alpine + image: postgres:17-alpine environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} @@ -49,11 +47,11 @@ services: PGTZ: ${PGTZ} volumes: - db_data:/var/lib/postgresql/data - adminer: - image: adminer - restart: always - ports: - - 8081:8080 + # adminer: + # image: adminer + # restart: always + # ports: + # - "127.0.0.1:8081:8080" volumes: db_data: diff --git a/requirements.txt b/requirements.txt index 397f61e..0e37e5f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -46,7 +46,7 @@ kiwisolver==1.4.8 kombu==5.5.4 llvmlite==0.44.0 logistro==1.1.0 -LogLead==1.2.1 +LogLead==1.2.3 Mako==1.3.10 MarkupSafe==3.0.2 matplotlib==3.10.3 @@ -65,7 +65,8 @@ platformdirs==4.3.8 playwright==1.54.0 plotly==6.1.2 pluggy==1.6.0 -polars==1.30.0 +polars==1.38.1 +polars-runtime-32==1.38.1 prompt_toolkit==3.0.51 psutil==7.0.0 psycopg2-binary==2.9.10 diff --git a/server/analysis/utils/line_level_analysis.py b/server/analysis/utils/line_level_analysis.py index e7688fe..b945cfa 100644 --- a/server/analysis/utils/line_level_analysis.py +++ b/server/analysis/utils/line_level_analysis.py @@ -4,14 +4,12 @@ def calculate_moving_average_by_columns( df: pl.DataFrame, window_size: int, columns: list[str] ) -> pl.DataFrame: - df_moving_avg = pl.DataFrame() - for column in columns: - df_moving_avg = df_moving_avg.hstack( - df.select( - pl.col(column) - .rolling_mean(window_size) - .alias(f"moving_avg_{window_size}_{column}") - ) - ) - return df_moving_avg + if df.height == 0: + return pl.DataFrame({f"moving_avg_{window_size}_{col}": [] for col in columns}) + + moving_avg_exprs = [ + pl.col(col).rolling_mean(window_size).alias(f"moving_avg_{window_size}_{col}") + for col in columns + ] + return df.select(moving_avg_exprs)