python-truststore
Port variant v13
Summary Certificate verification module (3.13)
Package version 0.10.4
Homepage https://github.com/sethmlarson/truststore
Keywords python
Maintainer Python Automaton
License Not yet specified
Other variants v14
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 24 JUL 2026, 16:11:02 UTC
Port created 24 JUL 2026, 16:11:02 UTC
Subpackage Descriptions
single # Truststore [PyPI] [CI] Truststore is a library which exposes native system certificate stores (ie "trust stores") through an `ssl.SSLContext`-like API. This means that Python applications no longer need to rely on certifi as a root certificate store. Native system certificate stores have many helpful features compared to a static certificate bundle like certifi: - Automatically update certificates as new CAs are created and removed - Fetch missing intermediate certificates - Check certificates against certificate revocation lists (CRLs) to avoid monster-in-the-middle (MITM) attacks - Managed per-system rather than per-application by a operations/IT team - PyPI is no longer a CA distribution channel 🥳 Right now truststore is a stand-alone library that can be installed globally in your application to immediately take advantage of the benefits in Python 3.10+. Truststore has also been integrated into pip 24.2+ as the default method for verifying HTTPS certificates (with a fallback to certifi). Long-term the hope is to add this functionality into Python itself. Wish us luck! ## Installation Truststore is installed from [PyPI] with pip: ```{code-block} shell $ python -m pip install truststore ``` Truststore **requires Python 3.10 or later** and supports the following platforms: - macOS 10.8+ via [Security framework] - Windows via [CryptoAPI] - Linux via OpenSSL ## User Guide > **Warning** > **PLEASE READ:** `inject_into_ssl()` **must not be used by libraries or packages** as it will cause issues on import time when integrated with other libraries. > Libraries and packages should instead use `truststore.SSLContext` directly which is detailed below. > > The `inject_into_ssl()` function is intended only for use in applications and scripts. You can inject `truststore` into the standard library `ssl` module so the functionality is used by every library by default. To do so use the `truststore.inject_into_ssl()` function: ```python import truststore truststore.inject_into_ssl() # Automatically works with urllib3, requests, aiohttp, and more: import urllib3 http = urllib3.PoolManager() resp = http.request("GET", "https://example.com") import aiohttp http = aiohttp.ClientSession() resp = await http.request("GET", "https://example.com") import requests resp = requests.get("https://example.com") ``` If you'd like finer-grained control or you're developing a library or package you can create your own `truststore.SSLContext` instance and use it anywhere you'd use an `ssl.SSLContext`: ```python import ssl import truststore ctx = truststore.SSLContext(ssl.PROTOCOL_TLS_CLIENT) import urllib3 http = urllib3.PoolManager(ssl_context=ctx) resp = http.request("GET", "https://example.com") ``` You can read more in the [user guide in the documentation]. ## License MIT
Configuration Switches (platform-specific settings discarded)
PY313 ON Build using Python 3.13 PY314 OFF Build using Python 3.14
Package Dependencies by Type
Build (only) python313:dev:std
python-pip:single:v13
autoselect-python:single:std
Build and Runtime python313:primary:std
Download groups
main mirror://PYPIWHL/19/97/56608b2249fe206a67cd573bc93cd9896e1efb9e98bce9c163bcdc704b88
Distribution File Information
adaeaecf1cbb5f4de3b1959b42d41f6fab57b2b1666adb59e89cb0b53361d981 18660 python-src/truststore-0.10.4-py3-none-any.whl
Ports that require python-truststore:v13
python-nab-index:v13 Simple-API client and on-disk cache (3.13)