requests-ntlm2
The HTTP NTLM proxy and/or server authentication library.
Decision gist · record as of 2026-08-14
Yes, if you need NTLM authentication for requests in a Windows or corporate environment. The package is stable (Production/Stable classifier), permissively licensed, and has low install friction. However, the 443-day gap since last release and aging maintenance status mean you should verify compatibility with your current dependency versions and be prepared to maintain a fork if critical issues arise.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction install with three stable runtime dependencies (requests, ntlm-auth, cryptography).
- Maintenance status is aging—last release was 443 days ago, though the repository remains active with a recent commit on 2025-05-28.
License · maintenance · safety
ISC (permissive) — Licensed under ISC (permissive), which allows commercial and private use with minimal restrictions, making it safe to adopt in most projects.
last release 2025-05-28 (443 days) · last repo commit 2025-05-28 · 12 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 206,922 downloads/mo, #9,563 on PyPI
Alternatives
Verify before relying
pip install requests-ntlm2
import requests
from requests_ntlm2 import HttpNtlmAuth
auth = HttpNtlmAuth('domain\\username', 'password')
response = requests.get('http://ntlm_protected_site.com', auth=auth)- Whether the package is actively maintained or in maintenance-only mode given the 443-day gap since last release
- Current compatibility with the latest versions of requests, ntlm-auth, and cryptography
What it is and what it does
requests-ntlm2 is an authentication plugin for the requests library that implements NTLM (NT LAN Manager) authentication, a Windows-native challenge-response protocol. It extends requests' AuthBase class to handle NTLM handshakes transparently, allowing you to authenticate against NTLM-protected servers and proxies without manual protocol handling. The package supports multiple NTLM compatibility levels (defaulting to NTLMv2 only) and integrates with requests' Session and proxy mechanisms for connection pooling and SSL tunnel creation via HTTP CONNECT.
The package depends on requests for HTTP transport, ntlm-auth for the core NTLM protocol implementation, and cryptography for cryptographic operations. It's designed for environments where NTLM is the required authentication scheme—typically corporate Windows-based infrastructure, proxies, or legacy systems. Usage is straightforward: instantiate HttpNtlmAuth with credentials and pass it to requests' auth parameter, or mount it as a session adapter for proxy tunneling.
Use it for
- Authenticate requests to corporate intranet servers that require NTLM credentials
- Route requests through NTLM-protected corporate proxies using HTTP CONNECT tunneling
- Maintain persistent NTLM-authenticated sessions with connection pooling to reduce handshake overhead
- Integrate NTLM authentication into Python automation or data-collection scripts targeting Windows environments
- Support legacy Windows-based APIs or services that do not accept modern OAuth or token-based auth
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need NTLM authentication for requests in a Windows or corporate environment.
The package is stable (Production/Stable classifier), permissively licensed, and has low install friction. However, the 443-day gap since last release and aging maintenance status mean you should verify compatibility with your current dependency versions and be prepared to maintain a fork if critical issues arise.
Install
requests-ntlm2 on PyPI
Before you install
Low friction install with three stable runtime dependencies (requests, ntlm-auth, cryptography). Maintenance status is aging—last release was 443 days ago, though the repository remains active with a recent commit on 2025-05-28.
License in practice
Licensed under ISC (permissive), which allows commercial and private use with minimal restrictions, making it safe to adopt in most projects.
Quickstart
pip install requests-ntlm2
import requests
from requests_ntlm2 import HttpNtlmAuth
auth = HttpNtlmAuth('domain\\username', 'password')
response = requests.get('http://ntlm_protected_site.com', auth=auth)
Verify before relying
- Whether the package is actively maintained or in maintenance-only mode given the 443-day gap since last release
- Current compatibility with the latest versions of requests, ntlm-auth, and cryptography
Package facts
| License | ISC permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagesrequestsntlm-authcryptography |
| Maintenance | Aging 443 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 206,922 / month, #9,563 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: ISC License (ISCL)Natural Language :: EnglishOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonTopic :: Software Development :: Version Control :: Git |
Evidence: requests_ntlm2-6.6.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “HTTP NTLM proxy auth”
- requests-ntlm2Adds NTLM authentication support to the requests library, enabling…
- requests-ntlm3Provides HTTP NTLM authentication for the requests library, enabling…
- ntlm-authConstructs and parses NTLM authentication messages (LM, NTLMv1,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Git packages
A Poetry plugin that automatically derives and injects version numbers from version control tags into your project during builds, using Dunamai to support multiple VCS systems.
Install it if you use Poetry 1.2.0+ and want to eliminate manual version management in your build workflow.
Automatically determines your Python package's version from Git or Mercurial tags and writes it to your build system, with customizable version formatting and optional runtime file generation.
Converts written-out number words (like "twenty one") into numeric digits (21), supporting positive integers and decimals up to 999,999,999,999.
No—install only if you have a legacy codebase already using it.
Lefthook is a Git hooks manager that installs and runs custom commands automatically before or after Git operations, supporting parallel execution across Node.js, Ruby, and other project types.
Mergify CLI is a command-line tool for managing stacked pull requests, merge queues, CI test results, and scheduled freezes on GitHub, distributed as a self-contained binary with no runtime dependencies.
Provides HTTP NTLM authentication for the requests library, enabling clients to authenticate against NTLM-protected servers and proxies.
See also ntlm-auth · requests-ntlm · httpx-ntlm · requests-unixsocket2 · requests-credssp · requests-auth · requests-negotiate-sspi · requests-unixsocket · requests-hardened