Metadata-Version: 2.1
Name: fabric_fss_utils
Version: 1.6.0
Summary: FABRIC System Service Utilities - JWT and SSH key handling
Author-email: Komal Thareja <kthare10@renci.org>
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Dist: cryptography==43.0.3
Requires-Dist: PyJWT==2.9.0
Requires-Dist: Flask
Requires-Dist: Authlib
Requires-Dist: requests
Requires-Dist: pytest ; extra == "test"
Project-URL: Home, https://github.com/fabric-testbed/system-service-utils
Provides-Extra: test

[![PyPI](https://img.shields.io/pypi/v/fabric-fss-utils?style=plastic)](https://pypi.org/project/fabric-fss-utils/)

# Overview

Python library for supporting FABRIC System Services. Includes multiple modules:

- [jwt_validate](fss_utils/jwt_validate.py) - validates JWT against a JWKS endpoint

See [test](test/) folder for examples of use

# Installation

For developing and testing the FIM code itself use editable install (from top-level directory)
from python/ folder
```bash
(infomodel) $ pip install -e .
```

As a dependency use PyPi
```bash
$ pip install fabric-fss-utils
$  python
>>> from fss_utils.jwt_validate import JWTValidator, ValidateCode
>>> token = "..."
>>> validator = JWTValidator(cert_end_point, audience, datetime.timedelta(minutes=5))
>>> validator.validate_jwt(token)
```

# Testing

Use `pytest`:
```bash
$ pytest test/
```
