{"package":"joblib","ecosystem":"pypi","latest_version":"1.6.0","description":"Lightweight pipelining with Python functions","license":"BSD-3-Clause","license_risk":"permissive","commercial_use_notes":"Permissive: commercial closed-source use OK; preserve the copyright notice.","homepage":"https://pypi.org/project/joblib/","repository":"https://github.com/joblib/joblib","downloads_weekly":36831014,"health":{"score":90,"risk":"low","breakdown":{"maintenance":25,"popularity":20,"security":25,"maturity":15,"community":5,"popularity_floor":0},"deprecated":false,"max_score":100},"vulnerabilities":{"count":0,"critical":0,"high":0,"medium":0,"low":0,"details":[]},"versions":{"latest":"1.6.0","total_count":102,"recent":["0.15.0","0.15.1","0.16.0","0.17.0","1.0.0","1.0.1","1.1.0a0","1.1.0","1.1.1","1.2.0","1.3.0","1.3.1","1.3.2","1.4.0","1.4.2","1.5.0","1.5.1","1.5.2","1.5.3","1.6.0"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":0,"first_published":null,"last_published":"2026-08-31T09:39:02.298565Z","dependencies_count":24,"dependencies":["cloudpickle>=3.0","distributed; extra == \"test\"","lz4; extra == \"test\"","numpy; extra == \"test\"","memory_profiler; extra == \"test\"","pytest; extra == \"test\"","pytest-asyncio; extra == \"test\"","pytest-cov; extra == \"test\"","pytest-run-parallel; extra == \"test\"","pytest-timeout; extra == \"test\"","threadpoolctl; extra == \"test\"","distributed; extra == \"docs\"","lz4; extra == \"docs\"","numpy; extra == \"docs\"","numpydoc; extra == \"docs\"","matplotlib; extra == \"docs\"","pandas; extra == \"docs\"","psutil; extra == \"docs\"","sphinx; extra == \"docs\"","pydata-sphinx-theme; extra == \"docs\"","sphinx-gallery; extra == \"docs\"","sphinx-copybutton; extra == \"docs\"","sphinx-design; extra == \"docs\"","tqdm; extra == \"docs\""]},"github_stats":{"stars":4396,"forks":482,"open_issues":437,"is_archived":false,"pushed_at":"2026-09-22T21:20:49Z","subscribers_count":56},"bundle":null,"typescript":null,"known_issues":{"bugs_count":2,"bugs_severity":{"medium":1,"critical":1},"status_breakdown":{"fixed":2},"link":"/api/bugs/pypi/joblib?version=1.6.0","scope":"version","details":[{"title":"PYSEC-2022-288: advisory","severity":"medium","status":"fixed","affected_version":null,"fixed_version":"b90f10efeb670a2cc877fb88ebb3f2019189e059","url":"https://github.com/joblib/joblib/commit/b90f10efeb670a2cc877fb88ebb3f2019189e059"},{"title":"joblib vulnerable to arbitrary code execution","severity":"critical","status":"fixed","affected_version":null,"fixed_version":"1.2.0","url":"https://nvd.nist.gov/vuln/detail/CVE-2022-21797"}]},"historical_compromise":null,"recommendation":{"action":"safe_to_use","issues":[],"use_version":"1.6.0","version_hint":null,"summary":"joblib@1.6.0 is safe to use (health: 90/100)"},"version_scoped":null,"_meta":{"endpoint":"check","tier":"full","philosophy":"DepScope is free. Use the cheapest endpoint that answers your real question.","cheaper_alternatives":[{"endpoint":"/api/exists/pypi/joblib","tokens_estimated":12,"use_when":"you only need to know if the package exists (hallucination guard)"},{"endpoint":"/api/health/pypi/joblib","tokens_estimated":80,"use_when":"you only need a 0-100 score for go/no-go (>=70 = safe)"},{"endpoint":"/api/prompt/pypi/joblib","tokens_estimated":280,"use_when":"you want a plain-text LLM-friendly brief instead of JSON"},{"endpoint":"POST /api/check_bulk","tokens_estimated":60,"use_when":"you have 5+ packages to check; sends one round-trip instead of N"}],"docs":"https://depscope.dev/integrate"},"_cache":"hit","_response_ms":0}