2022-06-15 PyData London - James Powell Review#

Can you believe James presented at PyData London every year from 2015-2019? This year, he is returning to the live stage to deliver another exciting talk on pandas and API design. So, if you’re attending the conference, this is a talk you won’t want to miss!

With the conference rapidly approaching (June 17-19), I wanted to take some time and review all of the past talks James has given at PyData London. I provided some commentary on the talks themselves as well as provided a rating out of 5 stars. As per usual, James’ talks are extremely insightful and bring a fresh perspective to familiar topics. I hope you all enjoy these as much as I did.

2015 - Integration With The Vernacular#

The NumPy model of computation in Python has proven to be one of the most successful ways to integrate high-performance computational code into an application. This talk offers a foundational conceptualization for this approach and discusses its strengths and limitations.

  • James discusses NumPy’s syntax and how NumPy can exist embedded within the Python language, despite their differences in intended application.

While I did enjoy the talk, I feel a better view of the slides James used would have improved it greatly. It seems that this was a talk where James first began discussing his idea of a “restricted computation domain.”

Cameron’s Rating: ★★★☆☆

2016 - Python And Johnny Cash#

I was given this title by the Executive Director of NumFOCUS as punishment for being late in putting together a proposal. This talk will be a huge stretch to link Python to Johnny Cash. I suppose this means I’ll have to wear all black. I’ll probably show off some nifty (C)Python hacks, like adding AST-literals or resurrecting the print statement or implementing lambda-fusion.

James is known for his knowledge of Python that enables tricks you probably haven’t seen before. Here, we see him implement Cython-based shims to effectively monkey patch system calls. I thought this was an interesting talk that demonstrated how we can interface Python with our operating system, which has some unique potential applications. Also, the video setup greatly improved over 2015.

Cameron’s Rating: ★★★★☆

2017 - Building Web-based Analysis & Simulation Platforms#

What use is analytical code if it can’t be integrated into a business workflow to solve real problems? This tutorial is about integrating analytical work into a real production system that can be used by business users. It focuses on building a web-based platform for managing long-running analytical code and presenting results in a convenient format, using a cutting-edge combination of tools.

A fun live-coding session combining React, Flask, Celery, Bokeh, and NumPy. This code-a-long was chock-full of useful information and I’d recommend it as a “must see” for any data scientist wanting to expand into the software developer side of life. Sadly, we lost the code screen view part way through which hurt the long-term effectiveness of the presentation.

Cameron’s Rating: ★★★★☆

2018 - More About Generators#

Generators were a compelling feature when added to Python 2.2 seventeen years ago with PEP-255. When they were enhanced to become coroutines with PEP-342, they gained additional capabilities for modeling common problems. However, we don’t often see generators discussed in the toolkits of data scientist, computational scientist, and data engineers.

This is a fun demonstration which starts off comparing objects and closures and asking, “What’s the difference?” Well, turns out, not much. They enable you to track and update state internally. However, James segues into his second-favorite topic in the world: generators. This is a great watch if you are curious how to effectively use generators learn where generators can fit into scientific computing code.

Cameron’s Rating: ★★★★★

2019 - Because You Can Run, You Can’t Hide: Some Musing on API Design#

When designing an API, how do you restrict your users to your public interface and keep their filthy hands off your internal implementation details? Sadly, the richness of Python’s runtime makes this remarkably difficult. This talk investigates a number of ways to keep the riff-raff out and discusses the limitations of these techniques and how they can improve API designs.

This was a great talk covering all of the ways you can (or can’t) hide interfaces/internals from users in your library code. If you want to learn about library design and Python internals, then this is a great talk for you.

Cameron’s Rating: ★★★★★

Wrap Up#

James has done a lot of talks and watching these videos in chronological order allowed me to watch him grow as a speaker (and watch PyData London grow in video production). With all that experience, I know this year’s conference is going to be a blast. If you’re attending, make sure you find James, say hi, and even snag a photo!

And, for those of us not going to the conference, keep an eye on the newsletter to see the recording of James’ talk as soon as it’s ready!

Talk to you all next week.

  • Cameron