Useful python utilities with less effort.
Project description
useless-py
Useful python utilities with less effort.
Installation:
pip install useless-py
Features:
set_interval() function and @interval decorator - similar to Javascript’s setInterval() method, uses gevent
set_timeout() function and @timeout decorator - similar to Javascript’s setTimeout() method, uses gevent
set_time_limit() function and @time_limit decorator - limits the maximum execution time of a function, raises TimeLimitExceededError
@extends decorator - inheritance using a class decorator, inspired by Java’s extends
@nocase decorator - class decorator that allows access to attributes regardless of coding style (camelCase or snake_case)
@didyoumean decorator - class decorator, raises DidYouMeanError (subclass of AttributeError) which suggest close matches
Usage:
Check “samples” folder.
To-Do:
[ ] Class Decorators
[x] @extends - like Java’s (instead of direct inheritance). IMO, more readable when you are doing multiple inheritance.
[ ] @implements - like Java’s (with the help of python “abc” module).
[x] @nocase - rewrite of “nocase” module using a class decorator instead of direct inheritance, more Pythonic, IMO. (https://pypi.python.org/pypi/nocase)
[x] @didyoumean - raises a “DidYouMean” exception (instead of AttributeError) when an attribute of an instance does not exist and suggests close matches. Think of “git” when you messed up on giving the correct argument:
C:\Users\Ronie Martinez>git hello git: 'hello' is not a git command. See 'git --help'. Did you mean one of these? help reflog
[ ] Context Managers
[ ] Regular expressions in a “with” statement - I miss the old Perl $1, $2, $3 (special variables)… but global variable is an overkill, let’s make a more Pythonic feature
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.