Skip to main content

A utility python library for writing certain tasks in python easily & elegantly.

Project description

CAPSLOCK


A utility python library for writing certain tasks in python easily & elegantly.


[The library is still in development. The doc is not completed yet. You can contribute to improve the library.]

Background

capslock is a high level utility library written in python for writing certain frequently needed task in faster & efficient way. For example, if you want to keep track of the execution time of one of your method while optimizing it, witing code for tracking execution time can be done easily using capslock.


Installation

Install using the following command -

pip install capslock

Uninstall using the following command -

pip uninstall capslock

Getting Started

How to use decorators from capslock

Capslock defines different decorators that can be used out of the box for certain frequent tasks. E.g. getting the run time of certain function over the period of optimization in development phase.

Timing Decorator

To keep track of the execution time of a function in your project for optimizing it over the time, just put the "timing" decorator in your desired function. Capslock will keep track of different run of that function and will plot a well visualized graph for last five execution time of that function.

from capslock import timing

@timing(plot=True)
def say_hello():
    print("Hello World")

if __name__ == '__main__':
    say_hello()

This will generate output like bellow:

Output of Capslock Timing Decorator

And it will also keep track of runtime for different runs of the say_hello() function. and will plot a graph in the same directory of your python script if you set plot=True, otherwise the plot flag is by default False.

Runtime tracking using Capslock Timing Decorator

Debug Decorator

To get debug information of anyof your function, follow the bellow instruction-

from capslock import debug

@debug
def add(number1, number2):
    return number1 + number2

if __name__ == '__main__':
    print(add(20, 30))

will provide you the following output with some debug information-

Debug Information using Capslock Debug Decorator

Run Multiple Times Decorator

To run a function multiple times, use the run_multiple_times decorator from capslock package.

from datetime import datetime
from capslock import run_multiple_times

@run_multiple_times(times=10)
def current_time():
    now = datetime.now()
    return now.strftime("%H:%M:%S.%f")

if __name__ == '__main__':
    print(current_time())

will run the current time function 10 times.

Require Root previllege Decorator

If you want to prevent some accidental execution of a certain part of code that might cause system-wide changes and you wish the user to have root previllege before running that part of the python code, just use the require_root decorator from capslock.

from capslock import require_root

@require_root
def say_hello():
    for _ in range(10):
        print("Hello World")


if __name__ == '__main__':
    say_hello()

Now, say_hello() will only run, if the user is root.

Color your function output decorator

If you want to see your function output as colorful this method might help you to color your function output. At present this method support these colors BLUE, CYAN, GREEN, YELLOW, RED, BOLD, UNDERLINE

from capslock import color_output

@color_output("RED")
def hello_color():
    return "Hey! How are you!"

if __name__ == '__main__':
    hello_color()

How to Contribute

You can contribute in different ways. You can add more decorators for frequently used tasks in day to day development works.

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

capslock-1.0.8.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

capslock-1.0.8-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file capslock-1.0.8.tar.gz.

File metadata

  • Download URL: capslock-1.0.8.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.1

File hashes

Hashes for capslock-1.0.8.tar.gz
Algorithm Hash digest
SHA256 3f8bf544e64caff275036bd55f123341979d9f0d0f9216b5cfcd3adf52806f07
MD5 4f7cc92950443216748c6bb6d8b9a9cd
BLAKE2b-256 dfa4f521ad90f82f6d18b2e24ff9b2da5ffed7ee2b9942c520a593e001391f9d

See more details on using hashes here.

File details

Details for the file capslock-1.0.8-py3-none-any.whl.

File metadata

  • Download URL: capslock-1.0.8-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.1

File hashes

Hashes for capslock-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 276494f7301d5ad6275f3a10629cd98e4d3a081d88d1b0f39eea89dbc9ae20e1
MD5 f1930c7a7551438379eacb4c530f02c0
BLAKE2b-256 de6e5486747cdec9c36e3562f32bc1a34cec79391604439debe125c63839234c

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