{"package":"pyjwt","ecosystem":"pypi","latest_version":"2.14.0","description":"JSON Web Token implementation in Python","license":"MIT","license_risk":"permissive","commercial_use_notes":"Permissive: commercial closed-source use OK; preserve the copyright notice.","homepage":"https://pypi.org/project/PyJWT/","repository":"https://github.com/jpadilla/pyjwt","downloads_weekly":129491931,"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":"2.14.0","total_count":56,"recent":["2.0.0a1","2.0.0a2","2.0.0","2.0.1","2.1.0","2.2.0","2.3.0","2.4.0","2.5.0","2.6.0","2.7.0","2.8.0","2.9.0","2.10.0","2.10.1","2.11.0","2.12.0","2.12.1","2.13.0","2.14.0"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":0,"first_published":null,"last_published":"2026-09-11T13:11:53.409243Z","dependencies_count":2,"dependencies":["typing_extensions>=4.0; python_version < \"3.11\"","cryptography>=3.4.0; extra == \"crypto\""]},"github_stats":{"stars":5645,"forks":753,"open_issues":49,"is_archived":false,"pushed_at":"2026-04-27T22:01:20+00:00"},"bundle":null,"typescript":null,"known_issues":{"bugs_count":12,"bugs_severity":{"high":3,"medium":8,"low":1},"status_breakdown":{"fixed":11,"open":1},"link":"/api/bugs/pypi/pyjwt?version=2.14.0","scope":"version","details":[{"title":"PyJWT: Public-key JWK accepted as HMAC secret enables forged HS256 tokens when mixed families are allowed","severity":"high","status":"fixed","affected_version":null,"fixed_version":"2.13.0","url":"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-xgmm-8j9v-c9wx"},{"title":"PyJWT vulnerable to key confusion attacks","severity":"high","status":"fixed","affected_version":null,"fixed_version":"1.5.1","url":"https://nvd.nist.gov/vuln/detail/CVE-2017-11424"},{"title":"PyJWT accepts unknown `crit` header extensions","severity":"high","status":"fixed","affected_version":null,"fixed_version":"2.12.0","url":"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-752w-5fwx-jx9f"},{"title":"PYSEC-2026-179: advisory","severity":"medium","status":"fixed","affected_version":null,"fixed_version":"2.13.0","url":"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-xgmm-8j9v-c9wx"},{"title":"PYSEC-2026-177: advisory","severity":"medium","status":"fixed","affected_version":null,"fixed_version":"2.13.0","url":"https://github.com/jpadilla/pyjwt/security/advisories/GHSA-fhv5-28vv-h8m8"}]},"historical_compromise":null,"recommendation":{"action":"safe_to_use","issues":[],"use_version":"2.14.0","version_hint":null,"summary":"pyjwt@2.14.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/pyjwt","tokens_estimated":12,"use_when":"you only need to know if the package exists (hallucination guard)"},{"endpoint":"/api/health/pypi/pyjwt","tokens_estimated":80,"use_when":"you only need a 0-100 score for go/no-go (>=70 = safe)"},{"endpoint":"/api/prompt/pypi/pyjwt","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}