Metadata-Version: 2.1
Name: oauth2-lib
Version: 1.1.0
Summary: This is the SURF Oauth2 module that interfaces with the oauth2 setup.
Home-page: https://github.com/workfloworchestrator/oauth2-lib
Author: SURF
Author-email: automation-beheer@surf.nl
Requires-Python: >3.8
Description-Content-Type: text/markdown
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python
Classifier: Topic :: Internet
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development
Classifier: Typing :: Typed
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Telecommunications Industry
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Dist: requests>=2.19.0
Requires-Dist: ruamel.yaml~=0.16.10
Requires-Dist: structlog>=20.2.0
Requires-Dist: fastapi>=0.65.1
Requires-Dist: httpx[http2]==0.23.0
Requires-Dist: authlib==1.0.1
Requires-Dist: pydantic>=1.8.0
Requires-Dist: opentelemetry-api~=1.9.1
Requires-Dist: opentelemetry-instrumentation~=0.28b1
Requires-Dist: bumpversion ; extra == "dev"
Requires-Dist: pre-commit ; extra == "dev"
Requires-Dist: apache-license-check ; extra == "test"
Requires-Dist: black ; extra == "test"
Requires-Dist: flake8 ; extra == "test"
Requires-Dist: flake8-bandit>=3.0.0 ; extra == "test"
Requires-Dist: flake8-bugbear ; extra == "test"
Requires-Dist: flake8-comprehensions ; extra == "test"
Requires-Dist: flake8-docstrings ; extra == "test"
Requires-Dist: flake8-junit-report ; extra == "test"
Requires-Dist: flake8-logging-format ; extra == "test"
Requires-Dist: flake8-pep3101 ; extra == "test"
Requires-Dist: flake8-print ; extra == "test"
Requires-Dist: flake8-rst ; extra == "test"
Requires-Dist: flake8-rst-docstrings ; extra == "test"
Requires-Dist: flake8-tidy-imports ; extra == "test"
Requires-Dist: isort ; extra == "test"
Requires-Dist: mypy ; extra == "test"
Requires-Dist: pygments ; extra == "test"
Requires-Dist: pytest ; extra == "test"
Requires-Dist: pytest-asyncio ; extra == "test"
Requires-Dist: pytest-cov ; extra == "test"
Requires-Dist: pytest-xdist ; extra == "test"
Requires-Dist: requests_mock ; extra == "test"
Project-URL: Documentation, https://workfloworchestrator.org/
Provides-Extra: dev
Provides-Extra: test

# OAuth2-lib
This Project contains a Mixin class that wraps an openapi-codegen python client, to inject Opentelemetry spans
and api call retries. It also contains a number of FastAPI dependencies which enables Policy enforcement offloading
to Open Policy Agent.

The project contains a number of OIDC classes that are tailored to the SURF environment.


## Installation
This can be done as follows:

#### Step 1:
First install flit to enable you to develop on this repository
```bash
pip install flit
```
#### Step 2:

To install all development dependencies
```bash
flit install --deps develop --symlink
```

This way all requirements are installed for testing and development.

## Development
Depending on the feature type, run bumpversion (patch|minor|major) to increment the version you are working on. For
example to update the increment the patch version use
```bash
bumpversion patch
```

## For MAC users looking and experimenting with Opentelemetry (OTEL)
https://github.com/jaegertracing/jaeger-client-node/issues/124#issuecomment-324222456

