pyext 0.7


pip install pyext

  Latest version

Released: May 27, 2014

Project Links

Meta
Author: Ryan Gonzalez

Classifiers

License
  • OSI Approved :: MIT License

Programming Language
  • Python :: 2
  • Python :: 3
https://travis-ci.org/kirbyfan64/PyExt.png

Several simple extensions that add some nifty features to Python.

Features:

  • Function overloading

  • Switch statement

  • Runtime module creation

  • Tail recursion removal

  • Python 2 function annotations

  • Python 2 safe tuple unpacking

  • Assignment if condition is true

Examples:

Function overloading:

@overload.argc(1)
def f(a): print 'Function 1 called'
@overload.argc(2)
def f(a, b): print 'Function 2 called'

f(1)
f(1, 2)

Switch statement:

with switch(1):
    if case(0): print 'Awkward...'; case.quit() # case.quit() is the same as break
    if case(2): print '???'
    if case(1): print 'Phew! It works!'
    if case.default(): print 'Ummmm...'

Function annotations:

@fannotate('Return annotation', a=1, b=2)
def x(a, b):
    return 0

Assign if condition is true:

compare_and_swap('my_var', None, 2) # set my_var to 2 if it equals None
No dependencies