This project has been archived by its maintainers, and is no longer receiving any updates.
Annotell Authentication
Python 3 library providing foundations for Annotell Authentication
on top of the requests or httpx libraries.
Install with pip install annotell-auth[requests] or pip install annotell-auth[httpx]
Builds on the standard OAuth 2.0 Client Credentials flow. There are a few ways to provide auth credentials to our api
clients. Annotell Python clients such as in annotell-input-api accept an auth parameter that
can be set explicitly or you can omit it and use environment variables.
There are a few ways to set your credentials in auth.
- Set the environment variable
ANNOTELL_CREDENTIALSto point to your Annotell Credentials file. The credentials will contain the Client Id and Client Secret. - Set to the credentials file path like
auth="~/.config/annotell/credentials.json" - Set environment variables
ANNOTELL_CLIENT_IDandANNOTELL_CLIENT_SECRET - Set to credentials tuple
auth=(client_id, client_secret)
API clients such as the InputApiClient accept this auth parameter.
Under the hood, they commonly use the AuthSession class which is implements a requests session with automatic token
refresh. An httpx implementation is also available.
from annotell.auth.requests.auth_session import RequestsAuthSession
sess = RequestsAuthSession()
# make call to some Annotell service with your token. Use default requests
sess.get("https://api.annotell.com")
Changelog
2.0.0 (2022-05-02)
Refactor for backend separation, with optional dependencies for either httpx or requests.
1.8.0 (2022-04-12)
- Initial support for httpx (BETA). Solves refresh token expiry by reset without the
FaultTolerantAuthRequestSession - The library will be refactored by a breaking 2.0 release, and make the same changes to the requests version.
The
authsessionmodule backed byrequestsis untouched for now.
1.7.0 (2022-04-11)
- Fix compatibility issue with authlib >= 1.0.0. Resetting the auth session failed, when the refresh token had expired.
1.6.0 (2021-02-21)
- Expose underlying
requests.SessiononFaultTolerantAuthRequestSession - Fix some thread locks
1.5.0 (2020-10-20)
- Add
FaultTolerantAuthRequestSessionthat handles token refresh on long running sessions.
1.4.0 (2020-04-16)
- Add support for
authparameter, with path to credentials file orAnnotellCredentialsobject - Drop support for legacy API token
Metadata
Release files for annotell-auth 2.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| annotell-auth-2.0.1.tar.gz | 7.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| annotell_auth-2.0.1-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 15.7 kB
Release files / annotell-auth-2.0.1.tar.gz
| Download URL | annotell-auth-2.0.1.tar.gz |
|---|---|
| Size | 7.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ab673dc8608a9ccd510ae03396e3892a82a8082bb7550e691306e8ca5d7d109e
|
|
BLAKE2b-256 checksum How to use checksums |
54764ab1bc8baaf5b8bab3350c197e1598e06667660c42ccb53c8a0de79c1331
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/62.1.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.12
|
Release files / annotell_auth-2.0.1-py2.py3-none-any.whl
| Download URL | annotell_auth-2.0.1-py2.py3-none-any.whl |
|---|---|
| Size | 8.8 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
1e9bebe3ee3e82bd2936dba621804ca86d02b732bebf0b643a60f81605b3ca62
|
|
BLAKE2b-256 checksum How to use checksums |
fbb10fb13bd55d0ed2505eebeb8e64e90c3cff66688cf143a3623fed4c851af1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/62.1.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.12
|