Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Pyext with the inspection updated for the new 3.11 inspect module

Notifications You must be signed in to change notification settings

festusev/pyext-fixed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyExt

https://travis-ci.org/kirbyfan64/PyExt.png

Several simple extensions that add some nifty features to Python.

Links:

GitHub https://github.com/kirbyfan64/PyExt
PyPI https://pypi.python.org/pypi/pyext
Newsgroup https://groups.google.com/forum/#!forum/pyext

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

Note

Please ignore this project's messy commit history(several commits under invalid_email_address, about 20 commits labeled Initial). I was trying to use hg-git and kept goofing stuff up.

About

Pyext with the inspection updated for the new 3.11 inspect module

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages