Talk Python To Me

by Michael Kennedy (@mkennedy)

Talk Python to Me is a weekly podcast hosted by developer and entrepreneur Michael Kennedy. We dive deep into the popular packages and software developers, data scientists, and incredible hobbyists doing amazing things with Python. If you're new to Python, you'll quickly learn the ins and outs of the community by hearing from the leaders. And if you've been Pythoning for years, you'll learn about your favorite packages and the hot new ones coming out of open source.

  

Latest Episodes

#283 Web scraping, the 2020 edition

Web scraping is pulling the HTML of a website down and parsing useful data out of it. The use-cases for this type of functionality are endless. Have a bunch of data on governmental sites that are only listed online in HTML without a download? There's an API for that! Do you want to keep abreast of what your competitors are featuring on their site? There's an API for that. Need alerts for changes on a website, for example enrollment is now open at your college and you want to be first to get in and avoid the 8am Monday morning course slot? There's an API for that.

That API is screen scraping and Attila Tóth from ScrapingHub is here to tell us all about it.

Links from the show

Attila Tóth on LinkedIn: linkedin.com
Scrapy project: scrapy.org
Scrapinghub on Twitter: @scrapinghub
Scrapinghub: scrapinghub.com
cookiecutter template for Scrapy projects: github.com
Splash: headless browser designed specifically for web scraping: scrapinghub.com/splash
Awesome Web Scraping list: github.com

Talk Python episode 50 on web scraping: talkpython.fm
How Web Scraping is Revealing Lobbying and Corruption in Peru: blog.scrapinghub.com
Web Data Extraction Summit event: extractsummit.io

Sponsors

Talk Python Training
Linode


Audio Download

Posted on 23 September 2020 | 8:00 am


#282 pre-commit framework

Git hook scripts are useful for identifying simple issues before committing your code. Hooks run on every commit to automatically point out issues in code such as trailing whitespace and debug statements. By pointing these issues out before code review, this allows a code reviewer to focus on the architecture of a change while not wasting time with trivial style nitpicks.

As we created more libraries and projects we recognized that sharing our pre-commit hooks across projects is painful. That's why I'm happy to welcome Anthony Sottile to the show to discuss pre-commit, a framework for managing and maintaining multi-language pre-commit hooks.

Links from the show

Anthony at Twitter: @codewithanthony
pre-commit: pre-commit.com
pre-commit continuous integration: pre-commit.ci
pre-commit hooks: pre-commit.com/hooks.html
pre-commit on GitHub: github.com
shhgit secret discovery project: github.com
babi editor: github.com
Twitch stream: twitch.tv

Anthony on GitHub: github.com

Sponsors

Talk Python Training
Linode


Audio Download

Posted on 17 September 2020 | 8:00 am


#281 Python in Car Racing

I love to bring you stories of Python being used in amazing places outside the traditional tech silos of pure web development and data science.

On this episode, you'll meet Robert "Kane" Replogle, who works on the simulation and test software at Richard Childress Racing. The NASCAR team that just finished #1 and 2 in at the Texas Motor Speedway.

You'll hear how Python is allowing them to model car behavior, air flow, and more much faster than others using outdated tools.



Links from the show

Kane on LinkedIn: linkedin.com
Kane on Twitter: @ReplogleRk
Richard Childress Racing: rcrracing.com
Windshear, the 180 mph tunnel: windshearinc.com
NASCAR: nascar.com
blackcellmagic package: pypi.org/project/blackcellmagic
StreamLit: streamlit.io

Sponsors

Linode
SonarQube linting tools
Talk Python Training


Audio Download

Posted on 9 September 2020 | 8:00 am


#280 Python and AI in Journalism

If there has ever been a time in history that journalism is needed to shine a light on what's happening in the world, it's now. Would it surprise you to hear that Python and machine learning are playing an increasingly important role in discovering and bringing us the news? On this episode, you'll meet Carolyn Stansky, a journalist and developer who's been researching this intersection.

