{"package":"keyring","ecosystem":"pypi","latest_version":"25.7.0","description":"Store and access your passwords safely.","license":"MIT","license_risk":"permissive","commercial_use_notes":"Permissive: commercial closed-source use OK; preserve the copyright notice.","homepage":"https://pypi.org/project/keyring/","repository":"https://github.com/jaraco/keyring","downloads_weekly":34482249,"health":{"score":80,"risk":"low","breakdown":{"maintenance":15,"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":"25.7.0","total_count":203,"recent":["23.13.0","23.13.1","24.0.0","24.0.1","24.1.0","24.1.1","24.2.0","24.3.0","24.3.1","25.0.0","25.0.1","25.1.0","25.2.0","25.2.1","25.3.0","25.4.0","25.4.1","25.5.0","25.6.0","25.7.0"]},"metadata":{"deprecated":false,"deprecated_message":null,"maintainers_count":0,"first_published":null,"last_published":"2025-11-16T16:26:08.402146Z","dependencies_count":24,"dependencies":["pywin32-ctypes>=0.2.0; sys_platform == \"win32\"","SecretStorage>=3.2; sys_platform == \"linux\"","jeepney>=0.4.2; sys_platform == \"linux\"","importlib_metadata>=4.11.4; python_version < \"3.12\"","jaraco.classes","jaraco.functools","jaraco.context","pytest!=8.1.*,>=6; extra == \"test\"","pyfakefs; extra == \"test\"","sphinx>=3.5; extra == \"doc\"","jaraco.packaging>=9.3; extra == \"doc\"","rst.linker>=1.9; extra == \"doc\"","furo; extra == \"doc\"","sphinx-lint; extra == \"doc\"","jaraco.tidelift>=1.4; extra == \"doc\"","pytest-checkdocs>=2.4; extra == \"check\"","pytest-ruff>=0.2.1; sys_platform != \"cygwin\" and extra == \"check\"","pytest-cov; extra == \"cover\"","pytest-enabler>=3.4; extra == \"enabler\"","pytest-mypy>=1.0.1; extra == \"type\"","pygobject-stubs; extra == \"type\"","shtab; extra == \"type\"","types-pywin32; extra == \"type\"","shtab>=1.1.0; extra == \"completion\""]},"github_stats":{"stars":1512,"forks":196,"open_issues":108,"is_archived":false,"pushed_at":"2026-04-13T23:34:18Z","subscribers_count":23},"bundle":null,"typescript":null,"known_issues":{"bugs_count":6,"bugs_severity":{"high":3,"medium":3},"status_breakdown":{"fixed":6},"link":"/api/bugs/pypi/keyring?version=25.7.0","scope":"version","details":[{"title":"Incorrect Default Permissions in keyring","severity":"high","status":"fixed","affected_version":null,"fixed_version":"0.10","url":"https://nvd.nist.gov/vuln/detail/CVE-2012-5577"},{"title":"Python Keyring does not securely initialize encryption cipher","severity":"high","status":"fixed","affected_version":null,"fixed_version":"0.9.2","url":"https://nvd.nist.gov/vuln/detail/CVE-2012-4571"},{"title":"Incorrect Default Permissions in keyring","severity":"high","status":"fixed","affected_version":null,"fixed_version":"0.10","url":"https://nvd.nist.gov/vuln/detail/CVE-2012-5578"},{"title":"PYSEC-2019-182: advisory","severity":"medium","status":"fixed","affected_version":null,"fixed_version":"0.10.1","url":"https://bugs.launchpad.net/ubuntu/+source/python-keyring/+bug/1031465"},{"title":"PYSEC-2019-181: advisory","severity":"medium","status":"fixed","affected_version":null,"fixed_version":"0.10","url":"https://security-tracker.debian.org/tracker/CVE-2012-5577"}]},"historical_compromise":null,"recommendation":{"action":"safe_to_use","issues":[],"use_version":"25.7.0","version_hint":null,"summary":"keyring@25.7.0 is safe to use (health: 80/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/keyring","tokens_estimated":12,"use_when":"you only need to know if the package exists (hallucination guard)"},{"endpoint":"/api/health/pypi/keyring","tokens_estimated":80,"use_when":"you only need a 0-100 score for go/no-go (>=70 = safe)"},{"endpoint":"/api/prompt/pypi/keyring","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}