Skip to main content

Useful python utilities with less effort.

Project description

versionlicensestatus

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

Author:

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

useless-py-1.0.3.zip (5.9 kB view hashes)

Uploaded Source

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