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.pymodule 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
- New
- Enhanced Validation Logic: Improved parameter validation and solution completeness checking
- Enhanced
validate_parameters.pywith 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
- Enhanced
- 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
--openflag tomicrolens-submit generate-dossierCLI command for automatic browser opening - Added
open: bool = Falseparameter togenerate_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.rstfor 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
- Moved submission manual to
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.pyinto modulardossier/package with specialized modules - Refactored CLI into
cli/package with commands organized into separate modules - Created
dossier/generator.pyfor HTML generation logic - Created
dossier/templates.pyfor template management - Created
dossier/utils.pyfor dossier-specific utilities - Created
cli/commands/directory with specialized command modules - Created
cli/utils.pyfor CLI-specific utilities
- Split monolithic
- 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 toSolution.run_validation()to resolve Pydantic conflict- Pydantic was interpreting the
validatemethod 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
- Pydantic was interpreting the
Changed
- Updated all documentation and examples to use
run_validation()instead ofvalidate() - 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-infofor 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.yamlandtests/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.ipynbto 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-fileoption now supports YAML format and structured parameter files - Code Cleanup: Removed deprecated
log_priorfield (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_priorfield: This field was not used in any calculations and has been removed from the API and CLI
Dependencies
- Added
PyYAML>=6.0for 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, andvalidate-submissionfor 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-runnow includes validation results, showing warnings before saving. - Validation Module: New
validate_parameters.pymodule 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