Metadata-Version: 2.4
Name: planet-auth
Version: 2.3.0
Summary: Planet Auth Utility Code
Author-email: Carl Adams <carl.adams@planet.com>
License-Expression: Apache-2.0
Classifier: Development Status :: 5 - Production/Stable
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx
Requires-Dist: pyjwt[crypto]
Requires-Dist: pyqrcode
Requires-Dist: requests
Requires-Dist: setuptools
Requires-Dist: strenum
Requires-Dist: click
Requires-Dist: prompt_toolkit
Provides-Extra: build
Requires-Dist: build; extra == "build"
Requires-Dist: simple503; extra == "build"
Requires-Dist: twine; extra == "build"
Provides-Extra: docs
Requires-Dist: mkdocs; extra == "docs"
Requires-Dist: mkdocstrings[python]==0.28.3; extra == "docs"
Requires-Dist: mkdocs-click; extra == "docs"
Requires-Dist: mkdocs-material==9.6.12; extra == "docs"
Requires-Dist: mkdocs-macros-plugin; extra == "docs"
Requires-Dist: mkdocs-linkcheck; extra == "docs"
Provides-Extra: examples
Requires-Dist: flask; extra == "examples"
Provides-Extra: test
Requires-Dist: black; extra == "test"
Requires-Dist: coverage[toml]; extra == "test"
Requires-Dist: freezegun; extra == "test"
Requires-Dist: mypy; extra == "test"
Requires-Dist: nox; extra == "test"
Requires-Dist: pyflakes==3.2.0; extra == "test"
Requires-Dist: pylint; extra == "test"
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: pytest-xdist; extra == "test"
Requires-Dist: validators; extra == "test"
Provides-Extra: testsecurity
Requires-Dist: semgrep; extra == "testsecurity"
Provides-Extra: dev
Requires-Dist: planet-auth[build,docs,test]; extra == "dev"
Provides-Extra: internal
Requires-Dist: planet-auth-config>=2.0.0; extra == "internal"
Dynamic: license-file

# Planet Auth Utility Library

## Overview
The Planet Auth Library provides generic authentication utilities for clients
and services.  For clients, it provides the means to obtain access tokens that
can be used to access network services.  For services, it provides tools to
validate the same access tokens.

The architecture of the code was driven by OAuth2, but is intended to be easily
extensible to new authentication protocols in the future.  Since clients
and resource servers are both themselves clients to authorization servers in
an OAuth2 deployment, this combining of client and server concerns in a single
library was seen as natural.

Currently, this library supports OAuth2, Planet's legacy proprietary
authentication protocols, and static API keys.

This library does not make any assumptions about the specific environment in which
it is operating, leaving that for higher level applications to configure.

The [Planet SDK for Python](https://developers.planet.com/docs/pythonclient/)
leverages this library, and is pre-configured for the Planet Insights Platform used
by customers.

## Installation
Install from PyPI using pip:

```bash
pip install planet-auth
```

## Documentation

See [Planet Auth Library](https://planet-auth.readthedocs.io/) on
_ReadTheDocs.io_ for complete documentation.
