Skip to main content

Universal functions and decorators and some packages extras

Project description

shuff-utils

General-purpose classes and functions.

Installation

pip install -i shuff-utils

DottedDict

dict that allows you to call its keys with the dot.

d = {'a': 'test'}
d.a
# 'test'

Timer

Class for measuring an execution time.

# Init and set name of the whole period
timer = Timer('whole_period')
# Start custom measurement
timer.add_point('first block')
...
timer.add_point('second block')
...
# Stop custom measurement
timer.stop('first block')
timer.add_point('third block')
...
# Stop all the intervals and print summary details
timer.stop().print_summary()
# [2017-10-09 17:06:10 INFO] PROFILING: whole_period: 5000, first block: 3000, second block: 2000, third block: 2000

Flask functions

token_required - Bearer token decorator

Decorator that checks Bearer (static) Authorization token

Usage:

import os

from dotenv import load_dotenv
from flask_restful import Resource
from snuff_utils.flask_decorators import token_required

# Get token from .env file
load_dotenv()
MY_TOKEN = os.getenv('MY_TOKEN', '')


class CallbackEvents(Resource):

    @token_required(MY_TOKEN)
    def post(self):
        # some code here
        return {}

Other functions

Other functions is not described yet. You can see them in the corresponding modules. Some of them have descriptions in their docstrings.

Naming

The package is named after Slipknot's song. Thanks to the band, it helps a lot.

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

snuff-utils-1.0.2.tar.gz (29.4 kB view hashes)

Uploaded Source

Built Distribution

snuff_utils-1.0.2-py3-none-any.whl (38.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