--- id: nassl version: "5.4.0" license: unclear license_treatment: agpl maintenance: active --- # nassl — Experimental OpenSSL wrapper for Python 3.10+ and SSLyze. License: agpl · Maintenance: active · Downloads: 176.2K/mo ## What it is and what it does nassl is an experimental OpenSSL wrapper designed to provide access to low-level SSL/TLS functions that are not exposed by Python's standard ssl module or other common wrappers. It consists of two layers: a C extension (_nassl namespace) that closely mirrors OpenSSL's C API, and higher-level Python classes (nassl namespace) that provide a simpler interface for SSL connections. The package was created to support SSLyze, an SSL scanner that requires capabilities like testing for insecure renegotiation and session resumption. The package explicitly warns that it is experimental and not production-ready, having not been thoroughly tested or reviewed. It supports Python 3.10 through 3.14 and is actively maintained, with prebuilt wheels available for major platforms. Installation requires a C compiler and OpenSSL development headers due to the compiled extension component. Use it for: - Building SSL/TLS security scanners that need access to low-level OpenSSL functions unavailable in standard libraries - Testing SSL servers for specific vulnerabilities or misconfigurations like insecure renegotiation - Implementing custom SSL session resumption tests or protocol-level diagnostics - Extending SSLyze or similar security tools that require fine-grained control over SSL connections ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. nassl is an OpenSSL wrapper for Python that exposes low-level SSL/TLS functions needed for SSL server scanning and testing, with a C extension layer that closely mirrors OpenSSL's API. Yes, if you are building SSL security testing tools and need low-level OpenSSL access that standard Python ssl or pyOpenSSL do not provide. No, if you need production-ready code—the package explicitly disclaims production readiness. Be aware of AGPL v3 licensing obligations if incorporating into a larger project. ## Install pip install nassl uv add nassl poetry add nassl ## Installing nassl Before you install: Medium install friction due to C extension compilation requirements. The package is actively maintained with recent commits and supports Python 3.10 through 3.14, with prebuilt wheels available for common platforms (macOS, Linux, Windows across multiple architectures). License in practice: Licensed under AGPL v3, which requires derivative works and modifications to be released under the same license. This is a copyleft license with stronger obligations than permissive alternatives; review your project's licensing compatibility before use. Quickstart: pip install nassl import nassl # Access low-level SSL functions via nassl._nassl namespace or higher-level interfaces via nassl namespace Requires Python 3.10 or later. C extension compilation may require OpenSSL development headers on your system. Verify before relying: - Specific example code or API documentation showing how to perform common SSL testing tasks - Performance characteristics or limitations when scanning large numbers of servers - Current state of production readiness given the 'experimental' and 'not production ready' disclaimer in the description ## Package facts - License: not declared (agpl) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 176.2K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags openssl wrapper python, ssl tls testing library, low-level ssl functions, ssl server scanning, openssl python bindings, ssl-tls-testing, openssl-bindings, security-scanning [View on SkillFed](https://skillfed.io/packages/nassl) · [View on PyPI](https://pypi.org/project/nassl/)