Links from the show

Carolyn on Twitter: @carolstran
Carolyn on LinkedIn: linkedin.com
Carolyn's site: workwithcarolyn.com
Carolyn's talk: How AI is enhancing journalism: vimeo.com

Examples of AI / automation in use
Quakebot: bit.ly/quakebot-code
LA Homicide Tracker: homicide.latimes.com
reportermate: github.com
Buzzfeed Finding and tracking secret spy planes: bit.ly/buzzfeed-spy-planes
NY Times comment moderation: bit.ly/nyt-comments
Al Jazzira: Drones in warzones: bit.ly/fmls-keynote

Tools
Qz.ai - Quartz AI Studio, focused on helping smaller papers and journalists: qz.ai
Facets: github.io
Google News Initiative: bit.ly/google-ni

Newspaper3k Package: newspaper.readthedocs.io
FiveThirtyEight: fivethirtyeight.com
Google News and Australia fight: bbc.com
Twitter thread on American news overwhelming other countries: twitter.com

Sponsors

Brilliant
Talk Python Training


Audio Download

Posted on 5 September 2020 | 8:00 am


#279 Modern Python Developer's Toolkit

Python is quick and easy to learn. And yet, there is a massive gap between knowing the common aspects of the language (loops, variables, functions, and so on) and how to write a well-factored application using modern tools and libraries. That's where learning Python is a never-ending journey.

Sebastian Witowski is here to give us his take on a modern Python developer's toolkit. There are a bunch of great tips in store for us.

Links from the show

Sebastian on Twitter: @SebaWitowski
The tutorial recording from PyCon: youtube.com
Sebastian’s website: switowski.com
Workshop resources site: pycon.switowski.com
Writing Faster Python talk: youtube.com
Hugo Static Site Theme: gohugo.io

Announcements at Talk Python
Python Memory Course: talkpython.fm/mem
Excel to Python and Pandas Course: talkpython.fm/excel
Excel to Python Webcast: talkpython.fm/excel-webcast
Team Cohorts: talkpython.fm/cohorts

Sponsors

Talk Python Training
Linode


Audio Download

Posted on 29 August 2020 | 8:00 am


#278 Teach kids Python with real programming and fun games at Code Combat

If there is one message I've been pushing across all of the Talk Python episodes, it's that programming is a superpower. Rather than all of us abandoning what we're interested in and becoming CS majors, we can take our passion or expertise and 10x it with a little programming skill.

In that case, we should be teaching kids fluency in programming at a younger age. And yet, almost every platform or example meant to do so pulls its punches. We'll teach kids programming concepts but not code itself. That's a bridge too far.

But it's not! That's why I'm excited about Code Combat. It's an online coding platform that uses real Python syntax to guide your hero, visually, through a dungeon full of challenges. Yet the editor and customized error messages mean this is approachable for kids before they can even type reliably.

On this episode, we'll meet Nick Winter, one of the cofounders of Code Combat. There's a lot of philosophy behind the tool and technology to make it kid-friend and real Python at the same time.

Oh, and it's running Python in the browser.

Links from the show

CodeCombat: codecombat.com

On Twitter
Code Combat: @CodeCombat
Nick Winter: @nwinter

Nick's website: nickwinter.net
Code Combat on GitHub: github.com/codecombat
Brett's learnable programming talk: worrydream.com

Ozaria: ozaria.com

Sponsors

Talk Python Training
Linode


Audio Download

Posted on 21 August 2020 | 8:00 am


#277 10 tips every Django developer should know

We recently covered 10 tips that every Flask developer should know. But we left out a pretty big group in the Python web space: Django developers! And this one is for you. I invited Bob Belderbos, who's been running his SaaS business on Python and Django for several years now, to share his tips and tricks.

