Dec 29, 2010

Star and double star operators

I bet not every Python programmer knows what unary operators * and ** do.

Here's the thing: applying * to a list or a tuple extracts all the items of it and forms a function arguments sequence.

That is,
def sum3(a, b, c):
    return a + b + c

threesome = (1, 2, 3)
print "sum of", threesome, "is", sum3(*threesome)
outputs
sum of (1, 2, 3) is 6.

While ** is used for unpacking a dictionary of named function arguments:
args = { "jumper": "fox", "jumpee": "dog" }

print "quick {jumper} jumped over the lazy {jumpee}".\
    format(**args)
naturally produces
quick fox jumped over the lazy dog.

It's easy to remember, you can think of these operators as the ones literally removing parentheses of a tuple, brackets of a list or curly braces of a dictionary.

Dec 27, 2010

Version 0.1 released!

On this great winter day, pyfuscator 0.1 has been released. For now, it will be available only in two flavours: the source code and the Windows x86 executable (built with py2exe for python 2.6). 

What's next? According to our roadmap, version 0.2 will mainly be a bugfix release with some minor improvements. It's hard to say now when it will be available (it really depends on the feedback), but we'll try to roll it out anyway somewhere in Spring 2011. 

In parallel with stabilization, we're starting on the version 0.3 which is going to deliver python 2.7 and 3.x support as well as capability of handling multifile projects.

Now go check us out on the downloads page and, yes, enjoy your holidays!

Dec 19, 2010

We ARE close to the 0.1 release

Now that all internal tests are passing successfully, we anicipate releasing pyfuscator 0.1 in one week term, right at Christmas. Stay tuned!