Recent Releases of microlens-submit

microlens-submit - v0.16.0

[0.16.0] - 2024-12-19

Added

  • Tier Validation System: Comprehensive tier-based validation for challenge submissions
    • New tier_validation.py module with support for "standard", "advanced", "test", "2018-test", and "None" tiers
    • Event ID validation against tier-specific event lists
    • CLI tier validation with fallback to "None" for invalid tiers
    • Comprehensive tier validation tests in tests/test_tier_validation.py
  • Enhanced Validation Logic: Improved parameter validation and solution completeness checking
    • Enhanced validate_parameters.py with better error messages and validation rules
    • Improved validation for higher-order effects and parameter consistency
    • Better handling of parameter uncertainties and type validation
    • Enhanced solution completeness checking with more detailed feedback
  • Dossier Generation Enhancements: Improved HTML dossier generation and browser integration
    • Added model_type display at the top of each solution section in full dossier reports
    • Added --open flag to microlens-submit generate-dossier CLI command for automatic browser opening
    • Added open: bool = False parameter to generate_dashboard_html() API function
    • Enhanced dossier navigation and metadata display
  • Submission Manual Integration: Converted SUBMISSION_MANUAL.md to reStructuredText format and integrated into Sphinx documentation
    • Moved submission manual to docs/submission_manual.rst for better documentation integration
    • Updated all internal links and references to point to the new documentation location
    • Added GitHub link to validate_submission.py script in the submission manual
    • Removed old markdown file and logo references for cleaner documentation structure

Changed

  • Validation System Architecture: Improved validation workflow and error handling
    • Enhanced CLI validation commands with better error reporting
    • Improved validation integration across all CLI commands
    • Better handling of validation warnings vs errors
    • Enhanced parameter validation with more detailed feedback
  • Code Quality & Pre-commit Integration: Comprehensive code cleanup and formatting improvements
    • Fixed all pre-commit hook violations including line length, unused imports, and style issues
    • Resolved f-string formatting issues in CLI commands
    • Fixed line length violations in dossier generation code
    • Removed unused imports across the codebase
    • Ensured all tests pass in both Python 3.8 and 3.11 environments
  • Documentation Structure: Improved documentation organization and accessibility
    • Integrated submission manual into main documentation site
    • Updated internal documentation links and references
    • Enhanced documentation consistency and maintainability
    • Updated API documentation and tutorial examples

Fixed

  • Code Quality: Resolved all pre-commit hook violations
    • Fixed f-string formatting issues in CLI commands
    • Resolved line length violations in dossier generation code
    • Removed unused imports across the codebase
    • Improved code consistency and maintainability
  • Validation Logic: Enhanced parameter validation and error handling
    • Improved validation for higher-order effects
    • Better handling of parameter uncertainties
    • Enhanced solution completeness checking
    • More detailed validation feedback and error messages

[0.15.0] - 2024-12-19

Added

  • New tier validation system with support for "standard", "advanced", "test", "2018-test", and "None" tiers
  • Event ID validation against tier-specific event lists
  • CLI tier validation with fallback to "None" for invalid tiers
  • Comprehensive tier validation tests

Changed

  • Renamed "basic" tier to "standard" for better naming
  • Updated tier hierarchy: standard < advanced (removed "expert" tier)
  • Simplified to two challenge tiers: "standard" and "advanced"

[0.14.0] - 2024-12-19

Added

  • Modular Architecture: Complete refactoring of the codebase for improved maintainability
    • Split monolithic dossier.py into modular dossier/ package with specialized modules
    • Refactored CLI into cli/ package with commands organized into separate modules
    • Created dossier/generator.py for HTML generation logic
    • Created dossier/templates.py for template management
    • Created dossier/utils.py for dossier-specific utilities
    • Created cli/commands/ directory with specialized command modules
    • Created cli/utils.py for CLI-specific utilities
  • Enhanced Error Messaging: Comprehensive error handling improvements
    • Added actionable suggestions for common typos and parameter errors
    • Integrated validation warnings with helpful guidance
    • Enhanced CLI error messages with specific recommendations
    • Added parameter validation with user-friendly error descriptions
  • Improved CLI Help: Enhanced command-line interface usability
    • Added [BASIC] and [ADVANCED] tags to help users understand option complexity
    • Improved option descriptions with practical usage examples
    • Enhanced help text for complex parameters like --limb-darkening-model
    • Added usage examples in command docstrings for better user guidance

Changed

  • Code Organization: Improved project structure and maintainability
    • Separated concerns between dossier generation, CLI commands, and utilities
    • Enhanced code readability and debugging capabilities
    • Maintained backward compatibility with existing API and CLI interfaces
    • Preserved all existing functionality while improving internal organization
  • Documentation: Updated internal documentation to reflect new modular structure
    • Enhanced docstrings with usage examples and parameter descriptions
    • Improved code comments for better developer experience
    • Maintained user-facing documentation consistency

Fixed

  • Maintainability: Resolved technical debt through modularization
    • Eliminated monolithic files that were difficult to maintain
    • Improved test organization and coverage
    • Enhanced code reusability and separation of concerns
  • User Experience: Better error handling and guidance
    • More helpful error messages with actionable suggestions
    • Clearer CLI help text with practical examples
    • Improved parameter validation with user-friendly feedback

- Python
Published by AmberLee2427 8 months ago

