Skip to main content

Simple Python extensions.

Project description

PyExt
=====

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

Several simple extensions that add some nifty features to Python.

NEWS: There is now a PyExt newsgroup on Google Groups. See https://groups.google.com/forum/#!forum/pyext.

Some features:

- Function overloading
- Switch statement
- Runtime module creation
- Tail recursion removal
- Python 2 function annotations
- Python 2 safe tuple unpacking

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

TODO:

- Add some more tests

.. 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

pyext-0.7.tar.gz (7.8 kB view details)

Uploaded Source

pyext-0.6.tar.gz (7.3 kB view details)

Uploaded Source

File details

Details for the file pyext-0.7.tar.gz.

File metadata

  • Download URL: pyext-0.7.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pyext-0.7.tar.gz
Algorithm Hash digest
SHA256 e618a635be4e8c4a84b443cc27186601ad052efe35f01839815f2a2cf3947cdf
MD5 838762233b1b20d24b5b4214ebab0ec2
BLAKE2b-256 b0be9b6005ac644aaef022527ce49617263379e49dbdbd433d1d3dd66d71f570

See more details on using hashes here.

File details

Details for the file pyext-0.6.tar.gz.

File metadata

  • Download URL: pyext-0.6.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pyext-0.6.tar.gz
Algorithm Hash digest
SHA256 6c406cf71b991e1fc5a7f963d3a289525bce5e7ad1c43b697d9f5223185fcaef
MD5 b20a76282f2746d343a2ea49af68a09a
BLAKE2b-256 9c8e75e816409b51bce77ec0b99073b462f028509c65a26bfdc87ed88f712dc9

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