The 10 tips

  1. Django Admin
  2. ORM magic
  3. Models
  4. Debugging/Performance Toolbar
  5. Extending the User model
  6. Class based views (CBVs)
  7. manage.py
  8. Write your own middleware
  9. Config variable management with python-decouple and dj-database-url
  10. Built-in template tags and filters


Links from the show

Bob on Twitter: @bbelderbos
Code Challenges Platform: codechalleng.es
PyBites: pybit.es

Django admin: docs.djangoproject.com
Django admin cookbook: books.agiliq.com
Use some Django ORM magic to get the most common first names: twitter.com/pybites
Django custom manager: riptutorial.com
Debug toolbar: django-debug-toolbar.readthedocs.io
select_related: docs.djangoproject.com
Extending the user model / working with signals / @receiver: simpleisbetterthancomplex.com
Class-based views: docs.djangoproject.com
Comparing class and function-based views: github.com/talkpython/100daysofweb
Example of class-based views: github.com/talkpython/100daysofweb
Django command template: gist.github.com
Django middleware example: gist.github.com

Config settings management:
python-decouple: pypi.org
dj-database-url: pypi.org

Useful template tags and filters: docs.djangoproject.com

for-empty: gist.github.com
is_new filter example: gist.github.com
Asynchronous Tasks with Django and Celery: testdriven.io
Celery debugging - CELERY_ALWAYS_EAGER: twitter.com/pybites
secure.py: github.com/TypeError/secure.py
django-tinymce: github.com/aljosa

Extra tools Michael mentioned
BeeKeeper Studio: beekeeperstudio.io
SimpleMDE: simplemde.com
Human time to Python parse string site (the one I forgot): pystrftime.com

Sponsors

Linode
Talk Python Training


Audio Download

Posted on 10 August 2020 | 8:00 am


#276 Geekout: Life in the solar system and beyond

We're back with another GeekOut episode. Richard Campbell, a developer and podcaster who also dives deep into science and tech topics, is back for our second GeekOut episode. Last time we geeked out about the real science and progress around a moon base. This time it's why is there life on Earth, where could it be or have been in the solar system, and beyond.

In case you didn't catch the first GeekOut, episode 253, this one is more of a general science and tech episode. I love digging into the deep internals of all the tools of the Python space, but given all that is going on in the world, I thought it'd be fun to take a step back and just enjoy some fun geekery and give you all something to just sit back and let your mind dream.

Links from the show

Richard on Twitter: @richcampbell
All Richard's GeekOut Episodes: geekout.show
Moonbase Geekout Episode: talkpython.fm/253
High Altitude Venus Operational Concept (HAVOC): sacd.larc.nasa.gov
New Horizons: solarsystem.nasa.gov
The Planets: Saturn - NOVA documentary (Cassini): pbs.org
Mission to Jupiter - Galileo: jpl.nasa.gov

Sponsors

Brilliant
Talk Python Training


Audio Download

Posted on 6 August 2020 | 8:00 am


#275 Beautiful Pythonic Refactorings

Do you obsess about writing your code just the right way before you get started? Maybe you have some ugly code on your hands and you need to make it better. Either way, refactoring could be your ticket to happier days! On this episode, we'll talk through a powerful example of iteratively refactoring some code until we eventually turn our ugly duckling into a Pythonic beauty.

Conor Hoekstra is our guest on this episode to talk us through refactoring some web scraping code.

Links from the show

The PyCon talk: youtube.com
Presentation source code: github.com/codereport
Conor on Twitter: @code_report
Youtube channel: youtube.com/codereport
Perf example exceptions vs. test: gist.github.com/mikeckennedy
PyCon Online: us.pycon.org/2020/online
RAPIDS AI project: rapids.ai
Slides from presentation (with 9 refactoring steps): github.com/codereport
Talk Python episode on Sourcery: talkpython.fm/266

pip for venv only environment variable
PIP_REQUIRE_VIRTUALENV: docs.python-guide.org

Sponsors

Linode
Talk Python Training


Audio Download

Posted on 1 August 2020 | 8:00 am