microlens-submit - v0.12.2

[0.12.2] - 2024-12-19

Fixed

  • Critical Bug Fix: Renamed Solution.validate() method to Solution.run_validation() to resolve Pydantic conflict
    • Pydantic was interpreting the validate method as a field validator, causing import errors
    • This was breaking Sphinx documentation generation and module imports
    • All references updated across API, CLI, tests, and documentation
    • Method functionality remains identical, only the name changed

Changed

  • Updated all documentation and examples to use run_validation() instead of validate()
  • Updated CLI commands and help text for consistency
  • Updated test suite to use the new method name

[0.12.1] - 2024-12-19

Added

  • New CLI Command: set-hardware-info for managing compute platform information
    • Supports setting CPU, memory, platform, and Nexus image details
    • Includes --clear, --dry-run, and update options
    • Integrates with dossier generation for hardware documentation
  • Enhanced Documentation: Comprehensive improvements to Sphinx documentation
    • Expanded API reference with detailed examples and best practices
    • Enhanced tutorial with step-by-step workflow and troubleshooting
    • Improved index page with key features and quick start guide
    • Added custom CSS styling for RGES-PIT color scheme
  • Example Parameter Files: Created comprehensive example parameter files
    • tests/example_params.yaml and tests/example_params.json
    • Demonstrates different parameter formats, uncertainties, and model types
    • Useful for testing and tutorial purposes

Changed

  • Version Update: Bumped version from v0.12.0-dev to v0.12.1
  • Documentation: Updated all version references across codebase
  • Tutorial: Updated CLI commands in Submission_Tool_Tutorial.ipynb to match current syntax
  • GitHub Logo: Ensured GitHub logo is properly packaged and included in dossier generation

Fixed

  • CI Test Failures: Fixed test assertions for CLI comparison and validation commands
    • Updated table header counting logic for solution comparison output
    • Added missing repo_url setting in validation tests
  • Documentation Build: Improved Sphinx configuration for better autodoc and theme options

[0.12.0] - 2024-12-18

Added

  • Comprehensive Documentation: Complete Sphinx documentation with API reference, tutorial, and examples
  • Enhanced Dossier Generation: Improved HTML dashboard with better styling and navigation
  • Parameter File Support: Added support for JSON and YAML parameter files in CLI
  • Validation System: Centralized parameter validation with comprehensive error checking
  • Hardware Information: Automatic detection and manual setting of compute platform details
  • Notes Management: Enhanced markdown notes support with file-based editing
  • Solution Comparison: BIC-based solution ranking and relative probability calculation
  • Export Improvements: Better handling of external files and automatic path updates

Changed

  • API Improvements: Enhanced Solution and Submission classes with better validation
  • CLI Enhancements: More robust command-line interface with better error handling
  • Project Structure: Improved organization with better separation of concerns

Fixed

  • Bug Fixes: Various fixes for data persistence, validation, and export functionality
  • Documentation: Comprehensive docstring updates with Google style formatting

- Python
Published by AmberLee2427 8 months ago

microlens-submit - v0.11.0

Release v0.11.0

What's New

  • Enhanced Parameter Validation: Comprehensive docstring for validate() method with detailed explanation of all validation checks
  • Parameter Uncertainty Validation: New validation logic for parameter uncertainties, including support for asymmetric uncertainties [lower, upper]
  • Structured Parameter Files: Support for JSON and YAML files containing both parameters and uncertainties in a single file
  • Improved CLI: Enhanced --params-file option now supports YAML format and structured parameter files
  • Code Cleanup: Removed deprecated log_prior field (not used in calculations)

Structured Parameter File Format

Parameter files can now use either simple or structured format:

Simple format (JSON/YAML): json { "t0": 2459123.5, "u0": 0.15, "tE": 20.5 }

Structured format (JSON/YAML): json { "parameters": { "t0": 2459123.5, "u0": 0.15, "tE": 20.5 }, "uncertainties": { "t0": [0.1, 0.1], "u0": 0.02, "tE": [0.3, 0.4] } }

Uncertainty Validation

  • Validates uncertainty values are positive
  • Supports both single values and [lower, upper] asymmetric uncertainties
  • Warns if uncertainties are very large (>50%) or very small (<0.1%) relative to parameter values
  • Checks that uncertainty bounds are properly ordered (lower ≤ upper)

Bug Fixes

  • None

Breaking Changes

  • Removed log_prior field: This field was not used in any calculations and has been removed from the API and CLI

Dependencies

  • Added PyYAML>=6.0 for YAML file support

- Python
Published by AmberLee2427 8 months ago

microlens-submit - v0.10.0

Release v0.10.0

What's New

  • Centralized Parameter Validation: Added comprehensive validation logic that checks parameter completeness, types, and physical consistency based on model type and higher-order effects.
  • CLI Validation Commands: New commands validate-solution, validate-event, and validate-submission for checking solutions and submissions.
  • Automatic Validation: Solutions are automatically validated when added via CLI, with warnings displayed but saving never blocked.
  • Enhanced Dry-Run: --dry-run now includes validation results, showing warnings before saving.
  • Validation Module: New validate_parameters.py module with extensible validation logic for different model types and effects.

Bug Fixes

  • None

Breaking Changes

  • None

Dependencies

  • N/A

- Python
Published by AmberLee2427 8 months ago