pykerberos
High-level interface to Kerberos
What it is and what it does
PyKerberos is a high-level Python wrapper around Kerberos (GSSAPI) that abstracts the complexity of building full Kerberos bindings. It provides a limited set of functions for client and server authentication based on RFC 4559, with support for channel bindings that allow authentication to be bound to specific data channels (useful for TLS and services requiring Extended Protection).
The package requires system-level Kerberos libraries to compile and function, and depends on a properly configured Kerberos environment with valid tickets or keytab entries. However, the maintainers have placed this fork on life support, explicitly recommending users try the upstream package instead, as Apple has resumed work on the original project.
Use it for:
- Implement Kerberos authentication in Python applications that need to authenticate against Active Directory or MIT Kerberos realms.
- Build client applications that negotiate Kerberos tokens with servers using GSSAPI for single sign-on integration.
- Add channel binding support to TLS-authenticated services to meet Extended Protection requirements.
- Develop server-side Kerberos service principals that validate incoming client authentication tokens.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a Python wrapper for Kerberos (GSSAPI) authentication, enabling client and server authentication based on RFC 4559 with support for channel bindings.
No. The package is abandoned (last release 2022-03-09) and its own documentation recommends using the upstream package instead. High install friction from C compilation requirements, combined with no active maintenance, makes this a poor choice for new projects. Only consider if maintaining legacy code already using this specific fork.
Install
pykerberos on PyPI
pip
pip install pykerberosuv
uv add pykerberospoetry
poetry add pykerberosInstalling pykerberos
Before you install
High install friction due to compiled C extensions requiring system Kerberos libraries. Package is in abandoned maintenance status with no releases since 2022-03-09; the description explicitly recommends using the upstream package instead.
License in practice
Licensed under ASL 2.0 (permissive), allowing commercial and private use with minimal restrictions.
Quickstart
pip install pykerberos
import pykerberos
result, context = pykerberos.authGSSClientInit('http@host.example.com')
pykerberos.authGSSClientStep(context, neg_resp_value)
Requires system Kerberos libraries and valid Kerberos configuration; C extensions must compile during installation.
Verify before relying
- Whether this fork remains compatible with modern Kerberos versions given its abandoned status since 2022-03-09.
- Current Python 3 compatibility level, as classifiers claim support but package is not actively maintained.
- Whether the recommended upstream package is a direct drop-in replacement or requires code changes.
Package facts
| License | ASL 2.0 (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,619 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,954,595/month — #3,411 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pykerberos-1.2.4.tar.gz
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
kerberosProvides a high-level Python wrapper for…
permissive · top 5,000 on PyPI
winkerberosProvides native Kerberos client authentication…
permissive · top 5,000 on PyPI
scrampScramp implements the SCRAM authentication…
permissive · top 1,000 on PyPI
requests-kerberosAdds Kerberos/GSSAPI authentication support to…
permissive · top 5,000 on PyPI
k5testk5test sets up isolated Kerberos 5 test…
permissive · top 15,000 on PyPI
python-kadmin-rsPython bindings for Kerberos administration…
permissive · top 15,000 on PyPI
minikerberosA pure-Python Kerberos client library…
permissive · top 15,000 on PyPI
gssapiPython-GSSAPI wraps the GSSAPI C libraries to…
permissive · top 5,000 on PyPI
requests-gssapiAdds GSSAPI/Kerberos authentication support to…
permissive · top 15,000 on PyPI
pyspnegoHandles SPNEGO, NTLM, Kerberos, and CredSSP…
permissive · top 1,000 on PyPI