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.0.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

heksher-0.2.0-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: heksher-0.2.0.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.8.12 Linux/5.13.0-1021-azure

File hashes

Hashes for heksher-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a000b654fb0adea1ace3b990388bd7c24fc6bd8e1f8c30aa2c4936bc8608942e
MD5 223f41c22e99496c51da3edbc93df5fc
BLAKE2b-256 ce98d90a0eee3a6223755d3d6db3acc2a17aa1595e37d58b24aff20d07080fbd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: heksher-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 23.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.8.12 Linux/5.13.0-1021-azure

File hashes

Hashes for heksher-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 26b36e12923b68a5e1bbdbbc12f84d0691b26e7124f466cc967e07e6abf7c700
MD5 aac5bc88b2d40efa0f8569f50682d75c
BLAKE2b-256 77151180bf81ddd683e00fe07d92b2e0c388805d88268030dab3175a1431b68a

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