Skip to main content
https://img.shields.io/pypi/v/mbq.client.svg https://img.shields.io/pypi/l/mbq.client.svg https://img.shields.io/pypi/pyversions/mbq.client.svg https://img.shields.io/travis/managedbyq/mbq.tokens/master.svg

Installation

$ pip install mbq.client

Getting Started

Key Concepts

  • ServiceClient wraps python’s requests library to enable token based service to service authentication

  • Authenticator provides Auth0 token based authentication

  • TokenManager A manager that stores refreshable tokens with support for different persistent storage backends.

Django Integration

DjangoCacheStorage is a thin wrapper that stores token in your django project’s cache.

Example

from django.core.cache import cache
from mbq.client import ServiceClient, Authenticator, TokenManager, DjangoCacheStorage

token_manager = TokenManager(
    settings={
        'api_ids': {'my_service': 'id'},
        'client_id': 'client_id',
        'client_secret': 'your_secret'
        'domain': 'auth0domain'
    },
    storage=DjangoCacheStorage(cache),
)

my_service_client = ServiceClient(
    auth=Authenticator(
        service_name='my_service',
        token_manager=token_manager
    )
)


my_service_client.get()
my_service_client.post()
my_service_client.patch()
my_service_client.put()
my_service_client.delete()


access_token.refresh()
access_token() #retrieves token

The Permissions Client

OSCore = ServiceClient(
    settings.OS_CORE_API_URL,
    auth=Authenticator(
        service_name="os-core",
        token_manager=token_manager
    ),
)

from mbq.client.contrib import permissions

permissions_client = permissions.PermissionsClient(
    permissions.OSCoreServiceClient(OSCore),
    cache_period_seconds=0
)

# query for a user's permission at company 15
permissions_client.has_permission(person_id, "read:messages", 15, "company") # returns True if person_id has that permission

You can find additional information in the permissions documentation for developers here

Release files for mbq.client 1.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mbq.client 1.5.1
File Size Uploaded
mbq.client-1.5.1.tar.gz 13.7 kB Details

Release files / mbq.client-1.5.1.tar.gz

Download URL mbq.client-1.5.1.tar.gz
Size 13.7 kB
Tags Source
SHA-256 checksum
How to use checksums
ab3c8f60baeddac51ebb510361d208ad1ed4e77b614ad97396c1bdde869b0253
BLAKE2b-256 checksum
How to use checksums
92d5d86b2839a2876f9c258c6150c8e970dee34f3216a9f4d756faa14b474902
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.1.0 requests-toolbelt/0.9.1 tqdm/4.34.0 CPython/3.6.7

Release history Release notifications | RSS feed

This release

1.5.1 This release

1 release file

1.5.0

1 release file

1.4.3

1 release file

1.4.2

1 release file

1.4.1

1 release file

1.4.0

1 release file

1.3.3

1 release file

1.3.2

1 release file

1.3.0

1 release file

1.2.5

1 release file

1.2.4

1 release file

1.2.3

1 release file

1.2.2

1 release file

1.2.1

1 release file

1.2.0

1 release file

1.1.10

1 release file

1.1.9

1 release file

1.1.8

1 release file

1.1.7

1 release file

1.1.6

1 release file

1.1.5

1 release file

1.1.4

1 release file

1.1.3

1 release file

1.1.2

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.0

1 release file

0.0.13

1 release file

0.0.12

1 release file

0.0.11

1 release file

0.0.10

1 release file

0.0.9

1 release file

0.0.8

1 release file

0.0.7

1 release file

0.0.6

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.3

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page