Skip to main content

This package automatically configures Python to use system certificates from the OS certificate store instead of the bundled certificates via the truststore library.

This allows pip and Python applications to verify TLS/SSL connections to servers whose certificates are trusted by your system.

Simply install with:

pip install pip_system_certs

and Python will automatically use your system’s certificate store for all SSL verification.

This works for pip, requests, urllib3, and any other Python library that uses the standard SSL context.

Requirements

  • Python 3.10 or higher

  • pip 24.2 or higher (upgraded automatically if needed)

Compatibility

pip-system-certs uses pip’s built-in truststore library to inject system certificate verification into Python’s SSL context. This provides native OS integration using:

  • macOS: Security framework

  • Windows: CryptoAPI

  • Linux: OpenSSL with system certificate stores

This approach leverages the same truststore technology that pip uses internally, ensuring compatibility and reliability. It automatically works with any Python library that uses SSL (requests, urllib3, httpx, etc.).

If you encounter issues, please report them at https://gitlab.com/alelec/pip-system-certs/-/issues

Known Issues

  • conda virtual environments on Linux may install a separate SSL certificate store which takes precedence over the system store, potentially preventing this package from accessing system-installed certificates.

PyInstaller

The automatic certificate configuration relies on a .pth file that Python loads at startup. This method does not work when bundling applications with PyInstaller or similar tools.

For PyInstaller applications, manually enable system certificates by adding this line early in your main script:

import pip_system_certs.wrapt_requests; pip_system_certs.wrapt_requests.inject_truststore()

This must be called before any SSL connections are made.

Architecture

This package uses a bootstrap system to automatically inject system certificate support:

  1. A .pth file triggers the bootstrap when Python starts

  2. Uses pip’s vendored truststore library (pip 24.2+) for compatibility

  3. Calls truststore.inject_into_ssl() to globally configure system certificates

  4. All subsequent SSL connections (pip, requests, etc.) use the system certificate store

Acknowledgements

This package leverages pip’s vendored truststore library by Seth Michael Larson for system certificate integration. This ensures compatibility with modern pip versions while avoiding dependency conflicts.

The bootstrap system was originally inspired by the autowrapt module.

Release files for pip-system-certs 5.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pip-system-certs 5.3
File Size Uploaded
pip_system_certs-5.3.tar.gz 6.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pip-system-certs 5.3
File Interpreter ABI Platform
pip_system_certs-5.3-py3-none-any.whl Python 3 none any Details

Total release size: 13.3 kB

Release files / pip_system_certs-5.3.tar.gz

Download URL pip_system_certs-5.3.tar.gz
Size 6.4 kB
Tags Source
SHA-256 checksum
How to use checksums
19c8bf9957bcce7d69c4dbc2d0b2ef13de1984d53f50a59012e6dbbad0af67c6
BLAKE2b-256 checksum
How to use checksums
7d6a563b05a4f6c9ddc205c98bb413e74221368efb98b8fb9cca96b578b8930c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Release files / pip_system_certs-5.3-py3-none-any.whl

Download URL pip_system_certs-5.3-py3-none-any.whl
Size 6.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3fbb5de62e374a99b688b1ad06e64ee5c4aeb633ef23e3a677d32e3e84fd863c
BLAKE2b-256 checksum
How to use checksums
9f57752b63c609affae8f26ae0f1d1103d6ea7e707ad45943f62f7422936071d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Release history Release notifications | RSS feed

This release

5.3 This release

2 release files

5.2

2 release files

5.1

2 release files

5.0

2 release files

4.0

2 release files

3.6

1 release file

3.5

1 release file

3.4

1 release file

3.3

1 release file

3.2

1 release file

3.1

1 release file

3.0

1 release file

2.1

1 release file

2.0

1 release file

1.4

1 release file

1.3

1 release file

1.2

1 release file

1.0

1 release file

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page