Skip to main content

No project description provided

Project description

heksher SDK for python

This is a library for using a heksher server from within python. Compatible with python 3.7, 3.8, and 3.9. The library contains both an asynchronous client, as well as a thread-based client. Also included are stub clients to make testing without a service simple.

Example usage

# main.py
from contextvars import ContextVar
from heksher import AsyncHeksherClient, Setting

user = ContextVar('user', default='guest')

class App:
    ...
    
    async def startup(self):
        ...
        
        # initialize the client, and set it as the process' main client
        self.heksher_client = AsyncHeksherClient('http://heksher.service.url',
                                            update_interval=60, 
                                            context_features=['user', 'trust', 'theme'])
        # set certain context features to be retrieved either from string constants or
        # context variables 
        self.heksher_client.set_defaults(user = user, theme="light")
        await self.heksher_client.set_as_main()
    
    async def shutdown(self):
        await self.heksher_client.close()        
        ...

cache_size_setting = Setting('cache_size', type=int, configurable_features=['user', 'trust'], default_value=10)
def foo(trust: str):
    ...
    # should be run after App.startup is completed
    cache_size = cache_size_setting.get(trust=trust)
    ...

Thread-based client usage is nearly identical.

Project details


Download files

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

Source Distribution

heksher-0.2.2.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

heksher-0.2.2-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

Details for the file heksher-0.2.2.tar.gz.

File metadata

  • Download URL: heksher-0.2.2.tar.gz
  • Upload date:
  • Size: 18.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.0 CPython/3.8.16 Linux/5.15.0-1037-azure

File hashes

Hashes for heksher-0.2.2.tar.gz
Algorithm Hash digest
SHA256 8adde305ddaa4fc2d820c3e4b1cd05332f5360e74dd96767cc2d16f8af620b81
MD5 94cbb30c4c5c60b07b2f420c3e660b2e
BLAKE2b-256 88febb40f2aa86d708f7186eb50ed2e01a419f9cd6ee4e879ac8b18e3e1d88a6

See more details on using hashes here.

File details

Details for the file heksher-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: heksher-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 23.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.0 CPython/3.8.16 Linux/5.15.0-1037-azure

File hashes

Hashes for heksher-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2cb2acb971472efdc3918ee19a1aea966aef52f651a8f7182b0655d062b667e5
MD5 3782cd38318a0d946218e533719aabaa
BLAKE2b-256 1a2e99026b066660e61104437139848bea23c61346545d259363a4b4bb779121

See more details on using hashes here.

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