Metadata-Version: 2.3
Name: aissemble-foundation-pdp-client-python
Version: 2.0.0
Summary: REST Policy Decision Point (PDP) client for Python-based components
License: Apache-2.0
Author: aiSSEMBLE Baseline Community
Author-email: aissemble@bah.com
Requires-Python: >=3.9
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: requests (>=2.32.2)
Requires-Dist: urllib3 (>=2.5.0,<3.0.0)
Project-URL: Documentation, https://boozallen.github.io/aissemble
Project-URL: Homepage, https://github.com/boozallen/aissemble
Project-URL: Repository, https://github.com/boozallen/aissemble
Description-Content-Type: text/markdown

## aiSSEMBLE&trade; Foundation Policy Decision Point Python Client

[![PyPI](https://img.shields.io/pypi/v/aissemble-foundation-pdp-client-python?logo=python&logoColor=gold)](https://pypi.org/project/aissemble-foundation-pdp-client-python/)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/aissemble-foundation-pdp-client-python?logo=python&logoColor=gold)
![PyPI - Wheel](https://img.shields.io/pypi/wheel/aissemble-foundation-pdp-client-python?logo=python&logoColor=gold)

This module provides a client for authorizing a jwt, action and resource

The following tasks will help you add authentication to your module.

1. Example usage
    - Add the following to your code
    - 
    ```python         
        # The url points to your policy decision point base
        # For example http://localhost:8080/api/pdp
        pdp_client = PDPClient(auth_config.pdp_host_url()) 
        decision = pdp_client.authorize(your_jwt_string, None, 'some-action')
        if 'PERMIT' == decision:
            print('User is authorized to access XYZ')
        else:
            raise AissembleSecurityException('User is not authorized')
    ```

