requests-ntlm3
The HTTP NTLM proxy and/or server authentication library.
Decision gist · record as of 2026-08-14
Yes, if you have a specific, static NTLM authentication requirement and can accept the risk of an abandoned package. The low install friction and permissive license make it straightforward to add, but the lack of maintenance since 2020 means no bug fixes, security patches, or compatibility updates with newer Python or dependency versions. Suitable only for stable, isolated use cases where you control the environment and can tolerate no future support.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low install friction with three stable runtime dependencies (requests, ntlm-auth, cryptography).
- However, the package is abandoned—last release was 2020-02-19 and no commits or maintenance activity since.
- Use only if your NTLM requirements are static and you can accept no future updates.
License · maintenance · safety
ISC (permissive) — ISC license is permissive and poses no restrictions on commercial or private use, modification, or redistribution.
last release 2020-02-19 (2368 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 273,653 downloads/mo, #8,198 on PyPI
Alternatives
Verify before relying
pip install requests-ntlm3
import requests
from requests_ntlm3 import HttpNtlmAuth
auth = HttpNtlmAuth('domain\\username', 'password')
response = requests.get('http://ntlm_protected_site.com', auth=auth)- Whether the package works reliably with modern versions of requests, ntlm-auth, and cryptography given its 2020 release date and abandoned status.
- Whether NTLMv2 compatibility level 3 (the default) meets current security standards for your use case.
- Whether the package has been tested against current Windows NTLM implementations or enterprise proxy configurations.
What it is and what it does
requests-ntlm3 is an authentication handler for the requests library that implements the NTLM (NT LAN Manager) protocol, used primarily by Windows-based servers and corporate proxies. It extends requests' AuthBase to provide transparent NTLM authentication, handling the multi-step NTLM handshake (the "NTLM Dance") automatically. The package supports configurable NTLM compatibility levels, session-based connection pooling for efficiency, and HTTP CONNECT tunneling through NTLM-authenticated proxies via its HttpNtlmAdapter.
The package depends on requests for HTTP operations, ntlm-auth for the NTLM protocol implementation, and cryptography for underlying cryptographic operations. It was designed to work with Python 2.7 and 3.5–3.8, though it has been abandoned since February 2020 with no subsequent maintenance or updates.
Use it for
- Authenticate requests against corporate Windows servers or Active Directory-protected endpoints that require NTLM.
- Route HTTP/HTTPS traffic through an NTLM-authenticated corporate proxy without manual challenge-response handling.
- Build connection pooling with session objects to avoid repeated NTLM handshakes for multiple requests to the same server.
- Configure NTLM compatibility levels (LM, NTLMv1, NTLMv2) to match legacy or modern enterprise authentication policies.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you have a specific, static NTLM authentication requirement and can accept the risk of an abandoned package.
The low install friction and permissive license make it straightforward to add, but the lack of maintenance since 2020 means no bug fixes, security patches, or compatibility updates with newer Python or dependency versions. Suitable only for stable, isolated use cases where you control the environment and can tolerate no future support.
Install
requests-ntlm3 on PyPI
Before you install
Low install friction with three stable runtime dependencies (requests, ntlm-auth, cryptography). However, the package is abandoned—last release was 2020-02-19 and no commits or maintenance activity since. Use only if your NTLM requirements are static and you can accept no future updates.
License in practice
ISC license is permissive and poses no restrictions on commercial or private use, modification, or redistribution.
Quickstart
pip install requests-ntlm3
import requests
from requests_ntlm3 import HttpNtlmAuth
auth = HttpNtlmAuth('domain\\username', 'password')
response = requests.get('http://ntlm_protected_site.com', auth=auth)
Verify before relying
- Whether the package works reliably with modern versions of requests, ntlm-auth, and cryptography given its 2020 release date and abandoned status.
- Whether NTLMv2 compatibility level 3 (the default) meets current security standards for your use case.
- Whether the package has been tested against current Windows NTLM implementations or enterprise proxy configurations.
Package facts
| License | ISC permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagesrequestsntlm-authcryptography |
| Maintenance | Abandoned 2,368 days since the last release |
| First released | |
| Downloads | 273,653 / month, #8,198 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: ISC License (ISCL)Natural Language :: EnglishOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: Implementation :: CPythonTopic :: Software Development :: Version Control :: Git |
Evidence: requests_ntlm3-6.1.3b1-py2.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 › “NTLM authentication requests”
- requests-ntlm3Provides HTTP NTLM authentication for the requests library, enabling…
- requests-ntlm2Adds NTLM authentication support to the requests library, enabling…
- requests-ntlmAdds NTLM authentication support to the requests library, allowing…
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.
Adds NTLM authentication support to the requests library, enabling HTTP requests to servers and proxies that require NTLM challenge-response authentication.
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…
See also edgegrid-python · ntlm-auth · requests-ntlm · httpx-ntlm · free-proxy · requests-credssp · requests-file · requests-auth · requests-unixsocket