Sessions at PyCon US 2011 about Python

Your current filters are…

Friday 11th March 2011

  • PyCon 2011: Supporting All Versions of Python All The Time With Tox

    by Kumar McMillan

    This talk explains modern techniques that any developer can use to support multiple versions of Python. You probably already have a massive test suite using a tool like nosetests, py.test, hand rolled unittest, etc. This talk will focus on using the tox command line tool to build and run your tests in all versions of Python, from 2.4 to Jython and, most importantly, Python 3.

    tox lets you set up isolated virtual environments to test your module's deployment and compatibility with all major versions of Python. It's easy to install and is flexible enough that it probably already supports your existing test suite. With one simple command you can execute your test suite in each version of Python, you can build its documentation with Sphinx, and get a nice printout of the results. It has also been designed from the ground up to integrate into continuous integration (CI) tools like Jenkins.

    Using practical examples, this talk will show you how to toxify your existing test suite and trick it out with the tox.ini config file. You'll also see how to leverage a Jenkins matrix build so that each code checkin will run tests in all versions of Python and report detailed failures.

    Your app supports Python 3, right? No? Tox is the best way to develop in parallel with 2 and 3. We'll go over how to set up tox for that.

    At 11:45am to 12:15pm, Friday 11th March

  • Porting to Python 3

    by Lennart Regebro

    This talk is split into three parts. The first will look at the different options in how to handle Python 3 porting. Do you need to support Python 2, or just port once? Should your code run unmodified or via 2to3, etc. It will in depth take up the benefits and problems with each strategy to let you choose, and also give quick examples of how to port with each strategy.

    The second part looks at how you should prepare before porting, and things you can do right now to improve your code and make porting easier, even though you don't plan to port yet.

    The third part will take up the most common problems in porting, and how you can solve them.

    At 2:55pm to 3:40pm, Friday 11th March

    Coverage link

  • Python and Robots: Teaching Programming in High School

    by Vern Ceder

    Combining Python with inexpensive robots is a very effective way of teaching programming at the middle and high school levels. Since Python is easy to understand a constructivist approach is possible - students learn by creating and running simple programs, observing the results, and then modifying their code to fix bugs and add functionality.

    At 4:55pm to 5:25pm, Friday 11th March

Saturday 12th March 2011

  • How Dropbox Did It and How Python Helped

    by Rian Hunter

    Dropbox is a startup company located in San Francisco that has probably one of the most popular file synchronization and sharing tools in the world, shipping Python on the desktop and supporting millions of users and growing every day. Dropbox uses Python on the client-side and server side as well.

    This talk will give an overview of the first two years of Dropbox, the team formation, our early guiding principles and philosophies, what worked for us and what we learned while building the company and engineering infrastructure. It will also cover why Python was essential to the success of the project and the rough edges we had to overcome to make it our long term programming environment and runtime. Finally it will give some insight into the future of Dropbox and where the project is going.

    At 9:00am to 9:30am, Saturday 12th March

    Coverage video

  • Exhibition of Atrocity

    by Mike Pirnat

    Believe it or not, but you can write pretty horrendously awful code even in a language as elegant as Python. Over the years, I've committed my share of sins; now it's time to come clean. Step right up for a tour of twisted, evil, and downright wrong code, and learn some strategies to avoid writing criminally bad code--if you dare!

    At 2:15pm to 2:45pm, Saturday 12th March

  • An Introduction to Tornado

    by Gavin M. Roy

    Tornado is an open source version of the scalable, non-blocking web server and tools that power FriendFeed. It is not only a web server but it is a light-weight, use only what you need, web development framework. In this talk we will review the current state of the Tornado project, review the features Tornado provides and give examples of how to implement asynchronous web applications in Tornado.

    Topics covered will include:

    • Core Tornado concepts
    • Building an asynchronous web application
    • Using the Tornado template engine
    • Database Interaction
    • Secure cookies and Sessions
    • Utilizing built-in OAuth Clients for Authentication
    • Websockets
    • State of asynchronous drivers available to Tornado
    • A light introduction to Tornado internals

    At 2:55pm to 3:40pm, Saturday 12th March


  • Advanced Network Architectures With ZeroMQ

    by Zed Shaw

    Zed A. Shaw In this talk I will demonstrate how to use ZeroMQ with Python (and others) to do really advanced or even weird network architectures. You'll see Python talk to other languages, handle HTTP, JSON, XML, WebSockets, encode videos, chat messaging, etc. All in a short talk with only code, no diagrams. You should know ZeroMQ already.

    Coverage video

  • How to sell Python

    by Daniel Greenfeld, Frank Wiles, Chris Shenton, Rich Leland and Titus Brown

    A lot of people want to use Python, but their customer, management, school, government, or organization won't let them. Python is a great tool, but it can be challenging to get in the door. This panel will explore how companies and individuals have successfully introduced Python, what tools are available to sell Python, and what pitfalls there are to avoid.

    Five panelists have been chosen from a broad spectrum of individuals including academic, government, for-profit organizations, and non-profit organizations. Possible questions will include:

    • What is a good example success story you can share?
    • What pitfalls should you avoid?
    • How do you deal with organizations that have already spent bucketloads of money on a piss-poor technology stack, are hurting for it, but can't seem to let go?
    • How do you fight Fear-Uncertainty-Doubt (FUD) spread by people who stand to lose from introducing Python?
    • What tools are available to help sell Python?

    Coverage video