Spaces:
Running
Running
File size: 38,678 Bytes
bcec462 | 1 | {"repo": "https://github.com/pallets/click", "cutoff": "2022-05-27T10:17:40.650000", "horizon_days": 365, "training_files": 63, "training_positive_rate": 0.14285714285714285, "evaluation": [{"model_name": "logistic_regression_baseline", "precision": 0.2857142857142857, "recall": 0.6666666666666666, "f1": 0.4, "roc_auc": 0.7083333333333333, "average_precision": 0.7254901960784313, "positive_rate": 0.15789473684210525, "n_test": 19}, {"model_name": "random_forest", "precision": 0.5, "recall": 0.3333333333333333, "f1": 0.4, "roc_auc": 0.8125, "average_precision": 0.4444444444444444, "positive_rate": 0.15789473684210525, "n_test": 19}], "best_model": "random_forest", "feature_importances": {"recency_days": 0.12866405662077157, "loc": 0.10670460130895736, "function_count": 0.095502328442406, "age_days": 0.09206990815902025, "lines_added_total": 0.08895909519224456, "lines_removed_total": 0.06696479787223056, "halstead_difficulty": 0.0664160740326675, "churn": 0.06562030356613764, "avg_cyclomatic_complexity": 0.05202440523091813, "max_cyclomatic_complexity": 0.044625408453085186, "maintainability_index": 0.04193362959712425, "halstead_volume": 0.03956616556767247, "sloc": 0.03904771155250089, "num_prior_bug_fixes": 0.028456268012078834, "num_commits": 0.02726235362317837, "num_authors": 0.016182892769006352}, "feature_importance_kind": "mean decrease in impurity (Random Forest)", "top_risk_files": [{"file_path": "src\\click\\types.py", "risk_score": 0.6023533382974756, "reasons": [{"feature": "function_count", "label": "functions", "value": 103.0, "percentile": 0.978021978021978, "impact": 0.1365478249229481}, {"feature": "loc", "label": "lines of code", "value": 1437.0, "percentile": 0.967032967032967, "impact": 0.1351298348185797}, {"feature": "halstead_difficulty", "label": "Halstead difficulty", "value": 9.080152671755725, "percentile": 0.9560439560439561, "impact": 0.0643024621461008}], "trend": [{"date": "2018-01-17", "risk": null}, {"date": "2019-10-15", "risk": null}, {"date": "2021-07-13", "risk": 0.8370291298713933}, {"date": "2023-04-10", "risk": 0.6313783496489623}, {"date": "2025-01-06", "risk": 0.5824346675449029}, {"date": "2026-10-04", "risk": 0.6023533382974756}], "trend_delta": -0.2346757915739177}, {"file_path": "tests\\test_termui.py", "risk_score": 0.5910301687756984, "reasons": [{"feature": "function_count", "label": "functions", "value": 98.0, "percentile": 0.967032967032967, "impact": 0.13601253907865274}, {"feature": "loc", "label": "lines of code", "value": 1984.0, "percentile": 0.978021978021978, "impact": 0.1286256734924241}, {"feature": "max_cyclomatic_complexity", "label": "max complexity", "value": 17.0, "percentile": 0.9010989010989011, "impact": 0.05837797547849077}], "trend": [{"date": "2018-01-17", "risk": 0.10903112660549293}, {"date": "2019-10-15", "risk": 0.17193833992556226}, {"date": "2021-07-13", "risk": 0.26734407839089136}, {"date": "2023-04-10", "risk": 0.20617280889094394}, {"date": "2025-01-06", "risk": 0.288694213128978}, {"date": "2026-10-04", "risk": 0.5910301687756984}], "trend_delta": 0.48199904217020545}, {"file_path": "src\\click\\_compat.py", "risk_score": 0.5753653657744654, "reasons": [{"feature": "loc", "label": "lines of code", "value": 590.0, "percentile": 0.8131868131868132, "impact": 0.13535517330987568}, {"feature": "function_count", "label": "functions", "value": 49.0, "percentile": 0.945054945054945, "impact": 0.130699527130206}, {"feature": "max_cyclomatic_complexity", "label": "max complexity", "value": 21.0, "percentile": 0.9505494505494505, "impact": 0.06519615729667261}], "trend": [{"date": "2018-01-17", "risk": null}, {"date": "2019-10-15", "risk": null}, {"date": "2021-07-13", "risk": 0.8570309370978466}, {"date": "2023-04-10", "risk": 0.7948483618391087}, {"date": "2025-01-06", "risk": 0.7151955100483227}, {"date": "2026-10-04", "risk": 0.5753653657744654}], "trend_delta": -0.2816655713233812}, {"file_path": "src\\click\\testing.py", "risk_score": 0.5315827429852655, "reasons": [{"feature": "loc", "label": "lines of code", "value": 798.0, "percentile": 0.8901098901098901, "impact": 0.12850958165402288}, {"feature": "function_count", "label": "functions", "value": 41.0, "percentile": 0.9010989010989011, "impact": 0.12153854848510037}, {"feature": "halstead_difficulty", "label": "Halstead difficulty", "value": 7.573770491803279, "percentile": 0.9230769230769231, "impact": 0.06134791669155537}], "trend": [{"date": "2018-01-17", "risk": null}, {"date": "2019-10-15", "risk": null}, {"date": "2021-07-13", "risk": 0.3515421038079911}, {"date": "2023-04-10", "risk": 0.23930842628419252}, {"date": "2025-01-06", "risk": 0.42491760958949676}, {"date": "2026-10-04", "risk": 0.5315827429852655}], "trend_delta": 0.18004063917727442}, {"file_path": "src\\click\\shell_completion.py", "risk_score": 0.5155842273673514, "reasons": [{"feature": "loc", "label": "lines of code", "value": 801.0, "percentile": 0.9010989010989011, "impact": 0.1291459452903863}, {"feature": "function_count", "label": "functions", "value": 40.0, "percentile": 0.8901098901098901, "impact": 0.11986283204467779}, {"feature": "halstead_difficulty", "label": "Halstead difficulty", "value": 9.321428571428571, "percentile": 0.967032967032967, "impact": 0.06819135103498958}], "trend": [{"date": "2018-01-17", "risk": null}, {"date": "2019-10-15", "risk": null}, {"date": "2021-07-13", "risk": 0.7691315743504368}, {"date": "2023-04-10", "risk": 0.6665783884679257}, {"date": "2025-01-06", "risk": 0.5969501666976315}, {"date": "2026-10-04", "risk": 0.5155842273673514}], "trend_delta": -0.25354734698308534}, {"file_path": "src\\click\\utils.py", "risk_score": 0.49576185840845244, "reasons": [{"feature": "function_count", "label": "functions", "value": 34.0, "percentile": 0.8571428571428571, "impact": 0.12690924554678756}, {"feature": "loc", "label": "lines of code", "value": 676.0, "percentile": 0.8571428571428571, "impact": 0.126342914987356}, {"feature": "halstead_difficulty", "label": "Halstead difficulty", "value": 7.9772727272727275, "percentile": 0.9340659340659341, "impact": 0.06706092916927359}], "trend": [{"date": "2018-01-17", "risk": null}, {"date": "2019-10-15", "risk": null}, {"date": "2021-07-13", "risk": 0.7952740862390454}, {"date": "2023-04-10", "risk": 0.7053554886850599}, {"date": "2025-01-06", "risk": 0.5403869554396175}, {"date": "2026-10-04", "risk": 0.49576185840845244}], "trend_delta": -0.29951222783059295}, {"file_path": "src\\click\\_termui_impl.py", "risk_score": 0.49389027999989765, "reasons": [{"feature": "function_count", "label": "functions", "value": 47.0, "percentile": 0.9340659340659341, "impact": 0.1335942384250579}, {"feature": "loc", "label": "lines of code", "value": 972.0, "percentile": 0.9230769230769231, "impact": 0.12077311341821034}, {"feature": "max_cyclomatic_complexity", "label": "max complexity", "value": 19.0, "percentile": 0.9285714285714286, "impact": 0.051662746263261616}], "trend": [{"date": "2018-01-17", "risk": null}, {"date": "2019-10-15", "risk": null}, {"date": "2021-07-13", "risk": 0.6203941341160651}, {"date": "2023-04-10", "risk": 0.5514290089371193}, {"date": "2025-01-06", "risk": 0.462347454491371}, {"date": "2026-10-04", "risk": 0.49389027999989765}], "trend_delta": -0.1265038541161675}, {"file_path": "src\\click\\core.py", "risk_score": 0.48746055417017176, "reasons": [{"feature": "function_count", "label": "functions", "value": 161.0, "percentile": 1.0, "impact": 0.13359423842505785}, {"feature": "loc", "label": "lines of code", "value": 4038.0, "percentile": 1.0, "impact": 0.12663897687202552}, {"feature": "max_cyclomatic_complexity", "label": "max complexity", "value": 35.0, "percentile": 1.0, "impact": 0.05476880686932212}], "trend": [{"date": "2018-01-17", "risk": null}, {"date": "2019-10-15", "risk": null}, {"date": "2021-07-13", "risk": 0.5757746547932419}, {"date": "2023-04-10", "risk": 0.5129951453651403}, {"date": "2025-01-06", "risk": 0.48746055417017176}, {"date": "2026-10-04", "risk": 0.48746055417017176}], "trend_delta": -0.0883141006230701}, {"file_path": "tests\\test_options.py", "risk_score": 0.45529469501419934, "reasons": [{"feature": "function_count", "label": "functions", "value": 134.0, "percentile": 0.989010989010989, "impact": 0.13359423842505774}, {"feature": "loc", "label": "lines of code", "value": 3945.0, "percentile": 0.989010989010989, "impact": 0.1168014822125365}, {"feature": "lines_added_total", "label": "lines added", "value": 5224.0, "percentile": 0.989010989010989, "impact": 0.03732940749764413}], "trend": [{"date": "2018-01-17", "risk": 0.11342233976715929}, {"date": "2019-10-15", "risk": 0.11635569396281369}, {"date": "2021-07-13", "risk": 0.39944812765451176}, {"date": "2023-04-10", "risk": 0.36512972848392194}, {"date": "2025-01-06", "risk": 0.4322359466106235}, {"date": "2026-10-04", "risk": 0.45529469501419934}], "trend_delta": 0.34187235524704007}, {"file_path": "tests\\test_basic.py", "risk_score": 0.44119489764844466, "reasons": [{"feature": "function_count", "label": "functions", "value": 42.0, "percentile": 0.9175824175824175, "impact": 0.12552280985362935}, {"feature": "loc", "label": "lines of code", "value": 986.0, "percentile": 0.9340659340659341, "impact": 0.12077311341821034}, {"feature": "lines_added_total", "label": "lines added", "value": 1739.0, "percentile": 0.945054945054945, "impact": 0.037329407497644296}], "trend": [{"date": "2018-01-17", "risk": 0.217181849398454}, {"date": "2019-10-15", "risk": 0.22378376430080152}, {"date": "2021-07-13", "risk": 0.1975241965288882}, {"date": "2023-04-10", "risk": 0.13335806745010592}, {"date": "2025-01-06", "risk": 0.13335806745010592}, {"date": "2026-10-04", "risk": 0.44119489764844466}], "trend_delta": 0.22401304824999066}, {"file_path": "tests\\test_arguments.py", "risk_score": 0.4387220454415498, "reasons": [{"feature": "function_count", "label": "functions", "value": 61.0, "percentile": 0.9560439560439561, "impact": 0.1332609050917245}, {"feature": "loc", "label": "lines of code", "value": 1229.0, "percentile": 0.9560439560439561, "impact": 0.11346814887920315}, {"feature": "lines_added_total", "label": "lines added", "value": 1988.0, "percentile": 0.967032967032967, "impact": 0.037329407497644185}], "trend": [{"date": "2018-01-17", "risk": 0.0768968599582732}, {"date": "2019-10-15", "risk": 0.09690811235765505}, {"date": "2021-07-13", "risk": 0.06734313824484266}, {"date": "2023-04-10", "risk": 0.042361520023193676}, {"date": "2025-01-06", "risk": 0.2933008694636691}, {"date": "2026-10-04", "risk": 0.4387220454415498}], "trend_delta": 0.3618251854832766}, {"file_path": "tests\\test_testing.py", "risk_score": 0.40853838490026056, "reasons": [{"feature": "loc", "label": "lines of code", "value": 840.0, "percentile": 0.9120879120879121, "impact": 0.11115718206823644}, {"feature": "function_count", "label": "functions", "value": 38.0, "percentile": 0.8791208791208791, "impact": 0.10714236836885921}, {"feature": "max_cyclomatic_complexity", "label": "max complexity", "value": 15.0, "percentile": 0.8901098901098901, "impact": 0.050235791991479706}], "trend": [{"date": "2018-01-17", "risk": 0.11148515305199592}, {"date": "2019-10-15", "risk": 0.1483067227353261}, {"date": "2021-07-13", "risk": 0.11992736791630634}, {"date": "2023-04-10", "risk": 0.09044861694590926}, {"date": "2025-01-06", "risk": 0.14829804699826543}, {"date": "2026-10-04", "risk": 0.40853838490026056}], "trend_delta": 0.29705323184826465}, {"file_path": "tests\\test_shell_completion.py", "risk_score": 0.37390520822184875, "reasons": [{"feature": "loc", "label": "lines of code", "value": 617.0, "percentile": 0.8241758241758241, "impact": 0.11426208827314244}, {"feature": "function_count", "label": "functions", "value": 42.0, "percentile": 0.9175824175824175, "impact": 0.11222682479293816}, {"feature": "lines_added_total", "label": "lines added", "value": 864.0, "percentile": 0.8351648351648352, "impact": 0.02497365355643294}], "trend": [{"date": "2018-01-17", "risk": null}, {"date": "2019-10-15", "risk": null}, {"date": "2021-07-13", "risk": 0.22042731307494237}, {"date": "2023-04-10", "risk": 0.14194322127863515}, {"date": "2025-01-06", "risk": 0.3226841439201799}, {"date": "2026-10-04", "risk": 0.37390520822184875}], "trend_delta": 0.15347789514690638}, {"file_path": "tests\\test_stream_lifecycle.py", "risk_score": 0.3465444076049653, "reasons": [{"feature": "age_days", "label": "age (days)", "value": 218.0, "percentile": 0.34065934065934067, "impact": 0.1234314836650634}, {"feature": "churn", "label": "churn", "value": 542.0, "percentile": 0.7472527472527473, "impact": 0.04577288697783083}, {"feature": "halstead_difficulty", "label": "Halstead difficulty", "value": 3.398230088495575, "percentile": 0.6923076923076923, "impact": 0.04318759717879672}], "trend": [{"date": "2018-01-17", "risk": null}, {"date": "2019-10-15", "risk": null}, {"date": "2021-07-13", "risk": null}, {"date": "2023-04-10", "risk": null}, {"date": "2025-01-06", "risk": null}, {"date": "2026-10-04", "risk": 0.3465444076049653}], "trend_delta": null}, {"file_path": "tests\\test_formatting.py", "risk_score": 0.33856848457507566, "reasons": [{"feature": "loc", "label": "lines of code", "value": 632.0, "percentile": 0.8461538461538461, "impact": 0.09536977349622455}, {"feature": "lines_added_total", "label": "lines added", "value": 956.0, "percentile": 0.8791208791208791, "impact": 0.04290482669577145}, {"feature": "churn", "label": "churn", "value": 1177.0, "percentile": 0.8461538461538461, "impact": 0.020472427615356892}], "trend": [{"date": "2018-01-17", "risk": 0.0712535614681452}, {"date": "2019-10-15", "risk": 0.12024191614364149}, {"date": "2021-07-13", "risk": 0.14475778553041785}, {"date": "2023-04-10", "risk": 0.17051015697228913}, {"date": "2025-01-06", "risk": 0.08041890515237866}, {"date": "2026-10-04", "risk": 0.33856848457507566}], "trend_delta": 0.26731492310693045}, {"file_path": "src\\click\\termui.py", "risk_score": 0.33636470586916034, "reasons": [{"feature": "loc", "label": "lines of code", "value": 1024.0, "percentile": 0.945054945054945, "impact": 0.11808630687726915}, {"feature": "max_cyclomatic_complexity", "label": "max complexity", "value": 21.0, "percentile": 0.9505494505494505, "impact": 0.04910524820576345}, {"feature": "halstead_difficulty", "label": "Halstead difficulty", "value": 6.506024096385542, "percentile": 0.8461538461538461, "impact": 0.031158572058234635}], "trend": [{"date": "2018-01-17", "risk": null}, {"date": "2019-10-15", "risk": null}, {"date": "2021-07-13", "risk": 0.4140914611967393}, {"date": "2023-04-10", "risk": 0.2735065094218666}, {"date": "2025-01-06", "risk": 0.309026390849899}, {"date": "2026-10-04", "risk": 0.33636470586916034}], "trend_delta": -0.07772675532757894}, {"file_path": "src\\click\\decorators.py", "risk_score": 0.33596697220627725, "reasons": [{"feature": "loc", "label": "lines of code", "value": 627.0, "percentile": 0.8351648351648352, "impact": 0.11412357832593298}, {"feature": "halstead_difficulty", "label": "Halstead difficulty", "value": 6.612903225806452, "percentile": 0.8571428571428571, "impact": 0.05537362269236901}, {"feature": "lines_added_total", "label": "lines added", "value": 891.0, "percentile": 0.8571428571428571, "impact": 0.046057679460166645}], "trend": [{"date": "2018-01-17", "risk": null}, {"date": "2019-10-15", "risk": null}, {"date": "2021-07-13", "risk": 0.42726995674647983}, {"date": "2023-04-10", "risk": 0.3122713034961719}, {"date": "2025-01-06", "risk": 0.28225904573524163}, {"date": "2026-10-04", "risk": 0.33596697220627725}], "trend_delta": -0.09130298454020258}, {"file_path": "src\\click\\exceptions.py", "risk_score": 0.32891252619818906, "reasons": [{"feature": "function_count", "label": "functions", "value": 35.0, "percentile": 0.8681318681318682, "impact": 0.10373694719524376}, {"feature": "halstead_difficulty", "label": "Halstead difficulty", "value": 7.219512195121951, "percentile": 0.9010989010989011, "impact": 0.06340296676601692}, {"feature": "lines_added_total", "label": "lines added", "value": 369.0, "percentile": 0.7472527472527473, "impact": 0.029552984722692577}], "trend": [{"date": "2018-01-17", "risk": null}, {"date": "2019-10-15", "risk": null}, {"date": "2021-07-13", "risk": 0.3880079398952103}, {"date": "2023-04-10", "risk": 0.3265687565935727}, {"date": "2025-01-06", "risk": 0.40104071922167245}, {"date": "2026-10-04", "risk": 0.32891252619818906}], "trend_delta": -0.05909541369702126}, {"file_path": "tests\\test_deprecations.py", "risk_score": 0.32262092872517295, "reasons": [{"feature": "churn", "label": "churn", "value": 479.0, "percentile": 0.7142857142857143, "impact": 0.08469847442539588}, {"feature": "age_days", "label": "age (days)", "value": 134.0, "percentile": 0.31868131868131866, "impact": 0.05266564955493552}, {"feature": "lines_added_total", "label": "lines added", "value": 367.0, "percentile": 0.7362637362637363, "impact": 0.05247775997565812}], "trend": [{"date": "2018-01-17", "risk": null}, {"date": "2019-10-15", "risk": null}, {"date": "2021-07-13", "risk": null}, {"date": "2023-04-10", "risk": null}, {"date": "2025-01-06", "risk": null}, {"date": "2026-10-04", "risk": 0.32262092872517295}], "trend_delta": null}, {"file_path": "docs\\conf.py", "risk_score": 0.3197104304954868, "reasons": [{"feature": "lines_added_total", "label": "lines added", "value": 357.0, "percentile": 0.7032967032967034, "impact": 0.07687982923138584}, {"feature": "lines_removed_total", "label": "lines removed", "value": 456.0, "percentile": 0.8901098901098901, "impact": 0.07412417584582057}, {"feature": "churn", "label": "churn", "value": 813.0, "percentile": 0.8021978021978022, "impact": 0.06097319399039286}], "trend": [{"date": "2018-01-17", "risk": 0.14728653080529383}, {"date": "2019-10-15", "risk": 0.38946880642573656}, {"date": "2021-07-13", "risk": 0.35183245229703325}, {"date": "2023-04-10", "risk": 0.199088071196901}, {"date": "2025-01-06", "risk": 0.21814131626110295}, {"date": "2026-10-04", "risk": 0.3197104304954868}], "trend_delta": 0.17242389969019298}, {"file_path": "tests\\test_utils\\test_open_file.py", "risk_score": 0.30288618381773735, "reasons": [{"feature": "age_days", "label": "age (days)", "value": 134.0, "percentile": 0.31868131868131866, "impact": 0.07021945591040041}, {"feature": "lines_removed_total", "label": "lines removed", "value": 166.0, "percentile": 0.7362637362637363, "impact": 0.047012082006089195}, {"feature": "churn", "label": "churn", "value": 327.0, "percentile": 0.6373626373626373, "impact": 0.042793618080123275}], "trend": [{"date": "2018-01-17", "risk": null}, {"date": "2019-10-15", "risk": null}, {"date": "2021-07-13", "risk": null}, {"date": "2023-04-10", "risk": null}, {"date": "2025-01-06", "risk": null}, {"date": "2026-10-04", "risk": 0.30288618381773735}], "trend_delta": null}, {"file_path": "tests\\test_commands.py", "risk_score": 0.30044593085752647, "reasons": [{"feature": "loc", "label": "lines of code", "value": 700.0, "percentile": 0.8681318681318682, "impact": 0.10324280994582044}, {"feature": "max_cyclomatic_complexity", "label": "max complexity", "value": 26.0, "percentile": 0.978021978021978, "impact": 0.04852638262689779}, {"feature": "churn", "label": "churn", "value": 1288.0, "percentile": 0.8571428571428571, "impact": 0.02310140832606411}], "trend": [{"date": "2018-01-17", "risk": 0.13300391782544133}, {"date": "2019-10-15", "risk": 0.07451440067869938}, {"date": "2021-07-13", "risk": 0.08120359113286144}, {"date": "2023-04-10", "risk": 0.1475774485621228}, {"date": "2025-01-06", "risk": 0.09554185775753612}, {"date": "2026-10-04", "risk": 0.30044593085752647}], "trend_delta": 0.16744201303208514}, {"file_path": "tests\\test_types\\test_Path.py", "risk_score": 0.29043641201156994, "reasons": [{"feature": "age_days", "label": "age (days)", "value": 28.0, "percentile": 0.07692307692307693, "impact": 0.0742012411905775}, {"feature": "lines_added_total", "label": "lines added", "value": 190.0, "percentile": 0.6373626373626373, "impact": 0.056854684685906126}, {"feature": "halstead_difficulty", "label": "Halstead difficulty", "value": 2.9166666666666665, "percentile": 0.6813186813186813, "impact": 0.05626745840920655}], "trend": [{"date": "2018-01-17", "risk": null}, {"date": "2019-10-15", "risk": null}, {"date": "2021-07-13", "risk": null}, {"date": "2023-04-10", "risk": null}, {"date": "2025-01-06", "risk": null}, {"date": "2026-10-04", "risk": 0.29043641201156994}], "trend_delta": null}, {"file_path": "tests\\conftest.py", "risk_score": 0.29022244227185806, "reasons": [{"feature": "lines_removed_total", "label": "lines removed", "value": 217.0, "percentile": 0.7692307692307693, "impact": 0.09361551547873004}, {"feature": "churn", "label": "churn", "value": 442.0, "percentile": 0.6813186813186813, "impact": 0.09110338511342075}, {"feature": "lines_added_total", "label": "lines added", "value": 225.0, "percentile": 0.6593406593406593, "impact": 0.08083892243339694}], "trend": [{"date": "2018-01-17", "risk": 0.14767679662400546}, {"date": "2019-10-15", "risk": 0.14767679662400546}, {"date": "2021-07-13", "risk": 0.15347561957115755}, {"date": "2023-04-10", "risk": 0.5020991472877956}, {"date": "2025-01-06", "risk": 0.29022244227185806}, {"date": "2026-10-04", "risk": 0.29022244227185806}], "trend_delta": 0.1425456456478526}, {"file_path": "src\\click\\_winconsole.py", "risk_score": 0.27342453491569135, "reasons": [{"feature": "halstead_difficulty", "label": "Halstead difficulty", "value": 6.7375, "percentile": 0.8791208791208791, "impact": 0.058962544132317024}, {"feature": "lines_added_total", "label": "lines added", "value": 224.0, "percentile": 0.6483516483516484, "impact": 0.05843282147862802}, {"feature": "churn", "label": "churn", "value": 486.0, "percentile": 0.7252747252747253, "impact": 0.04306181373768936}], "trend": [{"date": "2018-01-17", "risk": null}, {"date": "2019-10-15", "risk": null}, {"date": "2021-07-13", "risk": 0.3284327380977291}, {"date": "2023-04-10", "risk": 0.18961348172015144}, {"date": "2025-01-06", "risk": 0.29769790658036627}, {"date": "2026-10-04", "risk": 0.27342453491569135}], "trend_delta": -0.05500820318203775}, {"file_path": "examples\\repo\\repo.py", "risk_score": 0.2548307448811189, "reasons": [{"feature": "lines_added_total", "label": "lines added", "value": 276.0, "percentile": 0.6923076923076923, "impact": 0.048277713081724544}, {"feature": "churn", "label": "churn", "value": 386.0, "percentile": 0.6703296703296703, "impact": 0.04371179424595997}, {"feature": "lines_removed_total", "label": "lines removed", "value": 110.0, "percentile": 0.6923076923076923, "impact": 0.029637869659774996}], "trend": [{"date": "2018-01-17", "risk": 0.1329550704632288}, {"date": "2019-10-15", "risk": 0.13069283270099105}, {"date": "2021-07-13", "risk": 0.08936955128701923}, {"date": "2023-04-10", "risk": 0.09497480868022844}, {"date": "2025-01-06", "risk": 0.09497480868022844}, {"date": "2026-10-04", "risk": 0.2548307448811189}], "trend_delta": 0.1218756744178901}, {"file_path": "tests\\test_utils\\test_echo.py", "risk_score": 0.24543562315258963, "reasons": [{"feature": "age_days", "label": "age (days)", "value": 88.0, "percentile": 0.23076923076923078, "impact": 0.0827629252629053}, {"feature": "maintainability_index", "label": "maintainability", "value": 44.311102246774745, "percentile": 0.25274725274725274, "impact": 0.032373932269281036}, {"feature": "max_cyclomatic_complexity", "label": "max complexity", "value": 25.0, "percentile": 0.967032967032967, "impact": 0.030303139094118164}], "trend": [{"date": "2018-01-17", "risk": null}, {"date": "2019-10-15", "risk": null}, {"date": "2021-07-13", "risk": null}, {"date": "2023-04-10", "risk": null}, {"date": "2025-01-06", "risk": null}, {"date": "2026-10-04", "risk": 0.24543562315258963}], "trend_delta": null}, {"file_path": "src\\click\\__init__.py", "risk_score": 0.24463711783121297, "reasons": [{"feature": "lines_removed_total", "label": "lines removed", "value": 196.0, "percentile": 0.7472527472527473, "impact": 0.06619830811708885}, {"feature": "lines_added_total", "label": "lines added", "value": 250.0, "percentile": 0.6703296703296703, "impact": 0.06558402554958614}, {"feature": "churn", "label": "churn", "value": 446.0, "percentile": 0.6923076923076923, "impact": 0.05506905851505994}], "trend": [{"date": "2018-01-17", "risk": null}, {"date": "2019-10-15", "risk": null}, {"date": "2021-07-13", "risk": 0.20122125153793058}, {"date": "2023-04-10", "risk": 0.1660266344434481}, {"date": "2025-01-06", "risk": 0.25031565199937383}, {"date": "2026-10-04", "risk": 0.24463711783121297}], "trend_delta": 0.043415866293282396}, {"file_path": "tests\\test_defaults.py", "risk_score": 0.23928615007530998, "reasons": [{"feature": "churn", "label": "churn", "value": 641.0, "percentile": 0.7692307692307693, "impact": 0.04167027751658925}, {"feature": "halstead_difficulty", "label": "Halstead difficulty", "value": 5.918478260869565, "percentile": 0.8131868131868132, "impact": 0.04110804801806775}, {"feature": "loc", "label": "lines of code", "value": 567.0, "percentile": 0.8021978021978022, "impact": 0.037617133669451575}], "trend": [{"date": "2018-01-17", "risk": 0.00923076923076923}, {"date": "2019-10-15", "risk": 0.00923076923076923}, {"date": "2021-07-13", "risk": 0.0}, {"date": "2023-04-10", "risk": 0.0113052573932092}, {"date": "2025-01-06", "risk": 0.13678710629387997}, {"date": "2026-10-04", "risk": 0.23928615007530998}], "trend_delta": 0.23005538084454075}, {"file_path": "src\\click\\formatting.py", "risk_score": 0.22012596750605862, "reasons": [{"feature": "halstead_difficulty", "label": "Halstead difficulty", "value": 6.830645161290323, "percentile": 0.8901098901098901, "impact": 0.0680918226100452}, {"feature": "lines_added_total", "label": "lines added", "value": 187.0, "percentile": 0.6263736263736264, "impact": 0.03507609964695463}, {"feature": "churn", "label": "churn", "value": 316.0, "percentile": 0.6263736263736264, "impact": 0.024898048314853177}], "trend": [{"date": "2018-01-17", "risk": null}, {"date": "2019-10-15", "risk": null}, {"date": "2021-07-13", "risk": 0.3466012351241762}, {"date": "2023-04-10", "risk": 0.16183873917499605}, {"date": "2025-01-06", "risk": 0.13719933602495463}, {"date": "2026-10-04", "risk": 0.22012596750605862}], "trend_delta": -0.12647526761811756}], "dependency_edge_count": 159, "most_coupled_files": [{"file_path": "src\\click\\__init__.py", "afferent": 66, "efferent": 0, "instability": 0.0}, {"file_path": "src\\click\\core.py", "afferent": 11, "efferent": 11, "instability": 0.5}, {"file_path": "src\\click\\_compat.py", "afferent": 17, "efferent": 1, "instability": 0.05555555555555555}, {"file_path": "src\\click\\utils.py", "afferent": 11, "efferent": 3, "instability": 0.21428571428571427}, {"file_path": "src\\click\\exceptions.py", "afferent": 8, "efferent": 4, "instability": 0.3333333333333333}, {"file_path": "src\\click\\testing.py", "afferent": 4, "efferent": 6, "instability": 0.6}, {"file_path": "src\\click\\parser.py", "afferent": 5, "efferent": 4, "instability": 0.4444444444444444}, {"file_path": "src\\click\\shell_completion.py", "afferent": 7, "efferent": 2, "instability": 0.2222222222222222}, {"file_path": "src\\click\\termui.py", "afferent": 2, "efferent": 7, "instability": 0.7777777777777778}, {"file_path": "src\\click\\types.py", "afferent": 4, "efferent": 5, "instability": 0.5555555555555556}, {"file_path": "src\\click\\_utils.py", "afferent": 8, "efferent": 0, "instability": 0.0}, {"file_path": "src\\click\\_termui_impl.py", "afferent": 4, "efferent": 3, "instability": 0.42857142857142855}, {"file_path": "src\\click\\globals.py", "afferent": 5, "efferent": 1, "instability": 0.16666666666666666}, {"file_path": "src\\click\\decorators.py", "afferent": 2, "efferent": 3, "instability": 0.6}, {"file_path": "src\\click\\formatting.py", "afferent": 2, "efferent": 3, "instability": 0.6}, {"file_path": "tests\\test_deprecations.py", "afferent": 0, "efferent": 5, "instability": 1.0}, {"file_path": "tests\\test_termui.py", "afferent": 0, "efferent": 5, "instability": 1.0}, {"file_path": "tests\\test_options.py", "afferent": 0, "efferent": 4, "instability": 1.0}, {"file_path": "tests\\test_testing.py", "afferent": 0, "efferent": 4, "instability": 1.0}, {"file_path": "src\\click\\_textwrap.py", "afferent": 2, "efferent": 1, "instability": 0.3333333333333333}, {"file_path": "tests\\test_compat.py", "afferent": 0, "efferent": 3, "instability": 1.0}, {"file_path": "tests\\test_context.py", "afferent": 0, "efferent": 3, "instability": 1.0}, {"file_path": "tests\\test_defaults.py", "afferent": 0, "efferent": 3, "instability": 1.0}, {"file_path": "tests\\test_parser.py", "afferent": 0, "efferent": 3, "instability": 1.0}, {"file_path": "tests\\test_shell_completion.py", "afferent": 0, "efferent": 3, "instability": 1.0}, {"file_path": "tests\\test_utils\\test_echo.py", "afferent": 0, "efferent": 3, "instability": 1.0}, {"file_path": "examples\\completion\\completion.py", "afferent": 0, "efferent": 2, "instability": 1.0}, {"file_path": "src\\click\\_winconsole.py", "afferent": 1, "efferent": 1, "instability": 0.5}, {"file_path": "tests\\test_arguments.py", "afferent": 0, "efferent": 2, "instability": 1.0}, {"file_path": "tests\\test_basic.py", "afferent": 0, "efferent": 2, "instability": 1.0}], "cyclic_groups": [["src\\click\\_winconsole.py", "src\\click\\_compat.py"], ["src\\click\\formatting.py", "src\\click\\types.py", "src\\click\\_termui_impl.py", "src\\click\\termui.py", "src\\click\\parser.py", "src\\click\\exceptions.py", "src\\click\\utils.py", "src\\click\\globals.py", "src\\click\\decorators.py", "src\\click\\core.py", "src\\click\\shell_completion.py"]], "llm_szz_assessed": null, "llm_szz_fallback": null, "history_start": "2014-04-24T07:47:52", "history_end": "2026-10-04T15:19:53", "city": [{"file_path": "src\\click\\types.py", "loc": 1437, "risk_score": 0.6023533382974756}, {"file_path": "tests\\test_termui.py", "loc": 1984, "risk_score": 0.5910301687756984}, {"file_path": "src\\click\\_compat.py", "loc": 590, "risk_score": 0.5753653657744654}, {"file_path": "src\\click\\testing.py", "loc": 798, "risk_score": 0.5315827429852655}, {"file_path": "src\\click\\shell_completion.py", "loc": 801, "risk_score": 0.5155842273673514}, {"file_path": "src\\click\\utils.py", "loc": 676, "risk_score": 0.49576185840845244}, {"file_path": "src\\click\\_termui_impl.py", "loc": 972, "risk_score": 0.49389027999989765}, {"file_path": "src\\click\\core.py", "loc": 4038, "risk_score": 0.48746055417017176}, {"file_path": "tests\\test_options.py", "loc": 3945, "risk_score": 0.45529469501419934}, {"file_path": "tests\\test_basic.py", "loc": 986, "risk_score": 0.44119489764844466}, {"file_path": "tests\\test_arguments.py", "loc": 1229, "risk_score": 0.4387220454415498}, {"file_path": "tests\\test_testing.py", "loc": 840, "risk_score": 0.40853838490026056}, {"file_path": "tests\\test_shell_completion.py", "loc": 617, "risk_score": 0.37390520822184875}, {"file_path": "tests\\test_stream_lifecycle.py", "loc": 540, "risk_score": 0.3465444076049653}, {"file_path": "tests\\test_formatting.py", "loc": 632, "risk_score": 0.33856848457507566}, {"file_path": "src\\click\\termui.py", "loc": 1024, "risk_score": 0.33636470586916034}, {"file_path": "src\\click\\decorators.py", "loc": 627, "risk_score": 0.33596697220627725}, {"file_path": "src\\click\\exceptions.py", "loc": 378, "risk_score": 0.32891252619818906}, {"file_path": "tests\\test_deprecations.py", "loc": 255, "risk_score": 0.32262092872517295}, {"file_path": "docs\\conf.py", "loc": 59, "risk_score": 0.3197104304954868}, {"file_path": "tests\\test_utils\\test_open_file.py", "loc": 117, "risk_score": 0.30288618381773735}, {"file_path": "tests\\test_commands.py", "loc": 700, "risk_score": 0.30044593085752647}, {"file_path": "tests\\test_types\\test_Path.py", "loc": 190, "risk_score": 0.29043641201156994}, {"file_path": "tests\\conftest.py", "loc": 8, "risk_score": 0.29022244227185806}, {"file_path": "src\\click\\_winconsole.py", "loc": 292, "risk_score": 0.27342453491569135}, {"file_path": "examples\\repo\\repo.py", "loc": 166, "risk_score": 0.2548307448811189}, {"file_path": "tests\\test_utils\\test_echo.py", "loc": 172, "risk_score": 0.24543562315258963}, {"file_path": "src\\click\\__init__.py", "loc": 144, "risk_score": 0.24463711783121297}, {"file_path": "tests\\test_defaults.py", "loc": 567, "risk_score": 0.23928615007530998}, {"file_path": "src\\click\\formatting.py", "loc": 320, "risk_score": 0.22012596750605862}, {"file_path": "tests\\test_abort_interrupt.py", "loc": 179, "risk_score": 0.21715677698666927}, {"file_path": "tests\\test_info_dict.py", "loc": 345, "risk_score": 0.20510519013155307}, {"file_path": "tests\\test_context.py", "loc": 782, "risk_score": 0.20200388349469983}, {"file_path": "examples\\imagepipe\\imagepipe.py", "loc": 288, "risk_score": 0.20149411988316013}, {"file_path": "examples\\aliases\\aliases.py", "loc": 143, "risk_score": 0.19643054521059614}, {"file_path": "src\\click\\_textwrap.py", "loc": 188, "risk_score": 0.18893406505815263}, {"file_path": "tests\\test_utils\\test_sentinel.py", "loc": 97, "risk_score": 0.18350153340058814}, {"file_path": "tests\\test_utils\\test__detect_program_name.py", "loc": 27, "risk_score": 0.16378623039730292}, {"file_path": "src\\click\\parser.py", "loc": 533, "risk_score": 0.1628035025804751}, {"file_path": "src\\click\\_utils.py", "loc": 45, "risk_score": 0.16181128630628525}, {"file_path": "tests\\test_utils\\test_style.py", "loc": 127, "risk_score": 0.16152997498867366}, {"file_path": "tests\\test_types\\test_ParamType.py", "loc": 24, "risk_score": 0.1602135760060097}, {"file_path": "examples\\termui\\termui.py", "loc": 169, "risk_score": 0.15864482392019721}, {"file_path": "tests\\typing\\typing_prompt.py", "loc": 50, "risk_score": 0.15863969805978023}, {"file_path": "tests\\test_types\\test_convert_type.py", "loc": 108, "risk_score": 0.1573854896717628}, {"file_path": "tests\\test_types\\test_FloatRange.py", "loc": 42, "risk_score": 0.15348485370025472}, {"file_path": "tests\\test_utils\\test_LazyFile.py", "loc": 11, "risk_score": 0.15328057848604723}, {"file_path": "tests\\test_utils\\test_KeepOpenFile.py", "loc": 10, "risk_score": 0.15328057848604723}, {"file_path": "tests\\test_chain.py", "loc": 245, "risk_score": 0.15234607000621742}, {"file_path": "tests\\test_utils\\test_confirm.py", "loc": 49, "risk_score": 0.1520181305752819}, {"file_path": "tests\\test_utils\\test_prompt.py", "loc": 100, "risk_score": 0.15104344584394377}, {"file_path": "tests\\test_types\\test_IntRange.py", "loc": 38, "risk_score": 0.147485102085749}, {"file_path": "tests\\test_compat.py", "loc": 270, "risk_score": 0.1470988473979612}, {"file_path": "tests\\test_types\\test_File.py", "loc": 31, "risk_score": 0.14572421073125788}, {"file_path": "tests\\test_types\\test_FuncParamType.py", "loc": 22, "risk_score": 0.1426306754666165}, {"file_path": "tests\\test_utils\\__init__.py", "loc": 0, "risk_score": 0.14255358144140803}, {"file_path": "tests\\test_types\\__init__.py", "loc": 0, "risk_score": 0.14035232357977281}, {"file_path": "tests\\typing\\typing_edit.py", "loc": 10, "risk_score": 0.14035232357977281}, {"file_path": "tests\\test_exceptions\\__init__.py", "loc": 0, "risk_score": 0.14035232357977281}, {"file_path": "tests\\test_types\\test_Choice.py", "loc": 7, "risk_score": 0.14021237481302176}, {"file_path": "tests\\test_exceptions\\test_FileError.py", "loc": 6, "risk_score": 0.14021237481302176}, {"file_path": "tests\\typing\\typing_path.py", "loc": 34, "risk_score": 0.13724626297371217}, {"file_path": "examples\\validation\\validation.py", "loc": 48, "risk_score": 0.13446603282111624}, {"file_path": "tests\\test_utils\\test_echo_via_pager.py", "loc": 259, "risk_score": 0.1333050170898446}, {"file_path": "tests\\test_utils\\test_make_default_short_help.py", "loc": 63, "risk_score": 0.13307061495534078}, {"file_path": "tests\\test_utils\\test_format_filename.py", "loc": 9, "risk_score": 0.1321658122109154}, {"file_path": "tests\\test_utils\\test__expand_args.py", "loc": 17, "risk_score": 0.1321658122109154}, {"file_path": "tests\\test_imports.py", "loc": 80, "risk_score": 0.09271112127776676}, {"file_path": "tests\\test_command_decorators.py", "loc": 92, "risk_score": 0.036079111962412605}, {"file_path": "tests\\typing\\typing_aliased_group.py", "loc": 46, "risk_score": 0.024625653748460766}, {"file_path": "examples\\naval\\naval.py", "loc": 72, "risk_score": 0.0240252639682784}, {"file_path": "examples\\complex\\complex\\cli.py", "loc": 60, "risk_score": 0.018181960092718916}, {"file_path": "tests\\typing\\typing_progressbar.py", "loc": 24, "risk_score": 0.016660724896019014}, {"file_path": "examples\\complex\\complex\\commands\\cmd_status.py", "loc": 11, "risk_score": 0.013703703048006846}, {"file_path": "src\\click\\globals.py", "loc": 67, "risk_score": 0.01238983401264103}, {"file_path": "tests\\typing\\typing_simple_example.py", "loc": 17, "risk_score": 0.01058361391694725}, {"file_path": "tests\\typing\\typing_options.py", "loc": 16, "risk_score": 0.01058361391694725}, {"file_path": "tests\\typing\\typing_confirmation_option.py", "loc": 14, "risk_score": 0.01058265496029209}, {"file_path": "tests\\typing\\typing_version_option.py", "loc": 16, "risk_score": 0.01058265496029209}, {"file_path": "tests\\test_normalization.py", "loc": 63, "risk_score": 0.008771924059875867}, {"file_path": "examples\\complex\\complex\\__init__.py", "loc": 0, "risk_score": 0.008022843822843823}, {"file_path": "examples\\complex\\complex\\commands\\__init__.py", "loc": 0, "risk_score": 0.008022843822843823}, {"file_path": "examples\\colors\\colors.py", "loc": 39, "risk_score": 0.008022843822843823}, {"file_path": "examples\\inout\\inout.py", "loc": 30, "risk_score": 0.00785761689291101}, {"file_path": "examples\\complex\\complex\\commands\\cmd_init.py", "loc": 13, "risk_score": 0.007793939393939393}, {"file_path": "tests\\typing\\typing_help_option.py", "loc": 13, "risk_score": 0.007779624657261787}, {"file_path": "tests\\typing\\typing_password_option.py", "loc": 14, "risk_score": 0.007779624657261787}, {"file_path": "tests\\typing\\typing_group_kw_options.py", "loc": 11, "risk_score": 0.007779624657261787}, {"file_path": "examples\\completion\\completion.py", "loc": 56, "risk_score": 0.003677712800519818}, {"file_path": "tests\\test_parser.py", "loc": 32, "risk_score": 0.002954545454545455}, {"file_path": "tests\\test_custom_classes.py", "loc": 112, "risk_score": 0.0015789473684210528}]} |