unzhakov
|
3749220efc
|
Fix pyright type errors and correct paceENSDF Q-value extraction
- nuclear_data.py: Extract Q-value from ground state branch state[7] instead of
halflife_data (was reading half-life seconds as Q-value)
- nuclear_data.py: Use ground state branch for forbiddenness code, with fallback
- nuclear_data.py: Add None guards for beta_data and pairs
- spectrum.py: Pass Z=config.Z_daughter, A=config.A_number to RadiativeCorrection
- phase_space.py: Add __init__ debug logging (W0, transition_type, m_e, m_nu)
- phase_space.py: Add output range logging in __call__
- phase_space.py: Fix possibly unbound forbid_factor variable
- logging_utils.py: Fix broken get_git_short_hash indentation
- cli.py: Add explicit SpectrumConfig annotation to fix pyright type identity
- cw_extractor.py: Fix T_to_W ndarray→float conversions (6 locations)
- cw_extractor.py: Fix FermiFunction() calls — was passing Z as __call__ arg
- fitter.py: Add explicit dict type annotation for least_squares kwargs
|
2026-05-05 12:43:43 +03:00 |
|
unzhakov
|
9050019ddd
|
feat: add structured logging, CSV metadata headers, and CLI improvements
- New module: beta_spectrum/logging_utils.py
- LoggingConfig dataclass with level, log_file, format options
- setup_logging() one-shot configuration (opt-in for library use)
- get_logger() for named child loggers
- get_git_short_hash() for commit identification
- _find_git_root() for repo detection
- CLI enhancements (beta_spectrum/cli.py):
- --verbose/-v (repeatable): -v=INFO, -vv=DEBUG
- --quiet/-q: suppress all terminal output
- --log-file PATH: append log to file
- --dry-run: validate input, display resolved config, exit
- --version: show package version
- Replace print() with structured logging throughout
- Handle KeyboardInterrupt gracefully
- CSV metadata headers (BetaSpectrumAnalyzer.export_to_csv):
- YAML-style # comments with version, timestamp, source, nuclide info
- Corrections enabled, e_step, detector settings, git commit hash
- Base class integration (SpectrumComponent):
- Optional logger parameter for debug/info output (opt-in)
- BetaSpectrum integration:
- Optional logger parameter passed through from_config()
- Detector logging in create_detector_from_config()
- Convolution logging in convolve_with_detector()
- Tests: tests/test_logging_utils.py (28 tests)
- LoggingConfig, setup_logging, get_logger, git hash, CSV headers, CLI flags
- Update TODO.md: mark B8 as complete, update Current Status
|
2026-05-04 15:11:01 +03:00 |
|