skillfed

pure-sasl

Pure Python client SASL implementation

pure-sasl v0.6.2 7.8M downloads/30d#1,694 on PyPI39
Permissive license MIT Abandoned released

What it is and what it does

pure-sasl is a pure Python implementation of the SASL (Simple Authentication and Security Layer) protocol for client-side authentication. It handles the negotiation and challenge-response exchange required to authenticate a client to a server using one of several supported mechanisms. The library manages the state machine of SASL authentication, allowing you to feed server challenges into the client and receive responses to send back, and provides optional message wrapping and unwrapping for integrity and confidentiality after authentication succeeds.

The package has no external runtime dependencies and installs as a wheel, making it straightforward to add to any Python project. However, it has been abandoned since 2019-10-14 with no active maintenance, so it is best suited for legacy systems or environments where you control the authentication mechanisms and can accept the risk of unpatched issues.

Use it for:

  • Authenticate to SASL-enabled servers (e.g., XMPP, SMTP, LDAP) from a Python client application.
  • Implement custom authentication flows in messaging or protocol libraries that require SASL support.
  • Build a pure-Python alternative to system SASL libraries for environments where external dependencies are constrained.
  • Wrap or unwrap messages for integrity protection after SASL authentication completes.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

pure-sasl is a pure Python client-side SASL implementation supporting ANONYMOUS, PLAIN, EXTERNAL, CRAM-MD5, DIGEST-MD5, and GSSAPI mechanisms for authentication negotiation.

No. The package is abandoned (last release 2019-10-14, last commit 2023-06-25) with no active maintenance. While it has no known vulnerabilities and low install friction, the lack of updates means it will not receive security patches or compatibility fixes for modern Python versions. Use only if you are maintaining legacy code that already depends on it; for new projects, choose an actively maintained alternative.

Install

pure-sasl on PyPI

pip

pip install pure-sasl

uv

uv add pure-sasl

poetry

poetry add pure-sasl

Installing pure-sasl

Before you install

Installation is low-friction with no runtime dependencies. However, the package is abandoned as of 2019-10-14 with no commits since 2023-06-25, meaning security updates and compatibility fixes are unlikely.

License in practice

MIT license is permissive and imposes minimal restrictions; you can use, modify, and distribute the package freely provided you retain the license notice.

Quickstart

from pure-sasl import SASLClient

sasl = SASLClient('somehost', 'protocol')
available_mechs = ['PLAIN', 'ANONYMOUS']
sasl.choose_mechanism(available_mechs)
response = sasl.process(challenge_bytes)

The package declares support for Python 2.6–3.6 in its classifiers; compatibility with modern Python versions is unverified.

Verify before relying

  • Whether the package works reliably with Python versions after 3.6.
  • Current security posture of the SASL mechanisms implemented, particularly DIGEST-MD5 and CRAM-MD5.
  • Whether GSSAPI support requires additional system libraries or configuration.

Package facts

License MIT (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance abandoned — 2,496 days since the last release
Last repo commit
First released
Downloads 7,797,919/month — #1,694 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pure_sasl-0.6.2-py2-none-any.whl

Keywords: sasl

Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 2.6Programming Language :: Python :: 2.7Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Topic :: Software Development :: Libraries :: Python Modules

Tags

sasl authentication clientpure python saslsasl mechanism implementationclient authentication protocolsasl negotiation library
authenticationsaslabandoned

More Python Modules packages