You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The public functions emit stdout via print() even when verbose=False, which pollutes library output, notebooks, and pytest capture. Verified empirically: a verbose=Falsedelay_io_train run still emits ~600+ bytes — num_transforms/1, Optimization complete., the full model printout, R^2, and the shape/scale/location factors dump. Similarly lti_from_gamma prints LTI_from_gamma final NSE and WARNING: final eigenvalues... unconditionally.
modpods/model.py: print("MAE = …"), RMSE, NSE, alpha, beta, HFV, HFV10, LFV, FDC in the final_run block.
modpods/lti.py: print("LTI_from_gamma final NSE"), print(NSE), print("A")/print(A)..., print("Training r2 = …").
modpods/topology.py: print("R2 Values:") / print(r2_values), print("R2 Values:") loops, and model.print().
Proposal: route diagnostics through logging (logging.getLogger(__name__)); keep equation dumps (model.print()) and metric prints behind verbose=True; leave only genuine warnings via warnings.warn.
Cost: Low–medium (mechanical gating + switch to logging).
The public functions emit stdout via
print()even whenverbose=False, which pollutes library output, notebooks, and pytest capture. Verified empirically: averbose=Falsedelay_io_trainrun still emits ~600+ bytes —num_transforms/1,Optimization complete., the full model printout,R^2, and theshape/scale/location factorsdump. Similarlylti_from_gammaprintsLTI_from_gamma final NSEandWARNING: final eigenvalues...unconditionally.Spans:
modpods/train.py:print("num_transforms"),print(num_transforms), theOptimization complete…/Final model:/R^2/shape factors/scale factors/location factorsdumps.modpods/model.py:print("MAE = …"),RMSE,NSE,alpha,beta,HFV,HFV10,LFV,FDCin thefinal_runblock.modpods/lti.py:print("LTI_from_gamma final NSE"),print(NSE),print("A")/print(A)...,print("Training r2 = …").modpods/topology.py:print("R2 Values:")/print(r2_values),print("R2 Values:")loops, andmodel.print().Proposal: route diagnostics through
logging(logging.getLogger(__name__)); keep equation dumps (model.print()) and metric prints behindverbose=True; leave only genuine warnings viawarnings.warn.