Skip to main content

Collection of stupid python modules

Project description

stupidity.py - toolkit for stupid Python code

Build Status

Installation

pip install stupidity

Switch statement

Ever miss the classic switch statement in Python?

from stupidity import switch

for case in switch('b'):
    if case('a'):
        print('this is not printed')
    if case('b'):
        print('this is printed')
    if case('c'):
        print('fallthrough is also supported')
        break
    if case('d'):
        print('this is not printed either')
    print('default value at bottom, but this is not reached')

Think if-statements are stupid? We've got you covered!

from stupidity import switch

for case in switch('b'):
    with case('a'):
        print('this is not printed')
    with case('b'):
        print('this is printed')
    with case('c'):
        print('fallthrough is also supported')
        break
    with case('d'):
        print('this is not printed either')
    print('default value at bottom, but this is not reached')

Think for-loops are stupid too? We can get rid of those as well:

from stupidity import switch

with switch('b') as case:
    with case('a'):
        print('this is not printed')
    with case('b'):
        print('this is printed')
    with case('c'):
        print('fallthrough is also supported')
        BREAK  # NOTE: We have to yell here
    with case('d'):
        print('this is not printed either')
    print('default value at bottom, but this is not reached')

Dealing with closure variables

Ever get annoyed at those pesky variables inside closures that are seemingly just outside your reach? Fear no more!

from stupidity import replace_closure_variables

def foo(): 
    x = 42 
    def f(): 
        return x 
    return f 

f = foo()
f()  # 42

replace_closure_variables(f, x=123)
f()  # 123

Braces

Everyone knows that importing braces from __future__ fails miserably:

from __future__ import braces
#   File "<stdin>", line 1
# SyntaxError: not a chance

Luckily, we provide a working implementation:

from stupidity import braces

x = 42;
if (x == 123): {
    print('nope')
}
elif (x == 42): {
    print('yep')
}
# prints 'yep'

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

stupidity-0.0.1.tar.gz (4.5 kB view details)

Uploaded Source

File details

Details for the file stupidity-0.0.1.tar.gz.

File metadata

  • Download URL: stupidity-0.0.1.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for stupidity-0.0.1.tar.gz
Algorithm Hash digest
SHA256 fd40770018815e061b22a8ca994459638a01cf1d9edb1426853ca3e4462f07f8
MD5 a728d9aabce4a611eca881368140c1ea
BLAKE2b-256 e20a390b447e4b6f5f21cd607229c6b564a912dae7105e6c32204e2561296fd2

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