Brett Cannon

Why I took October off from OSS volunteering

And what I'm doing to not make the vacation permanent

On October 1, 2016, I stopped volunteering for open source projects -- including Python -- for a month. While I still did open source work for Python as part of my job, I spent absolutely zero time helping any project outside of work (so no evenings, no weekends). This was the first major break I have taken from Python development since I . . .

Read More

November 08, 2016

Why pathlib.Path doesn't inherit from str in Python

Or, implicit compatibility is usually not a good thing

Over on python-ideas a discussion has broken out about somehow trying to make p'/some/path/to/a/file return an instance of pathlib.Path. This led to a splinter discussion as to why pathlib.Path doesn't inherit from str? I figured instead of burying my response to this question in the thread I'd blog about it to try and explain one . . .

Read More

March 29, 2016

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.


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


Cover image credit:

This update link alerts you to new Silvrback admin blog posts. A green bubble beside the link indicates a new post. Click the link to the admin blog and the bubble disappears.

Got It!