
Episode 155
Checking Project Dependencies & Python Dev Resource Collections
The Real Python Podcast · Real Python
May 5, 202338m 9s
Audio is streamed directly from the publisher (dts.podtrac.com) as published in their RSS feed. Play Podcasts does not host this file. Rights-holders can request removal through the copyright & takedown page.
Show Notes
<p>How can you ensure that you’ve appropriately declared your project’s required dependencies? How do you determine what dependencies are missing from a third-party project that you can’t run? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder’s Weekly articles and projects.</p>
<p>We discuss a new Python dependency checker called FawltyDeps. The tool helps you determine if you’ve declared too few or too many packages for your project. </p>
<p>Christopher has brought several developer resource collections: a list of assured open-source Python packages from Google, test databases with interesting datasets, and multiple Django third-party packages. </p>
<p>We cover several other articles and projects from the Python community, including a news update, advice on how to pitch yourself as a guest to a podcast, how to submit articles and projects to PyCoders Weekly, PyPI’s introduction of trusted publishers and organizations, a tool for tracking package history, a pixel art paint program written in Python, and a project for efficient string matching with regular expressions.</p>
<div class="alert alert-primary" role="alert">
<p><strong>Course Spotlight:</strong> <a href="https://realpython.com/courses/pypi-publish-python-package/">Publishing Python Packages to PyPI</a></p>
<p>In this video course, you’ll learn how to create a Python package for your project and how to publish it to PyPI, the Python Package Index. Quickly get up to speed on everything from naming your package to configuring it using <code>setup.cfg</code>.</p>
</div>
<p>Topics:</p>
<ul>
<li>00:00:00 – Introduction</li>
<li>00:02:19 – PEP 684 – A Per-Interpreter GIL Accepted</li>
<li>00:03:59 – Python 3.10 Runtime Now Available in AWS Lambda</li>
<li>00:04:19 – PyCon US 2023 Follow Up</li>
<li>00:08:05 – Podcast Topic & Guest Submissions</li>
<li>00:13:45 – Submissions to PyCoders Weekly</li>
<li>00:16:49 – Google’s Assured OSS Python Packages</li>
<li>00:18:27 – Groovy Datasets for Test Databases</li>
<li>00:19:10 – Top 10 Django Third-Party Packages </li>
<li>00:20:27 – Video Course Spotlight</li>
<li>00:21:46 – FawltyDeps - A Dependency Checker for Your Python</li>
<li>00:26:58 – PyPI Introduces “Trusted Publishers”</li>
<li>00:28:27 – Introducing PyPI Organizations</li>
<li>00:29:02 – pypi-diff: PyPI Package History Tracking</li>
<li>00:30:29 – PyDPainter: A usable pixel art paint program written in Python</li>
<li>00:35:19 – trrex: Efficient String Matching With Regular Expressions</li>
<li>00:37:16 – Thanks and Goodbye</li>
</ul>
<p>News:</p>
<ul>
<li><a href="https://peps.python.org/pep-0684/">PEP 684 – A Per-Interpreter GIL Accepted</a></li>
<li><a href="https://aws.amazon.com/blogs/compute/python-3-10-runtime-now-available-in-aws-lambda/">Python 3.10 Runtime Now Available in AWS Lambda</a></li>
</ul>
<p>Show Links:</p>
<ul>
<li><a href="https://us.pycon.org/2023/">PyCon US 2023 - Follow Up</a></li>
<li><a href="https://realpython.com/podcasts/rpp/">The Real Python Podcast ([email protected])</a></li>
<li><a href="https://pycoders.com/submissions">PyCoder’s Weekly - Submit a Link</a></li>
<li><a href="https://cloud.google.com/assured-open-source-software/docs/supported-packages">Google’s Assured OSS Python Packages</a> – Google publishes a list of the open-source packages that it uses and secures within its own software supply chain. The list is public, so you can take advantage of their assessment.</li>
<li><a href="https://redis.com/blog/datasets-for-test-databases/">Groovy Datasets for Test Databases</a> – When you experiment with a new-to-you data science skill, you need some sort of data to work with. Why be boring? This article talks about several available datasets that you can use when you practice your coding skills.</li>
<li><a href="https://learndjango.com/tutorials/essential-django-3rd-party-packages">Top 10 Django Third-Party Packages</a> – Will covers a list of his favorite third-party packages for Django. This includes old favorites, like Django REST framework, and lesser-known packages, like django-filter and django-environ.</li>
<li><a href="https://www.tweag.io/blog/2023-03-14-announcing-fawltydeps/">FawltyDeps: A Dependency Checker for Your Python</a> – FawltyDeps is a new tool to help you identify undeclared and unused dependencies in your Python code, making your projects leaner and more reproducible.</li>
<li><a href="https://blog.pypi.org/posts/2023-04-20-introducing-trusted-publishers/">PyPI Introduces “Trusted Publishers”</a> – PyPI package maintainers can adopt a new, more secure, OIDC-authenticated publishing method that doesn’t require sharing long-lived passwords or API tokens with external systems.</li>
<li><a href="https://blog.pypi.org/posts/2023-04-23-introducing-pypi-organizations/">Introducing PyPI Organizations - The Python Package Index</a></li>
<li><a href="https://github.com/abbbi/pypi-diff">pypi-diff: PyPI Package History Tracking</a></li>
</ul>
<p>Projects</p>
<ul>
<li><a href="https://github.com/mriale/PyDPainter">PyDPainter: A usable pixel art paint program written in Python - GitHub</a></li>
<li><a href="https://github.com/mesejo/trex">trrex: Efficient String Matching With Regular Expressions</a></li>
</ul>
<p>Additional Links:</p>
<ul>
<li><a href="https://www.data-is-plural.com/">Data Is Plural</a></li>
<li><a href="https://github.com/tweag/FawltyDeps">FawltyDeps</a></li>
<li><a href="https://www.youtube.com/watch?v=GGfsSvbrb4o">Quick PyDPainter Demo - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=tnpiRPgu1Rs">Having a look at PyDPainter and comparing it to Deluxe Paint on the Amiga - YouTube</a></li>
</ul>
<p>Level up your Python skills with our expert-led courses:</p>
<ul>
<li><a href="https://realpython.com/courses/packaging-with-pyproject-toml/">Everyday Project Packaging With pyproject.toml</a></li>
<li><a href="https://realpython.com/courses/pypi-publish-python-package/">Publishing Python Packages to PyPI</a></li>
<li><a href="https://realpython.com/courses/python-sphinx/">Documenting Python Projects With Sphinx and Read the Docs</a></li>
</ul> <p><a rel="payment" href="https://realpython.com/join">Support the podcast & join our community of Pythonistas</a></p>