Talk Python to Me is a weekly podcast hosted by Michael Kennedy. The show covers a wide array of Python topics as well as many related topics. Our goal is to bring you the human story behind the Python packages and frameworks you know and love.
Folks, it's not like the old days where there were just a couple of web frameworks for building apps with Python. These days there are many. One of those frameworks is the Masonite web framework created by Joseph Mancuso. Joseph is here today to tell us all about Masonite, what makes it special, it's core value proposition for web developers and much more.
You've often heard me talk about Python as a superpower. It can amplify whatever you're interested in or what you have specialized in for your career. This episode is an amazing example of this. You'll meet Cornelis van Lit. He is a scholar of medieval Islamic philosophy and woks at Utrecht University in the Netherlands. What he is doing with Python is pretty amazing.
On this episode, we dive into Python for lawyers and a special tool for conducting legal interviews. Imagine you have to collect details for 20,000 participants in a class-action lawsuit. docassemble, a sweet Python web app, can do it for you with easy.
What's it's like building a startup with Python and going through a tech accelerator? You're about to find out. On this episode, you'll meet Elissa Shevinsky from Faster Than Light. They are building a static code analysis as a service business for Python and other code bases. We touch on a bunch of fun topics including static code analysis, entrepreneurship, and tech accelerators.
Did you come to software development outside of traditional computer science? This is common, and even how I got into programming myself. I think it's especially true for data science and scientific computing. That's why I'm thrilled to bring you an episode with Daniel Chen about maintainable data science tips and techniques.
If you're a data scientist, how do you deliver your analysis and your models to the people who need them? A really good option is to serve them over Flask as an API. But there are some special considerations you might keep in mind. How should you structure this API? What type of project structures work best for data science and Flask web apps? That and much more on this episode of Talk Python To Me with guest AJ Pryor.
Have you heard that Python is not good for writing concurrent asynchronous code? This is generally a misconception. But there is one class of parallel computing that Python is not good at: CPU bound work running the Python layer.
Back in May of 2018, Bob Belderbos, Julian Sequeira, and I started on what would be a 9-month project. We wanted to create a dedicated, 100 days of code course specifically for Python web developers. Much of what we created for that course, we had prior experience with. But much of it was also new to us.
Have you tried to teach programming to beginners? Python is becoming a top choice for the language, but you still have to have them work with the language and understand core concepts like loops, variables, classes, and more. It turns out, video game programming, when kept simple, can be great for this. Need to repeat items in a scene? There's a natural situation to introduce loops. Move an item around? Maybe make a function to redraw it at a location.
Do you have data you want to visualize and share? It's easy enough to make a static graph of it. But what if you want to zoom in and highlight different sections? What if you need to rerun your ML model on selected data? Then you might want to consider working with Bokeh. It does this and much more. Join me on this episode where you'll meet Bryan Van de Ven who heads up the Bokeh project.
How do we get kids excited about programming? Make programming tangible with embedded devices. Did you know that after kids learned to code with the BBC micro:bit, 90% of kids "thought coding was for everyone" and 86% said it made CS topics more interesting?
In the US, we have a very interesting civil option that is quite new: The United States Digital Service. This service was created by President Obama to fix broken government software systems such as the rocky start of the healthcare system.
Do you have stateless code that needs to run in the cloud? The clear answer years ago was to create and HTTP, or even, gasp! A SOAP service before then. While HTTP services are still very important, some of this code can move entirely away from the framework that runs it with serverless programming and hosted functions.
On this episode, I meet up with Rong Lu and Katherine Kampf from Microsoft while I was at BUILD this year. We cover a bunch of topics around data science and talk about two opposing styles of data science development and related tooling: Notebooks vs Python code files and editors.
One of the questions I often ask at the end of the show is "When you write some Python code, what editor do you use?" Increasingly the most common answer is Visual Studio Code. Despite it's Windows only namesake, Visual Studio Code is cross-platform and has been gaining a lot of traction.
Have you ever wondered about the software stack powering Talk Python, the training website, mobile apps, video and audio delivery, and more? While at first glance it might seem pretty simple, there's quite a bit going on. We have our own custom search engines. We deliver 15-20 TB of data per month. Our course video streams from 8 locations throughout the world. Our database server is sending about 12 MBit of traffic / sec with no media in the mix. And it's all powered with Python.
Python 3.8 is coming soon. It's scheduled for release at the end of October 2019 and you can already download test versions today. Given that Python ships on an 18-month cycle, it's time to talk about what's coming for us Python developers in the fall.
Many of you studied computer science at a University to get into programming and your careers. But I bet most of you came through some self-study or some sort of back door into the industry. I count myself among that crowd.
How do you stay up on your Python skills. Many of us are self-starters and good at learning on our own or online with the video courses like the ones we have over at Talk Python. But sometimes, having everyone on your team go from zero to ready to work on a project is the best path. And that usually means in-person training.
We all got a bit of a shock to the system when Guido van Rossum decided to step down as the leader and top decider of the Python language and CPython runtime. This happened due to many factors but was precipitated by the so- called walrus operator (PEP 572).
What if you could write standard numpy and pandas code but have it run on a distributed computing grid for incredible parallel processing right from Python? How about just splitting it across multiprocessing to escape the limitations of the GIL on your local machine? That's what Dask was built to do.
Let's talk about running Django in production. On this episode, you'll meet Michael Herman who used to work on realpython.com and today is running testdriven.io. We also cover some of the tradeoffs of a set of microservices and a monolith and a round trip journey between them.
Welcome to part 2 of our beginners and experts series. This one is a panel format with 7 different guests. Each of them a beginner in their own way. We dig deeper into some follow up conversations for part 1 with our panelists.
What's it like to be a beginner in software development? How about learning Python for the first time? This episode is a special panel episode and is the first of a two-part series we are doing on the podcast called Beginners and Experts.
One core question around open source is how do you fund it? Well, there is always that PayPal donate button. But that's been a tremendous failure for many projects. Often the go-to answer is consulting.
The Nobel prize in economics recently went to Paul Romer, a convert from proprietary software like Matlab over to Python and the SciPy stack. Paul said, “The more I learn about proprietary software, the more I worry that objective truth might perish from the earth.”
Do you know or maybe work with people who abuse Excel? Is it their hammer to pound all the computational problems that get in their way? Well, join me to chat about this opportunity to bring Python deeper into their lives. You'll meet Chris Moffitt who runs Practical Business Python. He works with lots of folks who could make better use of Python to solve their business problems and he has a ton of material on his website. It's time to escape Excel hell with Python and Pandas.
Do your applications call a lot of APIs? Maybe you have a bunch of microservices driving your app. You probably don't have the crazy combinatorial explosion that Zapier does for connecting APIs! They have millions of users automating things with 1,000s of APIs. It's pretty crazy. And they are doing it all with Python. Join me and Bryan Helmig, the CTO and co-founder of Zapier as we discuss how they pull this off with Python.
It's time to catch up with the Anaconda crew and see what's new in the Anaconda distribution. This edition of Python was created to solve some of the stickier problems of deployment, especially in the data science space. Their usage gives them deep insight into how Python is being used in the enterprise space as well. Which turns out to be a very interesting part of the conversation.
A recent twitter poll went around the web and it asked, what percentage of the Python standard library do you think you know? Someone copied me on it, maybe expecting some really high percentage answer. In reality, what I did answer and my rough estimate is that it's probably around 50%.
If you are doing any sort of data exploration, you've likely heard about Jupyter notebooks. In fact, there are quite a few options for running and hosting your Jupyter notebooks. You may have heard me rave about PyCharm as an editor too. Well, on this episode, you'll meet Adam Hood from the Datalore team at JetBrains. That's a new project that tries to bring some of the power of PyCharm to notebooks and more.
When you think of learning Python, what type of developer or technologist comes to mind? Is it someone looking to get their first job or maybe moving from .NET to Python and looking for a shift in their careers?
How do you learn programming when you're working in a vacuum? Sure there are resources on the internet, but sometimes just bouncing ideas of others in person makes a huge difference. Join me along with Rusti Gregory as we discuss how he is learning and teaching Python in a small town in Vermont.
This year, 2018, is the year that the number of data scientists doing Python equals the number of web developers doing Python. That's why I've invited Jonathon Morgan to join me to count down the top 10 stories in the data science space.
It's been a fantastic year for Python. Literally, every year is better than the last with so much growth and excitement in the Python space. That's why I've asked two of my knowledgeable Python friends, Dan Bader and Brian Okken, to help pick the top 10 stories from the Python community for 2018.
When you think about Microsoft, do you think about Python? Maybe not, but you probably should. They have been doing an incredible amount of work to improve Python for folks on Windows as well as the broader community. You can think of the wild growth of Visual Studio code. But did you know that 5 core developers work there and the majority of Python development happens on Windows?
You'll find this episode to be part discussion on how to teach and learn Django as well as why learning web development can be hard and part meta where Will Vincent and I discuss the business of creating content and teaching around Python.
Have you ever wondered what a developer advocate (sometimes called a dev evangelist) does? You know these folks. They are often seen at conferences working at some high-end tech company's booth or traveling from conference to conference speaking on their specialty.
How do you keep track of the security, configuration states, and even out of date system level packages in your servers? What if you had 40,000 or more servers? How's your process scale? I'll tell you, mine would take some tweaks!
The key to making anything a habit, including learning to program, is to make it fun. That's exactly what Anna-Lena Popkes did with her 100 days of code challenge. She created a magical universe where Python-derived creatures and castles live.
Do you or your team maintain a large Python 2 code base? Would you like to move to Python 3 but there's just too much in place keeping you on legacy Python? Then you will definitely enjoy this story from Jason Fried. He created a grassroots campaign to move Facebook's massive Python 2 codebase to Python 3 and he made Python 3 part of the culture. There are lessons here for every listener.
How can we make learning Python and teaching Python more real for students, especially younger students? The BBC in the UK had a great idea. Make it more physically real with actual devices. That's where Nicholas Tollervey got involved. He helped bring the BBC Micro:bit and Python to millions of kids in the UK.
Python is taking over much of the development world as it quickly is becoming one of the, or simply the most widely used programming languages. But that does not mean that Python is without its weaknesses. In my mind, there are three such weaknesses: #1 GUIs applications, #2 Native, general purpose mobile apps (iOS and Android), #3 deployment as a single binary or set of binary and resource files.
Join me and Doug Farrell as we discuss his career and what he's up to at Shutterfly. You'll learn about the Python stack he's using to work with, not just with bits and bytes, but physical devices on a production line for creating all sorts of picturesque items. You'll also hear how both he and I feel it's a great time to be a developer, even if you're on the older side of 30 or 40 or beyond.
Listeners often tell me one of the really valuable aspects of this podcast is the packages and libraries that they learn about and start using in their projects from guests and myself. On this episode, I've invited Brian Okken (my co-host over on Python Bytes) to take this to 11. We are going to cover the top 30 Python packages from the past year (metric to be determined later in the show).
The Python core developers recently released Python 3.7 and are now busy planning what's coming in 3.8. That makes right now a great time to dig into what was included in Python 3.7 and what's on deck for the next great release of CPython. This week we have Anthony Shaw back on the podcast to tell us all about it.
The Python Language Summit is a yearly gathering of around 40 or 50 developers from CPython, other Python implementations, and related projects. It is held on the first day of PyCon. Many of the decisions driving Python forward are made at this summit. On this episode you'll meet Mariatta Wijaya, Łukasz Langa and Brett Cannon, three well-known core devs to walk us through the major topics of this year's summit.
Flask is now 8 years old and until recently had gone along pretty steady state. It had been hanging around at version 0.11 and 0.12 for some time. After a year-long effort, the web framework has now been updated to Flask 1.0.
The Python landscape is changing pretty dramatically. Python's rapid growth over the past 5 years means it doesn't look the same as the early days. On this episode, we take a deep look inside the state of the Python ecosystem with Ewa Jodlowska and Dmitry Filippov. They lead the PSF and JetBrains Python survey. And they are here to dig into the results.
The discipline of network engineering is quickly moving towards a world where it's as much programming and automation as it is packets and ports. Join me and Hank Preston to discuss what parts of Python are important for network engineers to learn.
Quick, name some ways to make your Python code faster. Did you think PyPy, the JIT-compiled version of Python? Maybe some async and await parallelism? How about Cython where you write in Python-esc language that compiles to machine instructions?
This past week we have had a passing of the reigns for Python leadership. Guido van Rossum who created and has been shepherding the language for 30 years has stepped down from decision making around the Python language.
Corey Schafer has been building his YouTube channel of tutorials for many years. He recently made the big shift into making this hobby project his full time job. You'll hear about how Corey made that transition, what it takes to "go pro", and even a little bit about the similarities with my work with Talk Python and his project.
Do you write Python software that uses the network, opens files, or accepts user input? Of course you do! That's what almost all software does. But these actions can let bad actors exploit mistakes and oversights we've made to compromise our systems.
We have evolved from, "It builds, ship it!" to continuous integration where every check-in is automatically verified by something like Travis CI. Taking that further, some people are using continuous delivery. This means, once a check-in is validated by the CI system, it's deployed -- automatically.
The blockchain and cryptocurrencies are some of the most disruptive technologies of the decade. On this episode, you'll meet Stuart Farmer who is building a suite of developer tools that speed up the process of creating new and custom blockchains and apps.
The brain is truly one of the final frontiers of human exploration. Understanding how brains work has vast consequences for human health and computation. Imagine how computers might change if we actually understood how thinking and even consciousness worked. On this episode, you'll meet Justin Kiggins and Corinne Teeter who are research scientists using Python for their daily work at the Allen Institute for Brain Science. They are joined by Nicholas Cain who is a software developer supporting scientists there using Python as well.
You often hear about architecture in software. This could be things like microservices, 3-tier apps, or even the dreaded client-server mainframe app. But this episode, we're turning this on its head: It's software in architecture and real-world construction projects with Mark Mendez.
Python is often described as a "batteries included" language and ecosystem. In fact, that's been taken so far that there is even a delightful Easter egg in the Python REPL. Just type "import antigravity" to see what I mean.
You've surely heard of quantum computing and quantum computers. They are based on the (often) non-intuitive nature of very small particles described by quantum mechanics. So how do they work and what will they mean for us as a society and as developers?
One of the hottest areas of growth for Python is in the scientific and data science communities. But if that work is done in an academic or research setting, it can be very hard to get proper credit for it. You have to write full on peer reviewed articles.
Learning about programming libraries and languages is useful and interesting. But sometimes knowing WHY certain decisions were made or the history leading up to some change or package being created gives you a deeper understanding.
Since 2008 there has been this tension in Python where the much of the effort to improve Python has been on Python 3 whereas many developers were left stuck on Python 2 primarily because important packages were not yet Python 3 capable.
Python is often used in big-data situations. One of the more personal sources of large data sets is our own genetic code. Of course, as Python grows stronger in data science, it's finding its place in biology and genetics.
If you have spent some time in the Python community, you have probably heard the term PEP which stands for Python Enhancement Proposal. In fact, the very first one was created in June 2000 which defines the PEP process.
Have you heard about ASTs? Maybe that was in the context of compilers or parsers? They are an powerful data structure that we all use but often indirectly. They are just an, well, abstract idea to most of us.
This week, you'll meet Emily Morehouse. She is here to make this abstract concept much more concrete and discuss places where the AST can help us write and maintain better code.
Links from the show
Emily's talk: youtu.be
Talk slides: emilyemorehouse.github.io
Emily on Twitter: @emilyemorehouse
Python hunter: python-hunter.readthedocs.io
Transcrypt: Python in the browser: transcrypt.org
PyBee projects: github.com/pybee
Park My Cloud
Talk Python Training
Does your code smell? Have a weird fragrance? It turns out code smells are a real thing and an amazing conceptualization of suboptimal design. This week you'll meet Yenny Cheung who has some practical and real-world advice on using refactoring in Python to improve your code and wash away those code smells.
Are you considering getting into web programming? Choosing a web framework (like Pyramid, Flask, or Django) can be daunting. It would be great to see them all build out the same application and compare the results side-by-side.
Are you a fan of developer and technical books? Ever wonder what went into the writing of your favorite Python book? This week we peek inside the world of book authorship with a panel of renowned developer-focused authors. You'll meet Katharine Jarmul, Bruce Eckel, Luciano Ramalho, Dan Bader, and Brian Okken.
There has been a bunch of new Python web frameworks coming out in the past few years. Generally, these have been focused solely on Python 3 and have tried to leverage Python's new async and await features.
Voice assistants and voice interfaces are quickly becoming the new, hot way to interact with computers. Two of the notable ones are amazon echo devices and google home devices. Wouldn't it be great if we could program these with Python? Even better if we could use well-known APIs such as Flask.
It's been an amazing year for Python. We've seen its meteoric growth continue to become the most popular, major programming language. We've seen significant grants and funding come in for open source. And this just might be the year that the Python 2 or Python 3 question was finally settled.
Do you run a web application or web service? You probably do a couple of things to optimize the performance of your site. Make sure the database response quickly and more. But did you know a well of performance improvements live in your web servers themselves?
How many Python developers do you know that learned Python quickly but then plateaued pretty quickly as well. Maybe this is someone you worked with or maybe it's even you. Python's clean and simple syntax can mean it's easy to learn but hard to master.
How do you learn libraries or parts of Python itself that you don't have actual work projects involving them? Whether that's SQLAlchemy, Slack bots, or map APIs, actually building projects (small and large) with them is really the only way to gain true competency.
Data science is one of the fastest growing segments of software development. It takes a slightly different set of skills than your average full-stack development job. This means there's a big opportunity to get into data science. But how do you get into the industry?
Design has become a critical element in software. Back in the 90's, it was fine to produce or sell "battleship grey" apps that worked by did not do much to delight. Today, design is table stakes. And knowing how to design applications yourself and work with designers is a key still.
We all have smartphones these days. And we take them with us everywhere we go. How much could you infer about a person (their stage in life, their driving style, their work / life balance) based on just a phone's motion and GPS data?
What is the biggest challenge facing human civilization right now? Fake news, poverty, hunger? Yes, all of those are huge problems right now. Well, if climate change kicks in, you can bet it will amplify these problems and more. That's why it's critical that we get answers and fundamental models to help understand where we are, where we are going, and how we can improve things.