skillfed

pyspnego

Windows Negotiate Authentication Client and Server

pyspnego Permissive license MIT Active 66 v0.12.1 released

Install

pyspnego on PyPI

pip

pip install pyspnego

uv

uv add pyspnego

poetry

poetry add pyspnego

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 2 — cryptography, sspilib
Maintenance actively maintained — 164 days since the last release
Last repo commit
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: pyspnego-0.12.1-py3-none-any.whl

Keywords: windows, spnego, negotiate, ntlm, kerberos, sspi, gssapi, auth

Development Status :: 4 - BetaProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9

About pyspnego

from the package's own PyPI description — quoted content, verbatim

Python SPNEGO Library

Test workflow (image) codecov (image) PyPI version (image) License (image)

Library to handle SPNEGO (Negotiate, NTLM, Kerberos) and CredSSP authentication. Also includes a packet parser that can be used to decode raw NTLM/SPNEGO/Kerberos tokens into a human readable format.

Requirements

See How to Install for more details

Optional Requirements

The following Python libraries can be installed to add extra features that do not come with the base package:

Read as markdown · JSON record · Source repository

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

Implements SPNEGO/Negotiate, NTLM, Kerberos, and CredSSP authentication protocols for Python, with packet parsing for raw tokens and support for both client and server authentication modes.

Low friction installation with pure-wheel distribution. Actively maintained (164 days since last release) with recent commits. Two runtime dependencies: cryptography (widely used) and sspilib (Windows-only). Kerberos support requires optional system packages on Linux.

MIT license permits unrestricted commercial and private use with minimal obligations—only attribution required.

Usage

pip install pyspnego

from pyspnego.client import Client
client = Client(username='user', password='pass', hostname='server')
token = client.step()

CPython 3.9+ required; sspilib dependency is Windows-only; Kerberos on Linux requires system packages (libkrb5-dev or equivalent) and optional python-gssapi/pykrb5.

Verdict: Actively maintained authentication library with low install friction and no known vulnerabilities. Covers enterprise auth protocols (SPNEGO, NTLM, Kerberos, CredSSP) with both client and server support. MIT license is permissive. Primary consideration: platform-specific dependencies (Windows for SSPI, optional system packages for Kerberos on Linux) and Beta maturity status.

Needs verification

  • Whether acceptor (server-side) authentication is production-ready given the caveat about NTLM acceptor testing coverage
  • Real-world adoption rate beyond the top-1000 tier indicator
  • Whether optional Kerberos extras (python-gssapi, pykrb5) are reliably maintained
spnego negotiate authenticationntlm kerberos clientwindows sspi gssapicredssp protocolspnego token parserkerberos authentication pythonntlm authentication library

Similar packages