requests-negotiate-sspi
This package allows for Single-Sign On HTTP Negotiate authentication using the requests library on Windows.
What it is and what it does
requests-negotiate-sspi extends the requests library to support HTTP Negotiate authentication on Windows, enabling single-sign-on via Kerberos or NTLM using the Windows SSPI interface. It integrates with Active Directory and supports Extended Protection for Authentication (Channel Binding Hash), making it suitable for enterprise environments that require this security feature.
The package is a thin wrapper around Windows authentication mechanisms, designed for developers building HTTP clients that need to authenticate against Windows-protected resources without prompting for credentials. It works by plugging into requests' auth handler system, allowing transparent SSO when the user is already authenticated to the Windows domain.
Use it for:
- Authenticate HTTP requests to Active Directory Federation Services (ADFS) endpoints using domain credentials.
- Build Windows service applications that make HTTP calls to internal APIs without storing passwords.
- Access Kerberos-protected resources on corporate networks using implicit Windows authentication.
- Implement Channel Binding Hash authentication for services that require Extended Protection for Authentication.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Adds HTTP Negotiate authentication (Kerberos/NTLM single-sign-on) to the requests library using Windows SSPI, with support for Extended Protection for Authentication.
No. The package is abandoned (last release 2018-10-10, last commit 2023-03-31) and targets Python versions up to 3.5. While it has low install friction and permissive licensing, the lack of maintenance means no fixes for modern Python or requests versions, and no support for security issues. Use only if you are locked into legacy Python 2.7 or early Python 3 on Windows; otherwise, evaluate modern alternatives or native requests authentication methods.
Install
requests-negotiate-sspi on PyPI
pip
pip install requests-negotiate-sspiuv
uv add requests-negotiate-sspipoetry
poetry add requests-negotiate-sspiInstalling requests-negotiate-sspi
Before you install
Low install friction, but maintenance is abandoned: last release was 2018-10-10 and last commit 2023-03-31. The package depends on pypiwin32 and requests, both common dependencies. No recent updates or bug fixes should be expected.
License in practice
Licensed under Apache Software License (permissive), which allows commercial and private use with minimal restrictions.
Quickstart
pip install requests-negotiate-sspi
import requests
from requests_negotiate_sspi import HttpNegotiateAuth
response = requests.get('http://example.com', auth=HttpNegotiateAuth())
Windows-only: requires pypiwin32 and Windows SSPI support; not usable on Linux or macOS.
Verify before relying
- Whether the package works reliably with modern Python versions (classifiers list only up to 3.5).
- Current compatibility with recent requests library versions.
- Whether Extended Protection for Authentication (Channel Binding) works with current Active Directory Federation Services deployments.
Package facts
| License | not declared (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — pypiwin32, requests |
| Maintenance | abandoned — 2,865 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 111,377/month — #12,419 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: requests_negotiate_sspi-0.5.2-py2.py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
msldapmsldap is a Python library for querying and…
permissive · top 15,000 on PyPI
requests-credsspAdds CredSSP authentication support to the…
permissive · top 15,000 on PyPI
sspilibProvides Python bindings to the Windows SSPI…
permissive · top 5,000 on PyPI
requests-kerberosAdds Kerberos/GSSAPI authentication support 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
ntlm-authConstructs and parses NTLM authentication…
permissive · top 5,000 on PyPI
aws-sso-utilaws-sso-util provides command-line utilities…
permissive · top 15,000 on PyPI
pamelaPamela provides a Python interface to the…
permissive · top 15,000 on PyPI
pywinrmpywinrm is a Python client for Windows Remote…
permissive · top 5,000 on PyPI