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.a.zip (6.5 kB view details)

Uploaded Source

File details

Details for the file useless-py-1.0.3.a.zip.

File metadata

  • Download URL: useless-py-1.0.3.a.zip
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for useless-py-1.0.3.a.zip
Algorithm Hash digest
SHA256 d05945f885ec64150ebfdd74b316412a26836728e4469909e2aaf09840db20c5
MD5 ca9ee37ff5789015c490d8c02eb70147
BLAKE2b-256 9971b566b2e65e515a3fe5e728aa2aa84d8e63350469fb3ca4945429ee10c001

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page