Skip to main content

The governing package for modules of the arnheim framework, it provides core features like wards, the event loop and authentication with an oauth provider

Project description

herre

codecov PyPI version Maintainer PyPI pyversions PyPI status PyPI download month

DEVELOPMENT

Idea

herre is an (asynchronous) oauth2/openid client, that provides sensible defaults for the python ecosystem

Prerequisites

herre needs a oauth2 server to connect to

Supports

  • Authorization Code Flow (PKCE)
  • Client-Credentials Flow

Usage

In order to initialize the Client you need to connect it as a Valid Application with your Arnheim Instance

client = Herre(
    grant=AuthorizationCode()
    host="p-tnagerl-lab1",
    port=8000,
    client_id="$YOUR_CLIENT_ID",
    client_secret="$YOUR_CLIENT_SECRET",
    name="karl",
)

client.login()

Intergration with Qt

herre fully supports qt-based applications (both PySide2 and PyQt5) and provides a convenient helper class 'QtHerre' as well as a included windowed Authoriation Code Flow (needs pyqtwebengine as additional dependency) as well as browser based logins

class MainWindow(QtWidget)

    def __init__(self, *args, **kwargs):
        self.herre = QtHerre(
          grant=QtWindowAuthorizationCode()
        )

Build with

  • koil - for pyqt event loop handling
  • oauthlib - for oauth2 compliance
  • aiohttp - transport layer (especially redirect server)

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

herre-0.1.63.tar.gz (14.6 kB view hashes)

Uploaded Source

Built Distribution

herre-0.1.63-py3-none-any.whl (18.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page