I have been honing my Python skills on a couple of projects recently. One is the famous (or infamous) Python Challenge which has been interesting, but its not where I have spent the bulk of my time. The other is some work related scripting in jython for Websphere automating some tasks for developers (pausing and resuming activation specifications) in their test environment.
But was has challenged me the most and captured the majority of my attention is the Matasano Crypto Challenge. The nature of the challenge is they send you several tasks to complete successfully using the language of choice (in my case obviously, Python) and in the process you learn about encryption. More to the point you learn several basic weaknesses and common attacks used to crack encryption.
I've gotten through 5 of the 8 batch of exercises they've sent me, currently a bit stuck on number 6. It's a situation where I can kind of see what I am doing wrong but not sure how to fix it. Unfortunately, I am unable to talk about or share the exercises with anyone, otherwise, it would not be be much of a challenge.
I've also been going to the PyPTUG project nights and I've been getting a lot out of those. I like the open format where people just share what they're working on or whatever they want to discuss.