Metadata-Version: 2.4
Name: context-relaxer
Version: 0.0.3
Summary: Relax python default SSL Context verification flags
Author-email: Yehuda Deutsch <yeh@uda.co.il>
License-Expression: MIT
Project-URL: Repository, https://gitlab.com/uda/context-relaxer.git
Project-URL: Issues, https://gitlab.com/uda/context-relaxer/-/issues
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# SSL Context Relaxer

Relax the SSL verification strictness introduced in python 3.13

Monkeypatching structure inspired by [truststore](https://github.com/sethmlarson/truststore)

## Usage

Install the library

```
pip install context-relaxer
```

At the entry point of your project, inject the monkeypatch

```python
import context_relaxer

context_relaxer.inject_into_ssl()
```

## Rationale

Many corporates have systems that proxy internal traffic, and sometimes they produce broken certificates.

Yes, they should be fixed, No, probably won't be fixed soon, but that doesn't mean you should pass `verify=False`
or `ssl_verify=False` to every HTTPS session instance.

## Usage with truststore

You can use this concurrently with `truststore`, as we monkey patch different properties of `ssl`, this library patches
the default context creation function and `truststore` patches the SSLContext class. 

Usage example (the order doesn't matter)

```python
import context_relaxer
import truststore

truststore.inject_into_ssl()
context_relaxer.inject_into_ssl()
```
