Skip to content

Jv/improvements#4

Merged
jvachier merged 12 commits intomainfrom
jv/improvements
Jul 16, 2025
Merged

Jv/improvements#4
jvachier merged 12 commits intomainfrom
jv/improvements

Conversation

@jvachier
Copy link
Owner

@jvachier jvachier commented Jul 15, 2025

Describe your changes

Provide a clear and concise description of the changes made in this pull request. Include any relevant context or background information.

  • What is the purpose of this pull request?
  • What problem does it solve?
  • What functionality does it add or improve?

Issue ticket number and link

Type of Change

Check the type of change your pull request introduces:

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactoring (code improvements without changing functionality)

Checklist before requesting a review

Before submitting your pull request, ensure the following:

  • I have performed a self-review of my code.
  • I have added tests that prove my fix is effective or that my feature works.
  • I have added or updated relevant documentation (if applicable).
  • My changes do not introduce any new warnings or errors.
  • I have checked for security vulnerabilities in the code.
  • I have ensured backward compatibility (if applicable).

jvachier added 3 commits July 15, 2025 10:48
… conflicts

- Implement comprehensive 4-phase UI/UX improvements
- Add professional white backgrounds and consistent styling
- Improve panel sizing and radar chart visualization
- Remove live assessment section for cleaner interface
- Enhance responsive design with Bootstrap components
- Add Font Awesome icons and modern styling
- Fix model loading and import path issues
- Rename dashboard directory structure to resolve mypy conflicts
- Fix import path in main.py with proper sys.path configuration
- Add mypy configuration to pyproject.toml for explicit package bases
@jvachier jvachier self-assigned this Jul 15, 2025
jvachier added 5 commits July 15, 2025 15:57
- Fixed test_layout_components.py format_prediction_result API to expect dbc.Card
- Fixed test_model_loader.py to match actual ModelLoader API (model_name, not model_path)
- Fixed test_integration.py to handle graceful fallback to dummy models
- Fixed test_dash_application.py create_app function signature expectations
- All 98 tests now passing including 93 dashboard tests
- Tests use proper mock strategies and match actual implementation APIs
- Fixed import sorting in callbacks.py and test_layout_components.py
- Removed unused imports: dash_table and plotly.graph_objects from callbacks.py
- Fixed unused variable 'app' in test_dash_application.py
- All linting checks now pass with no errors
- Code formatting is clean and consistent
- All 98 tests continue to pass
…ecks

- Updated 'make lint' to match test.yml: check entire repo and include format checking
- Added 'make typecheck' for mypy type checking
- Added 'make security' for bandit security scanning
- Added 'make check-all' that runs all quality checks (lint, typecheck, security)
- Fixed linting issues in docs/enhanced_layout_example.py
- Updated help text to reflect new commands
- Makefile now fully aligned with CI workflow in test.yml
- All 98 tests continue to pass
@jvachier jvachier requested a review from Copilot July 15, 2025 14:15

This comment was marked as outdated.

@jvachier jvachier requested a review from Copilot July 16, 2025 10:04
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request adds extensive testing for the Dash application, refactors data loading to use a centralized Paths enum, updates configuration parameters, and enhances the model loader to recognize multiple naming patterns for ensemble models.

  • Added comprehensive test suites under tests/dash_app/ for layout components, callbacks, integration, and functional behaviors
  • Refactored src/modules/data_loader.py to use Paths enum values and updated src/modules/config.py accordingly
  • Extended dash_app/dashboard/model_loader.py to handle both "ensemble" and "ensemble_model" names

Reviewed Changes

Copilot reviewed 33 out of 38 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tests/dash_app/test_model_loader.py New tests for ModelLoader initialization and behavior
src/modules/data_loader.py Switched file paths to use Paths enum values
src/modules/config.py Updated Paths enum—but introduced a spelling typo
dash_app/dashboard/model_loader.py Enhanced ensemble model naming logic
dash_app/main.py Added runtime sys.path adjustment for module imports
Comments suppressed due to low confidence (2)

src/modules/config.py:26

  • The filename 'personality_datasert.csv' is misspelled; it should be 'personality_dataset.csv' to match the actual dataset file name.
    PERSONALITY_DATASET_CSV = DATA_DIR / "personality_datasert.csv"

dash_app/main.py:10

  • [nitpick] Modifying sys.path at runtime can lead to maintenance and import ambiguity; consider installing the package or using entry points to handle imports instead.
sys.path.insert(0, str(project_root))

@jvachier jvachier merged commit a9fce2d into main Jul 16, 2025
1 check passed
@jvachier jvachier deleted the jv/improvements branch July 16, 2025 10:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants