Have you wanted to work with PDF files in Python? Maybe you want to extract text, merge and concatenate files, or even create PDFs from scratch. Are you interested in building hardware projects using a Raspberry Pi? This week on the show we have David Amos from the Real Python team to discuss his recent article on working with PDFs. David also brings a few other articles from the wider Python community for us to discuss.

David searches for the latest Python news, links, and articles to produce PyCoder’s Weekly with Dan Bader. PyCoder’s Weekly is a free email newsletter for those interested in Python development. Along with David’s article on PDFs, we discuss another recent Real Python article about building physical projects with the Raspberry Pi. We also discuss articles from the community about: the PEPs of Python 3.9, why you should stop using datetime.now, Python dependency tools, and several ways to pass code to Python from the terminal.

Course Spotlight: Cool New Features in Python 3.8

This course will get you up to speed with the new features of the latest release of Python. You’ll learn about using assignment expressions, how to enforce postional-only arguments, more precise type hints, and using f-strings for simpler debugging. It’s a worthy investment of your time to understand what the most recent release of Python provides before moving on to the next version this fall.


  • 00:00:00 – Introduction
  • 00:02:06 – Ways to Pass Code to Python From the Terminal
  • 00:05:54 – The PEPs of Python 3.9
  • 00:10:54 – Creating and Modifying PDF Files in Python
  • 00:18:51 – Video Course Spotlight
  • 00:19:56 – An Overview of Python Dependency Tools
  • 00:26:55 – Stop Using datetime.now
  • 00:31:44 – Build Physical Projects With Python on the Raspberry Pi
  • 00:38:18 – What are you excited about in the world of Python?
  • 00:42:29 – What do you want to learn next in Python?
  • 00:44:31 – Thanks and Good Bye

Topic Links:

PyCoder’s Weekly

The Many Ways to Pass Code to Python From the Terminal – You might know about pointing Python to a file path, or using -m to execute a module. But did you know that Python can execute a directory? Or a .zip file?

The PEPs of Python 3.9 – The first Python 3.9 beta release is upon us! Learn what to expect in the final October release by taking a tour of the Python Enhancement Proposals (PEPs) that were accepted for Python 3.9.

Creating and Modifying PDF Files in Python – Explore the different ways of creating and modifying PDF files in Python. You’ll learn how to read and extract text, merge and concatenate files, crop and rotate pages, encrypt and decrypt files, and even create PDFs from scratch.

Overview of Python Dependency Management Tools – While pip is often considered the de facto Python package manager, the dependency management ecosystem has really grown over that last few years. Learn about the different tools available and how they fit into this ecosystem.

Stop Using datetime.now! (With Dependency Injection) – How do you test a function that relies on datetime.now() or date.today()? You could use libraries like FreezeGun or libfaketime, but not every project can afford the luxury of reaching for third-party solutions. Learn how dependency injection can help you write code that is more testable, maintainable, and practical.

Build Physical Projects With Python on the Raspberry Pi – In this tutorial, you’ll learn to use Python on the Raspberry Pi. The Raspberry Pi is one of the leading physical computing boards on the market and a great way to get started using Python to interact with the physical world.

Additional Links:

Support the podcast & join our community of Pythonistas