{"package":"linkrot","ecosystem":"pypi","latest_version":"5.2.2","description":"Extract metadata and URLs from PDF files","license":"GPL-3.0-or-later","license_risk":"unknown","commercial_use_notes":"verify manually — license not parseable / not declared.","homepage":"https://pypi.org/project/linkrot/","repository":"https://github.com/rottingresearch/linkrot","downloads_weekly":0,"health":{"score":45,"risk":"high","breakdown":{"maintenance":5,"popularity":0,"security":25,"maturity":15,"community":0},"deprecated":false,"max_score":100},"vulnerabilities":{"count":0,"critical":0,"high":0,"medium":0,"low":0,"details":[]},"versions":{"latest":"5.2.2","total_count":51,"recent":["3.8.4","3.8.5","3.8.6","3.8.7","3.8.8","3.9","3.9.1","3.9.2","3.9.3","3.9.4","3.9.5","3.9.9","4.0.6","4.1","4.2","5.0","5.1","5.2","5.2.1","5.2.2"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":0,"first_published":null,"last_published":"2025-07-22T18:53:36.603955Z","dependencies_count":15,"dependencies":["chardet==5.2.0","lxml==6.0.0","pymupdf==1.26.3","requests>=2.25.0","black==25.1.0; extra == \"dev\"","build==1.2.2.post1; extra == \"dev\"","coverage==7.9.2; extra == \"dev\"","flake8==7.3.0; extra == \"dev\"","mccabe<=0.7.0; extra == \"dev\"","mega-py==1.0.8; extra == \"dev\"","mypy==1.17.0; extra == \"dev\"","pylint==3.3.7; extra == \"dev\"","pytest==8.4.1; extra == \"dev\"","mega-py==1.0.8; extra == \"test\"","pytest==8.4.1; extra == \"test\""]},"github_stats":null,"bundle":null,"typescript":null,"known_issues":{"bugs_count":0,"bugs_severity":{},"status_breakdown":{},"link":null,"scope":"none"},"historical_compromise":null,"recommendation":{"action":"use_with_caution","issues":["Moderate health score (45/100) — verify manually"],"use_version":"5.2.2","version_hint":null,"summary":"linkrot@5.2.2 low health (45/100) — consider alternatives"},"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/linkrot","tokens_estimated":12,"use_when":"you only need to know if the package exists (hallucination guard)"},{"endpoint":"/api/health/pypi/linkrot","tokens_estimated":80,"use_when":"you only need a 0-100 score for go/no-go (>=70 = safe)"},{"endpoint":"/api/prompt/pypi/linkrot","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","hint_bulk":"You've called /api/check 100 times in 60s. Save bandwidth + tokens with POST /api/check_bulk (1 round-trip for N pkgs)."},"requested_version":null,"_cache":"hit","_response_ms":1,"_powered_by":"depscope.dev — free package intelligence for AI agents","typosquat":{"is_suspected":false},"maintainer_trust":{"available":false},"malicious":{"is_malicious":false},"scorecard":{"available":false},"quality":{"available":false},"version_history_summary":{"total_versions":20,"first_release_age_days":null,"last_release_days_ago":369,"avg_days_between_releases":null,"release_velocity":"stale"}}