Profile_large

Brett Cannon

How to pitch Python 3 to management

Or, the business case for moving to Python 3

[This blog post has been sitting as a draft for months, and I'm finally finishing while at home sick; sorry if that makes it a little less coherent compared to my other posts]

Over on our Python team at Microsoft blog, one of my teammates wrote a blog post showing that project releases on PyPI within a single month will begin to . . .

Read More

March 08, 2016

How the heck does async/await work in Python 3.5?

Or, generators let you do neat stuff

Being a core developer of Python has made me want to understand how the language generally works. I realize there will always be obscure corners where I don't know every intricate detail, but to be able to help with issues and the general design of Python I feel like I should try and understand its core semantics and how things work under . . .

Read More

February 11, 2016

The history behind the decision to move Python to GitHub

Or, why it took over a year for me to make a decision

I asked on Twitter if people would be interested in having me write down the history behind my decision to choose GitHub for Python's future development process and people said "yes"(some literally), hence this blog post.

Background

My heavy participation with python-dev started with me writing the Python-Dev . . .

Read More

Posted in: python

January 13, 2016

My New Years programming resolutions

It's a new calendar year, which means it's time to think about what year-long plans I have for my contributions to the Python project. There's always the usual plans I have to approve some patches, fix some bugs, etc. But I seem to always have one or two projects that I really want to see happen that I simply can't solve in a . . .

Read More

Posted in: python

January 06, 2016

Why `print` became a function in Python 3

After writing my post on why Python 3 exists which included an explanation about the most common question/complaint about why Python 3 forced textual and binary data into separate types, I heard from people about the second most common question/complaint about Python 3: why did we make print a function?

Who can do what?

The . . .

Read More

December 31, 2015

Where are we in the Python 3 transition?

Or, how the Kübler-Ross model aptly applies to Python 3

The Kübler-Ross model outlines the stages that one goes through in dealing with death:

  1. Denial
  2. Anger
  3. Bargaining
  4. Depression
  5. Acceptance

This is sometimes referred to as the five stages of grief.Some have jokingly called them the five stages of software development. I think it actually matches the . . .

Read More

December 30, 2015

Stop using Python 2.6 please

Or, try not to let RHEL/CentOS default installations hold you back

Image from Fluent Python showing Python releases between 2006 and 2015 small

Python 2.6 has been around for over 7 years, first released in 2008 and last released in 2013 (as shown by the nice image provided by Fluent Python on Twitter and used with permission). It's unsupported software at this point as the Python development team only supports a feature release of Python with bugfix releases until the . . .

Read More

December 20, 2015

Archive

Cover image credit: http://goo.gl/photos/re3FDeopYikjWfbK8