minor ci fixes
Some checks failed
Security Scan / security (pull_request) Successful in 48s
Security Scan / dependency-check (pull_request) Failing after 36s
Test Suite / lint (pull_request) Failing after 29s
Test Suite / test (3.11) (pull_request) Successful in 1m24s
Test Suite / build (pull_request) Has been skipped

This commit is contained in:
2025-08-13 20:44:48 -07:00
parent 091a2a0f97
commit c9c2c0ef39
3 changed files with 23 additions and 6 deletions

View File

@@ -41,7 +41,7 @@ jobs:
continue-on-error: true
- name: Upload security reports
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v3
with:
name: security-reports
path: |

View File

@@ -2,16 +2,20 @@ name: Test Suite
on:
push:
branches: ["*"]
branches:
- "main"
- "develop"
pull_request:
branches: ["main", "master"]
branches:
- "main"
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.11", "3.12"]
python-version: ["3.11"]
steps:
- name: Checkout code

View File

@@ -42,7 +42,7 @@ Use the included `sample_data.ndjson` and `sample_prompts.ndjson` files for test
The application follows a modular architecture with clear separation of concerns:
```
```text
src/embeddingbuddy/
├── app.py # Main application entry point and factory
├── main.py # Application runner
@@ -72,27 +72,32 @@ src/embeddingbuddy/
### Key Components
**Data Layer:**
- `data/parser.py` - NDJSON parsing with error handling
- `data/processor.py` - Data transformation and combination logic
- `models/schemas.py` - Dataclasses for type safety and validation
**Algorithm Layer:**
- `models/reducers.py` - Modular dimensionality reduction with factory pattern
- Supports PCA, t-SNE (openTSNE), and UMAP algorithms
- Abstract base class for easy extension
**Visualization Layer:**
- `visualization/plots.py` - Plot factory with single and dual plot support
- `visualization/colors.py` - Color mapping and grayscale conversion utilities
- Plotly-based 2D/3D scatter plots with interactive features
**UI Layer:**
- `ui/layout.py` - Main application layout composition
- `ui/components/` - Reusable, testable UI components
- `ui/callbacks/` - Organized callbacks grouped by functionality
- Bootstrap-styled sidebar with controls and large visualization area
**Configuration:**
- `config/settings.py` - Centralized settings with environment variable support
- Plot styling, marker configurations, and app-wide constants
@@ -112,16 +117,19 @@ Optional fields: `id`, `category`, `subcategory`, `tags`
The refactored callback system is organized by functionality:
**Data Processing (`ui/callbacks/data_processing.py`):**
- File upload handling
- NDJSON parsing and validation
- Data storage in dcc.Store components
**Visualization (`ui/callbacks/visualization.py`):**
- Dimensionality reduction pipeline
- Plot generation and updates
- Method/parameter change handling
**Interactions (`ui/callbacks/interactions.py`):**
- Point click handling and detail display
- Reset functionality
- User interaction management
@@ -131,15 +139,18 @@ The refactored callback system is organized by functionality:
The modular design enables comprehensive testing:
**Unit Tests:**
- `tests/test_data_processing.py` - Parser and processor logic
- `tests/test_reducers.py` - Dimensionality reduction algorithms
- `tests/test_visualization.py` - Plot creation and color mapping
**Integration Tests:**
- End-to-end data pipeline testing
- Component integration verification
**Key Testing Benefits:**
- Fast test execution (milliseconds vs seconds)
- Isolated component testing
- Easy mocking and fixture creation
@@ -167,6 +178,7 @@ Uses modern Python stack with uv for dependency management:
5. **Tests** - Write tests for all new functionality
**Code Organization Principles:**
- Single responsibility principle
- Clear module boundaries
- Testable, isolated components
@@ -174,6 +186,7 @@ Uses modern Python stack with uv for dependency management:
- Error handling at appropriate layers
**Testing Requirements:**
- Unit tests for all core logic
- Integration tests for data flow
- Component tests for UI elements