{"ecosystem":"pypi","ecosystem_label":"PyPI","indexed_repositories":12991,"inspected_repositories":12991,"monthly_downloads":97993937634,"median_score":71,"share_good_or_better":0.5949,"computed_at":"2026-10-16T10:52:20.835897Z","bands":[{"band":"exceptional","repositories":1396,"monthly_downloads":38358268164},{"band":"excellent","repositories":3310,"monthly_downloads":26528184097},{"band":"good","repositories":3022,"monthly_downloads":14348005117},{"band":"moderate","repositories":2558,"monthly_downloads":9127754118},{"band":"weak","repositories":1074,"monthly_downloads":2074268959},{"band":"at_risk","repositories":1174,"monthly_downloads":5659601820},{"band":"critical","repositories":457,"monthly_downloads":1897855359}],"histogram":[{"start":0,"count":14},{"start":5,"count":31},{"start":10,"count":86},{"start":15,"count":326},{"start":20,"count":260},{"start":25,"count":367},{"start":30,"count":547},{"start":35,"count":324},{"start":40,"count":329},{"start":45,"count":421},{"start":50,"count":776},{"start":55,"count":821},{"start":60,"count":961},{"start":65,"count":1090},{"start":70,"count":771},{"start":75,"count":1161},{"start":80,"count":1385},{"start":85,"count":1162},{"start":90,"count":1372},{"start":95,"count":787}],"categories":[{"key":"vitality","name":"Vitality","median":75,"record_median":68,"repositories":12991},{"key":"community","name":"Community & Adoption","median":54,"record_median":45,"repositories":12991},{"key":"governance","name":"Sustainability & Governance","median":60,"record_median":58,"repositories":12991},{"key":"engineering","name":"Engineering Quality","median":78,"record_median":66,"repositories":12991},{"key":"security","name":"Security","median":54,"record_median":49,"repositories":12991},{"key":"ai_readiness","name":"AI Readiness","median":59,"record_median":56,"repositories":12991}],"practices":[{"key":"readme","label":"README","share":0.95,"repositories":12991},{"key":"license","label":"License detected","share":0.9597,"repositories":12991},{"key":"ci","label":"CI workflows","share":0.8974,"repositories":12991},{"key":"tests","label":"Automated tests","share":0.9383,"repositories":12991},{"key":"linter","label":"Linter configuration","share":0.7218,"repositories":12991},{"key":"docs_dir","label":"Documentation directory","share":0.6734,"repositories":12991},{"key":"contributing","label":"Contributing guide","share":0.4687,"repositories":12991},{"key":"security_policy","label":"Security policy","share":0.2422,"repositories":12991},{"key":"code_of_conduct","label":"Code of conduct","share":0.2573,"repositories":12991},{"key":"agent_instructions","label":"AI agent instructions","share":0.3054,"repositories":12991},{"key":"bootstrap","label":"One-command bootstrap","share":0.4854,"repositories":12991},{"key":"llms_txt","label":"llms.txt","share":0.1897,"repositories":12991}],"stewardship":[{"key":"organization","label":"Organization-stewarded","repositories":7592,"median_score":78},{"key":"user","label":"Personal accounts","repositories":5399,"median_score":62}],"bus_factor":[{"bucket":"1","repositories":9542},{"bucket":"2","repositories":1924},{"bucket":"3–5","repositories":1162},{"bucket":"6+","repositories":308}],"single_maintainer_share":0.7376,"single_maintainer_high_reliance":1249,"licenses":[{"license":"MIT","state":"standard","repositories":5280},{"license":"Apache-2.0","state":"standard","repositories":3172},{"license":null,"state":"custom","repositories":1608},{"license":"BSD-3-Clause","state":"standard","repositories":809},{"license":"GPL-3.0","state":"standard","repositories":554},{"license":null,"state":"absent","repositories":524},{"license":"AGPL-3.0","state":"standard","repositories":322},{"license":"BSD-2-Clause","state":"standard","repositories":172},{"license":"LGPL-3.0","state":"standard","repositories":133},{"license":"MPL-2.0","state":"standard","repositories":108}],"ecosystems":[],"top_repositories":[{"id":10007,"full_name":"urllib3/urllib3","url":"https://github.com/urllib3/urllib3","description":"urllib3 is a user-friendly HTTP client library for Python","ecosystem":"pypi","ecosystems":["pypi"],"primary_language":"Python","languages":["Python"],"topics":["http","http-client","python","urllib3","filepost","httplib","https","pooling","ssl","threadsafe","urllib"],"license_spdx":"MIT","license_state":"standard","stars":4052,"forks":1538,"watchers":97,"monthly_downloads":1855397242,"latest_score":98,"latest_band":"exceptional","latest_scanned_at":"2026-08-28T08:46:46.604968Z","has_high_risk_jurisdiction_exposure":false,"has_malicious_dependency":false,"growth_authenticity":"unverified","abandonment_state":"maintained","red_flags":[],"icon_url":"/icon/v1/urllib3/urllib3?v=5837a04d-1","icon_source_type":"tree","badge_url":""},{"id":10000,"full_name":"pypa/packaging","url":"https://github.com/pypa/packaging","description":"Core utilities for Python packages","ecosystem":"pypi","ecosystems":["pypi"],"primary_language":"Python","languages":["Python"],"topics":[],"license_spdx":null,"license_state":"custom","stars":749,"forks":323,"watchers":26,"monthly_downloads":1765747097,"latest_score":98,"latest_band":"exceptional","latest_scanned_at":"2026-09-16T08:14:40.890820Z","has_high_risk_jurisdiction_exposure":false,"has_malicious_dependency":false,"growth_authenticity":"unverified","abandonment_state":"maintained","red_flags":[],"icon_url":"/icon/v1/pypa/packaging?v=af1fb09b-1","icon_source_type":"avatar","badge_url":""},{"id":10002,"full_name":"python/typing_extensions","url":"https://github.com/python/typing_extensions","description":"Backported and experimental type hints for Python","ecosystem":"pypi","ecosystems":["pypi"],"primary_language":"Python","languages":["Python"],"topics":["annotations","backport","checker","checking","function","hinting","hints","type","typechecking","typehinting","typehints","typing"],"license_spdx":null,"license_state":"custom","stars":582,"forks":145,"watchers":17,"monthly_downloads":1632841472,"latest_score":97,"latest_band":"exceptional","latest_scanned_at":"2026-09-09T03:48:59.796409Z","has_high_risk_jurisdiction_exposure":false,"has_malicious_dependency":false,"growth_authenticity":"unverified","abandonment_state":"maintained","red_flags":[],"icon_url":"/icon/v1/python/typing_extensions?v=8a5117d4-1","icon_source_type":"avatar","badge_url":""},{"id":10010,"full_name":"jawah/charset_normalizer","url":"https://github.com/jawah/charset_normalizer","description":"Truly universal encoding detector in pure Python.","ecosystem":"pypi","ecosystems":["pypi"],"primary_language":"Python","languages":["Python","Cython"],"topics":["chardet","encoding","charset-conversion","unicode","python","charset-detection","charset","charset-detector","detector","normalization","detect"],"license_spdx":"MIT","license_state":"standard","stars":793,"forks":67,"watchers":6,"monthly_downloads":1467501961,"latest_score":94,"latest_band":"exceptional","latest_scanned_at":"2026-09-09T03:50:02.281022Z","has_high_risk_jurisdiction_exposure":false,"has_malicious_dependency":false,"growth_authenticity":"unverified","abandonment_state":"maintained","red_flags":[],"icon_url":"/icon/v1/jawah/charset_normalizer?v=8998f53f-1","icon_source_type":"readme","badge_url":""},{"id":10009,"full_name":"kjd/idna","url":"https://github.com/kjd/idna","description":"Internationalized Domain Names for Python (IDNA 2008 and UTS #46)","ecosystem":"pypi","ecosystems":["pypi"],"primary_language":"Python","languages":["Python"],"topics":["python","idna","dns","unicode"],"license_spdx":"BSD-3-Clause","license_state":"standard","stars":294,"forks":130,"watchers":11,"monthly_downloads":1454418571,"latest_score":86,"latest_band":"excellent","latest_scanned_at":"2026-09-16T08:17:18.408055Z","has_high_risk_jurisdiction_exposure":false,"has_malicious_dependency":false,"growth_authenticity":"unverified","abandonment_state":"maintained","red_flags":[],"icon_url":"/icon/v1/kjd/idna?v=751f9e67-1","icon_source_type":"avatar","badge_url":""},{"id":9998,"full_name":"psf/requests","url":"https://github.com/psf/requests","description":"A simple, yet elegant, HTTP library.","ecosystem":"pypi","ecosystems":["pypi"],"primary_language":"Python","languages":["Python"],"topics":["python","http","forhumans","requests","python-requests","client","humans","cookies"],"license_spdx":"Apache-2.0","license_state":"standard","stars":54305,"forks":10142,"watchers":1321,"monthly_downloads":1329902838,"latest_score":98,"latest_band":"exceptional","latest_scanned_at":"2026-09-16T09:15:14.558146Z","has_high_risk_jurisdiction_exposure":false,"has_malicious_dependency":false,"growth_authenticity":"unverified","abandonment_state":"maintained","red_flags":[],"icon_url":"/icon/v1/psf/requests?v=6cac66b3-1","icon_source_type":"avatar","badge_url":""}],"popularity_stars":[{"label":"Under 100 stars","repositories":7244,"median":63,"p25":48,"p75":77},{"label":"100 – 999","repositories":3070,"median":78,"p25":59,"p75":89},{"label":"1,000 – 9,999","repositories":2114,"median":86,"p25":67,"p75":93},{"label":"10,000 and more","repositories":563,"median":94,"p25":86,"p75":97}],"popularity_downloads":[{"label":"Under 10K / month","repositories":4100,"median":67,"p25":56,"p75":78},{"label":"10K – 1M","repositories":2645,"median":78,"p25":62,"p75":89},{"label":"1M – 100M","repositories":1799,"median":78,"p25":51,"p75":91},{"label":"100M and more","repositories":198,"median":88,"p25":68,"p75":95}],"freshness":[{"label":"Pushed within 30 days","repositories":9265},{"label":"31 – 90 days","repositories":1517},{"label":"91 – 365 days","repositories":994},{"label":"Over a year","repositories":1215}],"median_days_since_push":3,"dependencies":{"basis":9732,"median_direct":3,"median_indirect":24,"median_total":29,"buckets":[{"label":"0","repositories":628},{"label":"1 – 5","repositories":1561},{"label":"6 – 20","repositories":2116},{"label":"21 – 50","repositories":1405},{"label":"51 – 200","repositories":1917},{"label":"201 – 500","repositories":983},{"label":"501 – 1,000","repositories":539},{"label":"Over 1,000","repositories":583}]},"scorecard_checks":[{"name":"CII-Best-Practices","mean":0.1,"measured":12510,"inconclusive_share":0.0018},{"name":"Fuzzing","mean":0.5,"measured":12525,"inconclusive_share":0.0006},{"name":"Signed-Releases","mean":0.9,"measured":3999,"inconclusive_share":0.6809},{"name":"Branch-Protection","mean":1.5,"measured":8946,"inconclusive_share":0.2861},{"name":"Pinned-Dependencies","mean":1.7,"measured":11400,"inconclusive_share":0.0903},{"name":"SAST","mean":1.8,"measured":12510,"inconclusive_share":0.0018},{"name":"Token-Permissions","mean":2.1,"measured":11096,"inconclusive_share":0.1146},{"name":"Code-Review","mean":2.4,"measured":12484,"inconclusive_share":0.0038},{"name":"Security-Policy","mean":2.9,"measured":12532,"inconclusive_share":0.0},{"name":"Dependency-Update-Tool","mean":4.5,"measured":12532,"inconclusive_share":0.0},{"name":"Maintained","mean":6.3,"measured":12532,"inconclusive_share":0.0},{"name":"Contributors","mean":6.5,"measured":12532,"inconclusive_share":0.0},{"name":"Vulnerabilities","mean":6.5,"measured":12527,"inconclusive_share":0.0004},{"name":"CI-Tests","mean":7.1,"measured":10122,"inconclusive_share":0.1923},{"name":"License","mean":9.5,"measured":12532,"inconclusive_share":0.0},{"name":"Dangerous-Workflow","mean":9.6,"measured":11096,"inconclusive_share":0.1146},{"name":"Binary-Artifacts","mean":9.7,"measured":12531,"inconclusive_share":0.0001},{"name":"Packaging","mean":10.0,"measured":6130,"inconclusive_share":0.5109}],"red_flags":[{"key":"abandonment","label":"Abandonment","wiki_slug":"abandonment","findings":1240,"repositories":12991,"share":0.0955,"share_of_record":0.0955},{"key":"high_risk_jurisdiction_exposure","label":"High-Risk Jurisdiction Exposure","wiki_slug":"jurisdiction-exposure","findings":191,"repositories":11722,"share":0.0163,"share_of_record":0.0147},{"key":"malicious_dependencies","label":"Malicious dependencies","wiki_slug":"malicious-dependencies","findings":6,"repositories":9306,"share":0.0006,"share_of_record":0.0005},{"key":"inorganic_growth","label":"Inorganic growth","wiki_slug":"growth-authenticity","findings":3,"repositories":510,"share":0.0059,"share_of_record":0.0002}],"category_histograms":[{"key":"vitality","name":"Vitality","bins":[105,743,804,612,754,861,1296,2454,2806,2556]},{"key":"community","name":"Community & Adoption","bins":[90,477,889,1925,2183,1994,1983,1689,1200,561]},{"key":"governance","name":"Sustainability & Governance","bins":[0,51,185,881,1362,3648,3588,2103,1012,161]},{"key":"engineering","name":"Engineering Quality","bins":[8,35,182,377,616,1055,1759,2810,3610,2539]},{"key":"security","name":"Security","bins":[85,92,665,1538,2652,3462,2632,1397,415,53]},{"key":"ai_readiness","name":"AI Readiness","bins":[8,222,565,1277,2065,2428,2641,1875,1390,520]}],"downloads_top1pct_share":0.644}