├── LICENSE └── README.md /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Antonio A. (He/Him) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # TalkPython['Podcast'] Compilation of Notable PyPI Packages 2 | 3 | 👋 I love listening [Talk Python To Me Podcast](https://talkpython.fm/), a weekly podcast hosted by [Michael Kennedy](https://twitter.com/mkennedy) dedicated to the people and ideas in Python. The show covers a wide array of Python topics as well as many related topics (e.g. MongoDB, AngularJS, DevOps). He has a casual 45 minute conversation with industry experts. At the end of each episode, Michael asks two questions: 4 | 5 | 1. If you're going to write some Python code. What editor do you use? 6 | 2. Any notable PyPI (or Conda and sometimes npm) package? 7 | 8 | This is a community & unofficial compilation of those amazing Notable PyPI (or Conda) Python Packages highligted at the end of the show. 9 | 10 | Don't forget to hit the star ⭐ button if you like this project and would love to see updates. 11 | 12 | ## Thanks for sharing 13 | 14 | Share this project on Twitter: ![image](https://user-images.githubusercontent.com/12855744/167770565-0c8acce1-fe9d-440b-a93c-e57630a824c2.png) 15 | 16 | ## Contribute 17 | Pull requests welcome! Feature requests / bugs will be addressed through issues on this repository. While not every feature request will necessarily be handled by me, maintaining a record for interested contributors is useful. 18 | 19 | Additionally, feel free to submit pull requests which add features or address bugs yourself. 20 | 21 | 22 | # 2022 23 | 24 | ## [Episode 386](https://talkpython.fm/episodes/show/386/realtime-web-apps-and-dashboards-with-h2o-wave) 25 | 26 | - Title: Realtime Web Apps and Dashboards with H2O Wave 27 | - Published Wed, Oct 19, 2022, recorded Mon, Oct 3, 2022. 28 | - Guest: Martin Turoci on Twitter [@unusual_code](https://twitter.com/unusual_code) 29 | 30 | 1. **Playwright** - *A high-level API to automate web browsers.* [PyPi](https://pypi.org/project/playwright) | [Website](https://playwright.dev/) | [Source Code](https://github.com/microsoft/playwright) 31 | 32 | 🎭 33 | 34 | Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API. Playwright is built to enable cross-browser web automation that is ever-green, capable, reliable and fast. 35 | 36 | ## [Episode 385](https://talkpython.fm/episodes/show/385/higher-level-python-asyncio-with-anyio) 37 | 38 | - Title: Higher level Python asyncio with AnyIO 39 | - Published Sat, Oct 15, 2022, recorded Thu, Sep 29, 2022. 40 | - Guest: Alex Grönholm on GitHub [@agronholm](https://github.com/agronholm) 41 | 42 | 1. **Trio** - *A friendly Python library for async concurrency and I/O.* [PyPi](https://pypi.org/project/trio) | [Website](https://trio.readthedocs.io/en/stable/) | [Source Code](https://github.com/python-trio/trio) 43 | 44 | 45 | 46 | The Trio project aims to produce a production-quality, permissively licensed, async/await-native I/O library for Python. Like all async libraries, its main purpose is to help you write programs that do multiple things at the same time with parallelized I/O. A web spider that wants to fetch lots of pages in parallel, a web server that needs to juggle lots of downloads and websocket connections simultaneously, a process supervisor monitoring multiple subprocesses... that sort of thing. Compared to other libraries, Trio attempts to distinguish itself with an obsessive focus on usability and correctness. Concurrency is complicated; we try to make it easy to get things right. 47 | 48 | 2. **Poetry** - *Python packaging and dependency management made easy.* [PyPi](https://pypi.org/project/poetry/) | [Website](https://github.com/python-poetry/poetry) | [Source Code](https://github.com/python-poetry/poetry) 49 | 50 | Poetry helps you declare, manage and install dependencies of Python projects, ensuring you have the right stack everywhere. 51 | 52 | 53 | ## [Episode 384](https://talkpython.fm/episodes/show/384/python-data-visualization-where-to-start) 54 | 55 | - Title: Python Data Visualization - Where To Start? 56 | - Published Tue, Oct 4, 2022, recorded Wed, Sep 28, 2022. 57 | - Guest: Chris Moffitt on Twitter [@chris1610](https://twitter.com/chris1610) 58 | 59 | 1. **Splink** - *Fast probabilistic data linkage at scale.* [PyPi](https://pypi.org/project/splink/) | [Website](https://moj-analytical-services.github.io/splink/) | [Source Code](https://github.com/moj-analytical-services/splink) 60 | 61 | 62 | 63 | Fast, accurate and scalable probabilistic data linkage using your choice of SQL backend 64 | 65 | 2. **Redframes** - *General Purpose Data Manipulation Library.* [PyPi](https://pypi.org/project/redframes/) | [Website](https://github.com/maxhumber/redframes) | [Source Code](https://github.com/maxhumber/redframes) 66 | 67 | 68 | 69 | redframes (rectangular data frames) is a general purpose data manipulation library that prioritizes syntax, simplicity, and speed (to a solution). Importantly, the library is fully interoperable with pandas, compatible with scikit-learn, and works great with matplotlib. 70 | 71 | 72 | ## [Episode 383](https://talkpython.fm/episodes/show/383/textinator-and-building-macos-apps-with-python) 73 | 74 | - Title: Textinator and Building macOS Apps with Python 75 | - Published Wed, Sep 28, 2022, recorded Sun, Sep 25, 2022. 76 | - Guest: Rhet Turnbull on Twitter [@RhetTurnbull](https://twitter.com/RhetTurnbull) 77 | 78 | 1. **Textinator** - *Simple macOS StatusBar / menu bar app.* PyPi | Website | [Source Code](https://github.com/RhetTbull/textinator) 79 | 80 | 81 | 82 | Simple macOS StatusBar / menu bar app to perform automatic text detection on screenshots. 83 | 84 | 85 | ## [Episode 382](https://talkpython.fm/episodes/show/382/apache-superset-modern-data-exploration-platform) 86 | 87 | - Title: Apache Superset: Modern Data Exploration Platform 88 | - Published Thu, Sep 22, 2022, recorded Mon, Sep 19, 2022. 89 | - Guest: Maxime Beauchemin on Twitter [@mistercrunch](https://twitter.com/mistercrunch) 90 | 91 | 1. **sqlfluff ** - *The SQL Linter for Humans.* [PyPi](https://pypi.org/project/sqlfluff/) | [Website](https://www.sqlfluff.com/) | [Source Code](https://github.com/alanmcruickshank/sqlfluff) 92 | 93 | 94 | 95 | SQLFluff is a dialect-flexible and configurable SQL linter. Designed with ELT applications in mind, SQLFluff also works with Jinja templating and dbt. SQLFluff will auto-fix most linting errors, allowing you to focus your time on what matters. 96 | 97 | 98 | ## [Episode 381](https://talkpython.fm/episodes/show/381/python-perf-specializing-adaptive-interpreter) 99 | 100 | - Title: Python Perf: Specializing, Adaptive Interpreter 101 | - Published Fri, Sep 16, 2022, recorded Thu, Sep 15, 2022. 102 | - Guest: Brandt Bucher on GitHub [@brandtbucher](https://github.com/brandtbucher/) 103 | 104 | 1. **PyMTL 3 (Mamba)** - *A Python-based hardware generation, simulation, and verification framework.* [PyPi](https://pypi.org/project/pymtl3/) | [Website](https://github.com/pymtl/pymtl3) | [Source Code](https://github.com/pymtl/pymtl3) 105 | 106 | PyMTL3 (Mamba) is the latest version of PyMTL, an open-source Python-based hardware generation, simulation, and verification framework with multi-level hardware modeling support. The original PyMTL was introduced at MICRO-47 in December, 2014. Please note that PyMTL 3 is currently beta software that is under active development and documentation is currently quite sparse. 107 | 108 | 109 | ## [Episode 380](https://talkpython.fm/episodes/show/380/7-lessons-from-building-a-modern-tui-framework) 110 | 111 | - Title: 7 lessons from building a modern TUI framework 112 | - Published Mon, Sep 5, 2022, recorded Mon, Sep 5, 2022. 113 | - Guest: Will McGugan on Twitter [@willmcgugan](https://twitter.com/willmcgugan) 114 | 115 | 1. **prompt-toolkit** - *Library for building powerful interactive command lines in Python.* [PyPi](https://pypi.org/project/prompt-toolkit/) | [Website](https://python-prompt-toolkit.readthedocs.io/en/master/) | [Source Code](https://github.com/prompt-toolkit/python-prompt-toolkit) 116 | 117 | 118 | 119 | `prompt_toolkit` is a library for building powerful interactive command line applications in Python. 120 | 121 | 122 | ## [Episode 379](https://talkpython.fm/episodes/show/379/17-libraries-you-should-be-using-in-django) 123 | 124 | - Title: 17 Libraries You Should Be Using in Django 125 | - Published Fri, Aug 26, 2022, recorded Mon, Aug 22, 2022. 126 | - Guest: Christopher Trudeau on Twitter [@cltrudeau](https://twitter.com/cltrudeau) 127 | 128 | **Asciimatics** - *A cross platform package to do curses-like operations, plus higher level APIs and widgets to create text UIs and ASCII art animations.* [PyPi](https://pypi.org/project/Asciimatics) | [Website](http://asciimatics.readthedocs.org/) | [Source Code](https://github.com/peterbrittain/asciimatics) 129 | 130 | 131 | 132 | Asciimatics is a package to help people create full-screen text UIs (from interactive forms to ASCII animations) on any platform. It is licensed under the Apache Software Foundation License 2.0. 133 | 134 | 135 | ## [Episode 378](https://talkpython.fm/episodes/show/378/flet-flutter-apps-in-python) 136 | 137 | - Title: Flet: Flutter apps in Python 138 | - Published Sun, Aug 21, 2022, recorded Thu, Aug 18, 2022. 139 | - Guest: Feodor Fitsner on [GitHub](https://github.com/FeodorFitsner) 140 | 141 | 1. **Flet** - *Flet for Python - easily build interactive multi-platform apps in Python.* [PyPi](https://pypi.org/project/flet/) | [Website](https://flet.dev/docs/) | [Source Code](https://github.com/flet-dev/flet) 142 | 143 | 144 | 145 | Flet is a framework that enables you to easily build realtime web, mobile and desktop apps in your favorite language and securely share them with your team. No frontend experience required. 146 | 147 | ## [Episode 377](https://talkpython.fm/episodes/show/377/python-packaging-and-pypi-in-2022) 148 | 149 | - Title: Python Packaging and PyPI in 2022 150 | - Published Sat, Aug 13, 2022, recorded Thu, Aug 11, 2022. 151 | - Guest: Dustin Ingram on Twitter [@di_codes](https://twitter.com/di_codes) 152 | 153 | 1. **pip-audit** - *A tool for scanning Python environments for known vulnerabilities.* [PyPi](https://pypi.org/project/pip-audit/) | [Website](https://github.com/trailofbits/pip-audit) | [Source Code](https://github.com/trailofbits/pip-audit) 154 | 155 | 156 | `pip-audit` is a tool for scanning Python environments for packages with known vulnerabilities. It uses the Python Packaging Advisory Database (https://github.com/pypa/advisory-database) via the PyPI JSON API as a source of vulnerability reports. 157 | 158 | 159 | ## [Episode 376](https://talkpython.fm/episodes/show/376/pydantic-v2-the-plan) 160 | 161 | - Title: Pydantic v2 - The Plan 162 | - Published Thu, Aug 4, 2022, recorded Thu, Aug 4, 2022. 163 | - Guest: Samuel Colvin on Twitter [@samuel_colvin](https://twitter.com/samuel_colvin) 164 | 165 | notable PyPI or even cargo package, I suppose. Whatever you want to shout out to some external library out there that you think is pretty cool. 01:15:35 It's not going to be particularly interesting because we talked about it already, but PyO3, I'm like, forever impressed by what these guys have done, and obviously they've made what I'm working on here possible, and they've been really helpful for me when I've asked dumb Rust questions. So, yeah, thank you to them. And if you're ever thinking about getting into Rust, doing it from Python is a really neat way where, when you can't work out what the hell is going on, you can kind of fall back to Python. Sometimes 166 | 167 | 1. **PyO3** - *Rust bindings for Python.* PyPi | [Website](https://pyo3.rs/v0.17.1/#the-pyo3-user-guide) | [Source Code](https://github.com/PyO3/PyO3) 168 | 169 | 170 | 171 | PyO3 can be used to write a native Python module in Rust, or to embed Python in a Rust binary. The following sections explain each of these in turn. PyO3 can be used to generate a native Python module. The easiest way to try this out for the first time is to use maturin. maturin is a tool for building and publishing Rust-based Python packages with minimal configuration. 172 | 173 | 174 | ## [Episode 375](https://talkpython.fm/episodes/show/375/python-language-summit-2022) 175 | 176 | - Title: Python Language Summit 2022 177 | - Published Sat, Jul 30, 2022, recorded Wed, Jun 29, 2022. 178 | - Guest: Alex Waygood on Twitter [@alexwaygood](https://twitter.com/alexwaygood) 179 | 180 | 1. **Specialist** - *Visualize CPython 3.11's specializing, adaptive interpreter.* [PyPi](https://pypi.org/project/specialist/) | [Website](https://github.com/brandtbucher/specialist) | [Source Code](https://github.com/brandtbucher/specialist) 181 | 182 | 183 | 184 | Specialist uses fine-grained location information to create visual representations of exactly where and how CPython 3.11's new specializing, adaptive interpreter optimizes your code. While CPython 3.11 is running your code, it identifies "hot" regions that are being run often enough to spend time optimizing. It occasionally "quickens" these regions, which specialist represents using color. Dark, rich colors indicate code with many quickened instructions (and, therefore, high specialization potential), while light, pale colors indicate code with relatively few specialization opportunities. 185 | 186 | 187 | ## [Episode 374](https://talkpython.fm/episodes/show/374/psf-survey-in-review) 188 | 189 | - Title: PSF Survey in Review 190 | - Published Wed, Jul 20, 2022, recorded Thu, Jun 30, 2022. 191 | - Guests: Emily Morehouse-Valcarcel on Twitter [@emilyemorehouse](https://twitter.com/emilyemorehouse) | Paul Everitt on Twitter [@paulweveritt](https://twitter.com/paulweveritt) | Tonya Sims on Twitter [@TonyaSims](https://twitter.com/TonyaSims) | Brett Cannon on Twitter [@brettsky](https://twitter.com/brettsky) | Gina Häußge on Twitter [@foosel](https://twitter.com/foosel) | Jay Miller on Twitter [@kjaymiller](https://twitter.com/kjaymiller) 192 | 193 | No time for the two questions, but it was a quite interesting episode. 194 | 195 | 196 | ## [Episode 373](https://talkpython.fm/episodes/show/373/reinventing-azures-python-cli) 197 | 198 | - Title: Reinventing Azure's Python CLI 199 | - Published Tue, Jul 12, 2022, recorded Thu, May 12, 2022. 200 | - Guests: AnthonyS haw on Twitter [@anthonypjshaw](https://twitter.com/anthonypjshaw) | Shayne Boyer on Twitter [@spboyer](https://twitter.com/spboyer) 201 | 202 | **Beanie** - *Asynchronous Python object-document mapper (ODM) for MongoDB.* [PyPi](https://pypi.org/project/beanie) | [Website](https://github.com/roman-right/beanie) | [Source Code](https://github.com/roman-right/beanie) 203 | 204 | 205 | 206 | Asynchronous Python object-document mapper (ODM) for MongoDB, based on Motor and Pydantic. 207 | 208 | 209 | ## [Episode 372](https://talkpython.fm/episodes/show/372/applied-mathematics-with-python) 210 | 211 | - Title: Applied mathematics with Python 212 | - Published Fri, Jul 8, 2022, recorded Wed, Jun 29, 2022. 213 | - Guests: Geraint on Twitter [@geraintpalmer](https://twitter.com/geraintpalmer) | Vince on Twitter [@drvinceknight](https://twitter.com/drvinceknight) 214 | 215 | 1. **python-ternary** - *Make ternary plots in python with matplotlib.* [PyPi](https://pypi.org/project/python-ternary/) | [Website](https://github.com/marcharper/python-ternary) | [Source Code](https://github.com/marcharper/python-ternary) 216 | 217 | 218 | 219 | This is a plotting library for use with matplotlib to make ternary plots plots in the two dimensional simplex projected onto a two dimensional plane. The library provides functions for plotting projected lines, curves (trajectories), scatter plots, and heatmaps. 220 | 221 | 2. **traces** - *A Python library for unevenly-spaced time series analysis.* [PyPi](https://pypi.org/project/python-ternary/) | [Website](https://traces.readthedocs.io/en/latest/) | [Source Code](https://github.com/datascopeanalytics/traces) 222 | 223 | 224 | 225 | A Python library for unevenly-spaced time series analysis.Taking measurements at irregular intervals is common, but most tools are primarily designed for evenly-spaced measurements. Also, in the real world, time series have missing observations or you may have multiple series with different frequencies: it's can be useful to model these as unevenly-spaced. 226 | 227 | Traces was designed by the team at Datascope based on several practical applications in different domains, because it turns out unevenly-spaced data is actually pretty great, particularly for sensor data analysis. 228 | 229 | 230 | ## [Episode 371](https://talkpython.fm/episodes/show/371/pipx-installable-isolated-python-applications) 231 | 232 | - Title: pipx - Installable, Isolated Python Applications 233 | - Published Thu, Jun 30, 2022, recorded Wed, Jun 22, 2022. 234 | - Guest: Chad Smith on Twitter [@cs01_software](https://twitter.com/cs01_software) 235 | 236 | 1. **mkdocstrings** - *Automatic documentation from sources, for MkDocs.* [PyPi](https://pypi.org/project/mkdocstrings) | [Website](https://mkdocstrings.github.io/) | [Source Code](https://github.com/mkdocstrings/mkdocstrings) 237 | 238 | 239 | 240 | **mkdocstrings** enables auto-generated docs from your Python source code. The library is written in Python but is language-agnostic. It means you can use it with any programming language, as long as there is a handler for it. mkdocstrings makes it possible to reference headings in other Markdown files with the classic Markdown linking syntax. 241 | 242 | 243 | ## [Episode 370](https://talkpython.fm/episodes/show/370/openbb-pythons-open-source-investment-platform) 244 | 245 | - Title: OpenBB: Python's Open-source Investment Platform 246 | - Published Wed, Jun 22, 2022, recorded Thu, Jun 9, 2022. 247 | - Guest: James Maslek on [LinkedIn](https://www.linkedin.com/in/james-maslek/) 248 | 249 | 250 | 1. **rich** - *Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal.* [PyPi](https://pypi.org/project/rich) | [Homepage](https://rich.readthedocs.io/en/latest/) | [Source Code](https://github.com/willmcgugan/rich) 251 | 252 | 253 | 254 | Rich is a Python library for rich text and beautiful formatting in the terminal. The Rich API makes it easy to add color and style to terminal output. Rich can also render pretty tables, progress bars, markdown, syntax highlighted source code, tracebacks, and more** - * out of the box. Hey, don't forget to try: ```from rich import print```, most welcome 😎 255 | 256 | 257 | 258 | 259 | ## [Episode 369](https://talkpython.fm/episodes/show/369/getting-lazy-with-python-imports-and-pep-690) 260 | 261 | - Title: Getting Lazy with Python Imports and PEP 690 262 | - Published Thu, Jun 16, 2022, recorded Fri, Jun 3, 2022. 263 | - Guests: Carl Meyer on Twitter [@carljm](https://twitter.com/carljm) | Barry Warsaw on Twitter [@pumpichank](https://twitter.com/pumpichank) | Germán Méndez Bravo on Twitter [@germbravo](https://twitter.com/germbravo) 264 | 265 | 1. **Pyre** - *A performant type checker for Python.* [PyPi](https://pypi.org/project/pyre-check/) | [Website](https://pyre-check.org/) | [Source Code](https://github.com/facebook/pyre-check) 266 | 267 | 268 | 269 | Pyre is a performant type checker for Python compliant with [PEP 484](https://peps.python.org/pep-0484/). Pyre can analyze codebases with millions of lines of code incrementally providing instantaneous feedback to developers as they write code. You can try it out on examples in the Pyre Playground. Pyre ships with Pysa, a security focused static analysis tool we've built on top of Pyre that reasons about data flows in Python applications. 270 | 271 | 2. **μsort** - *A small, safe import sorter.* [PyPi](https://pypi.org/project/usort/) | [Website](https://usort.readthedocs.io/en/stable/) | [Source Code](https://github.com/facebookexperimental/usort) 272 | 273 | ``` 274 | # future imports 275 | from __future__ import annotations 276 | 277 | # standard library 278 | import re 279 | import sys 280 | from datetime import date, datetime, timedelta 281 | from pathlib import Path 282 | from unittest import expectedFailure, TestCase, skip 283 | 284 | # third-party 285 | import requests 286 | from attr import dataclasses 287 | from honesty.api import download_many 288 | 289 | # first-party 290 | from something import other_function, some_function 291 | from . import some_module 292 | from .other_module import SomeClass, some_thing, TestFixture 293 | ``` 294 | 295 | μsort is a safe, minimal import sorter. Its primary goal is to make no "dangerous" changes to code. This is achieved by detecting distinct "blocks" of imports that are the most likely to be safely interchangeable, and only reordering imports within these blocks without altering formatting. Code style is left as an exercise for linters and formatters. Within a block, µsort will follow common Python conventions for grouping imports based on source (standard library, third-party, first-party, or relative), and then sorting lexicographically within each group. 296 | 297 | 298 | 3. **PDM** - *Python Development Master.* [PyPi](https://pypi.org/project/pdm/) | [Website](https://github.com/pdm-project/pdm) | [Source Code](https://github.com/pdm-project/pdm) 299 | 300 | 301 | 302 | PDM is meant to be a next generation Python package management tool. It was originally built for personal use. If you feel you are going well with Pipenv or Poetry and don't want to introduce another package manager, just stick to it. But if you are missing something that is not present in those tools, you can probably find some goodness in pdm. 303 | 304 | 305 | ## [Episode 368](https://talkpython.fm/episodes/show/368/end-to-end-web-testing-with-playwright) 306 | 307 | - Title: End-to-End Web Testing with Playwright 308 | - Published Fri, Jun 3, 2022, recorded Thu, May 12, 2022. 309 | - Guest: Andrew Knight on Twitter [@AutomationPanda](https://twitter.com/AutomationPanda) 310 | 311 | 1. **Playwright** - *A high-level API to automate web browsers.* [PyPi](https://pypi.org/project/playwright/) | [Website](https://playwright.dev/) | [Source Code](https://github.com/microsoft/playwright) 312 | 313 | 314 | 315 | Playwright is a Python library to automate Chromium, Firefox and WebKit browsers with a single API. Playwright delivers automation that is ever-green, capable, reliable and fast. See how Playwright is better. 316 | 317 | 318 | ## [Episode 367](https://talkpython.fm/episodes/show/367/say-hello-to-pyscript-webassembly-python) 319 | 320 | - Title: Say Hello to PyScript (WebAssembly Python) 321 | - Published Wed, May 25, 2022, recorded Thu, May 12, 2022. 322 | - Guest: Fabio Pliger on Twitter [@b_smoke](https://twitter.com/b_smoke) 323 | 324 | 1. **Pyodide** - *A Python distribution for the browser and Node.js based on WebAssembly.* [PyPi](https://pypi.org/project/pyodide) | [Website](https://pyodide.org/en/stable/) | [Source Code](https://github.com/pyodide/pyodide) 325 | 326 | 327 | 328 | Pyodide is a port of CPython to WebAssembly/Emscripten. It makes it possible to install and run Python packages in the browser with micropip. Any pure Python package with a wheel available on PyPI is supported. Many packages with C extensions have also been ported for use with Pyodide. These include many general-purpose packages such as regex, pyyaml, lxml and scientific Python packages including numpy, pandas, scipy, matplotlib, and scikit-learn. 329 | 330 | Pyodide comes with a robust Javascript ⟺ Python foreign function interface so that you can freely mix these two languages in your code with minimal friction. This includes full support for error handling (throw an error in one language, catch it in the other), async/await, and much more. 331 | 332 | 333 | ## [Episode 366](https://talkpython.fm/episodes/show/366/optimizing-postgresql-db-queries-with-pgmustard) 334 | 335 | - Title: Optimizing PostgreSQL DB Queries with pgMustard 336 | - Published Fri, May 20, 2022, recorded Wed, May 11, 2022. 337 | - Guest: Michael Christofides on Twitter [@michristofides](https://twitter.com/michristofides) 338 | 339 | 1. **arctype** - *SQL client and database management tool.* [Website](https://docs.arctype.com/) 340 | 341 | 342 | 343 | Not a Python package, but a fast and easy-to-use SQL client for developers and teams. 344 | 345 | 346 | ## [Episode 365](https://talkpython.fm/episodes/show/365/solving-negative-engineering-problems-with-prefect) 347 | 348 | - Title: Solving Negative Engineering Problems with Prefect 349 | - Published Thu, May 12, 2022, recorded Mon, May 9, 2022. 350 | - Guest: Chris White on Twitter [@markov_gainz](https://twitter.com/markov_gainz) 351 | 352 | 1. **rich** - *Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal.* [PyPi](https://pypi.org/project/rich) | [Homepage](https://rich.readthedocs.io/en/latest/) | [Source Code](https://github.com/willmcgugan/rich) 353 | 354 | 355 | 356 | Rich is a Python library for rich text and beautiful formatting in the terminal. The Rich API makes it easy to add color and style to terminal output. Rich can also render pretty tables, progress bars, markdown, syntax highlighted source code, tracebacks, and more** - * out of the box. Hey, don't forget to try: ```from rich import print```, most welcome 😎 357 | 358 | 359 | 360 | 361 | 2. **textual** - *Text User Interface using Rich.* [PyPi](https://pypi.org/project/textual/) | [Homepage](https://github.com/Textualize/textual) | [Source Code](https://github.com/Textualize/textual) 362 | 363 | 364 | 365 | Textual is a TUI (Text User Interface) framework for Python inspired by modern web development. Currently a Work in Progress. 366 | 367 | 368 | ## [Episode 364](https://talkpython.fm/episodes/show/364/symbolic-math-with-python-using-sympy) 369 | 370 | - Title: Symbolic Math with Python using SymPy 371 | - Published Sat, May 7, 2022, recorded Fri, May 6, 2022. 372 | - Guests: Aaron Meurer on Twitter [@asmeurer](https://twitter.com/asmeurer) | Ondrej Certik on Twitter [@OndrejCertik](https://twitter.com/OndrejCertik) 373 | 374 | Package: **Hypothesis** - *Library for property-based testing.* [PyPi](https://pypi.org/project/hypothesis/) | [Website](https://hypothesis.works/) | [Source Code](https://github.com/HypothesisWorks/hypothesis) 375 | 376 | 377 | 378 | `Hypothesis` is an advanced testing library for Python. It lets you write tests which are parametrized by a source of examples, and then generates simple and comprehensible examples that make your tests fail. This lets you find more bugs in your code with less work. Hypothesis is a powerful, flexible, and easy to use library for property-based testing. 379 | 380 | 381 | ## [Episode 363](https://talkpython.fm/episodes/show/363/python-for-.net-and-c-developers) 382 | 383 | - Title: Python for .NET and C# developers 384 | - Published Thu, Apr 28, 2022, recorded Wed, Apr 13, 2022. 385 | - Guest: Cecil Phillip on Twitter [@cecilphillip](https://twitter.com/cecilphillip) 386 | 387 | 1. **scikit-learn** - *Simple and efficient tools for predictive data analysis.* [PyPi](https://pypi.org/project/scikit-learn/) | [Website](https://scikit-learn.org/stable/) | [Source Code](https://github.com/scikit-learn/scikit-learn) 388 | 389 | 390 | 391 | `scikit-learn` is a Python module for machine learning built on top of NumPy, SciPy, and matplotlib and is distributed under the 3-Clause BSD license (Open source & commercially usable). The project was started in 2007 by David Cournapeau as a Google Summer of Code project, and since then many volunteers have contributed. Simple and efficient tools for predictive data analysis 392 | 393 | 394 | ## [Episode 362](https://talkpython.fm/episodes/show/362/hypermodern-python-projects) 395 | 396 | - Title: Hypermodern Python Projects 397 | - Published Wed, Apr 20, 2022, recorded Wed, Apr 6, 2022. 398 | - Guest: Claudio Jolowicz on Twitter [@cjolowicz](https://twitter.com/cjolowicz) 399 | 400 | 1. **Typeguard** - *Run-time type checker for Python.* [PyPi](https://pypi.org/project/typeguard/) | [Website](https://typeguard.readthedocs.io/en/latest/) | [Source Code](https://github.com/agronholm/typeguard) 401 | 402 | 403 | 404 | `Typeguard` library provides run-time type checking for functions defined with PEP 484 argument (and return) type annotations. 405 | 406 | 407 | ## [Episode 361](https://talkpython.fm/episodes/show/361/pangeo-data-ecosystem) 408 | 409 | - Title: Pangeo Data Ecosystem 410 | - Published Sat, Apr 16, 2022, recorded Fri, Apr 1, 2022. 411 | - Guests: Ryan Abernathey on Twitter [@rabernat](https://twitter.com/rabernat) | Joe Hamman on Twitter [@HammanHydro](https://twitter.com/HammanHydro) 412 | 413 | 1. **fsspec** - *Filesystem interfaces for Python.* [PyPi](https://pypi.org/project/fsspec/) | [Homepage](https://filesystem-spec.readthedocs.io/en/latest/) | [Source Code](https://github.com/intake/filesystem_spec) 414 | 415 | Filesystem Spec (fsspec) is a project to provide a unified pythonic interface to local, remote and embedded file systems and bytes storage. As described, treat a remote database as a local file! 416 | 417 | 2. **pangeo-forge** - *Pipeline tools for building and publishing analysis ready datasets.* [PyPi](https://pypi.org/project/pangeo-forge/) | [Homepage](https://pangeo-forge.org/) | [Source Code](https://github.com/pangeo-forge/pangeo-forge-recipes) 418 | 419 | 420 | 421 | `Pangeo Forge` is an open source platform for data Extraction, Transformation, and Loading (ETL). The goal of Pangeo Forge is to make it easy to extract data from traditional data repositories and deposit in cloud object storage in analysis-ready, cloud-optimized (ARCO) format. Pangeo Forge is inspired directly by Conda Forge, a community-led collection of recipes for building conda packages. We hope that Pangeo Forge can play the same role for datasets. 422 | 423 | 424 | ## [Episode 360](https://talkpython.fm/episodes/show/360/removing-pythons-dead-batteries-in-just-5-years) 425 | 426 | - Title: Removing Python's Dead Batteries (in just 5 years) 427 | - Published Fri, Apr 8, 2022, recorded Tue, Mar 29, 2022. 428 | - Guests: Brett Cannon [@brettsky](https://twitter.com/brettsky) | Christian Heimes [@ChristianHeimes](https://twitter.com/ChristianHeimes) 429 | 430 | 431 | 1. **wasmtime** - *A WebAssembly runtime powered by Wasmtime.* [PyPi](https://pypi.org/project/wasmtime/) | [Website](https://github.com/bytecodealliance/wasmtime-py) | [Source Code](https://github.com/bytecodealliance/wasmtime-py) 432 | 433 | 434 | 435 | `Wasmtime` is a standalone JIT-style runtime for WebAssembly, using Cranelift. This package is the WebAssembly runtime powered by Wasmtime. 436 | 437 | 2. **antigravity** - *A really simple module that allow everyone to do "import antigravity".* 438 | 439 | 440 | 441 | Some good reading here http://python-history.blogspot.com/2010/06/import-antigravity.html 442 | 443 | 444 | ## [Episode 359](https://talkpython.fm/episodes/show/359/lifecycle-of-a-machine-learning-project) 445 | 446 | - Title: Lifecycle of a machine learning project 447 | - Published Sun, Apr 3, 2022, recorded Tue, Mar 22, 2022. 448 | - Guests: Demetrios on Twitter [@DPBrinkm](https://twitter.com/DPBrinkm) | Kate Kuznecova | Vishnu Rachakonda 449 | 450 | 451 | 452 | Great episode, but no time to share notable package. However, Kate shared a trick to run Jupyter Notebook like cells into any ```.py``` file in VSCode. For this, after instaling the Jupyter extension, you need to write ```# %%``` above the lines you would like to excecute. Right after, you can run the code as a cell. More infor [here](https://code.visualstudio.com/docs/python/jupyter-support-py). 453 | 454 | ## [Episode 358](https://talkpython.fm/episodes/show/358/understanding-pandas-visually-with-pandastutor) 455 | 456 | - Title: Understanding Pandas visually with PandasTutor 457 | - Published Fri, Mar 25, 2022, recorded Mon, Feb 28, 2022. 458 | - Guest: Sam Lau on Twitter [@samlau95](https://twitter.com/samlau95) 459 | 460 | 1. **tqdm** - *Fast, Extensible Progress Meter.* [PyPi](https://pypi.org/project/tqdm) | [Website](https://tqdm.github.io/) | [Source Code](https://github.com/tqdm/tqdm) 461 | 462 | 463 | 464 | `tqdm` derives from the Arabic word taqaddum (تقدّم) which can mean "progress," and is an abbreviation for "I love you so much" in Spanish (te quiero demasiado). Instantly make your loops show a smart progress meter - just wrap any iterable with tqdm(iterable), and you're done! 465 | 466 | 467 | ## [Episode 357](https://talkpython.fm/episodes/show/357/python-and-the-james-webb-space-telescope) 468 | 469 | - Title: Python and the James Webb Space Telescope 470 | - Published Mon, Mar 21, 2022, recorded Wed, Feb 23, 2022. 471 | - Guest: JWST Scientists Megan Sosey and Mike Swam on [James Web Space Telescope](https://webbtelescope.org/) 472 | 473 | 1. **HTCondor** - *Distributed High Throughput Computing system API.* [PyPi](https://pypi.org/project/htcondor) | [Website](https://github.com/htcondor/htcondor/tree/latest) | [Source Code](https://github.com/htcondor/htcondor/) 474 | 475 | 476 | 477 | `HTCondor` is a Distributed High Throughput Computing system developed at the Center for High Throughput Computing at the University of Wisconsin - Madison. With it, users can divide large computing workloads into jobs and submit them to an HTCondor scheduler, which will run them on worker nodes managed by HTCondor. 478 | 479 | 2. **Silly** - *A test data generator that generates stupid names.* [PyPi](https://pypi.org/project/silly) | [Website](https://github.com/cube-drone/silly) | [Source Code](https://github.com/cube-drone/silly) 480 | 481 | A python library for producing fanciful test data. Like faker, but... silly 482 | 483 | 484 | ## [Episode 356](https://talkpython.fm/episodes/show/356/tips-for-ml-ai-startups) 485 | 486 | - Title: Tips for ML / AI startups 487 | - Published Mon, Mar 14, 2022, recorded Thu, Feb 17, 2022. 488 | - Guest: Dylan Fox on Twitter [@YouveGotFox](https://twitter.com/YouveGotFox) 489 | 490 | 1. **Hugging Face Hub** - *All the open source things related to huggingface.co.* [PyPi](https://pypi.org/project/huggingface-hub/) | [Website](https://huggingface.co) | [Source Code](https://github.com/huggingface/huggingface_hub) 491 | 492 | 493 | 494 | This library allows anyone to work with the Hub repositories: you can clone them, create them and upload your models to them. On top of this, the library also offers methods to access information from the Hub. For example, listing all models that meet specific criteria or get all the files from a specific repo. You can find the library implementation here. 495 | 496 | 497 | ## [Episode 355](https://talkpython.fm/episodes/show/355/edgedb-building-a-database-in-python) 498 | 499 | - Title: EdgeDB - Building a database in Python 500 | - Published Sun, Mar 6, 2022, recorded Wed, Feb 16, 2022. 501 | - Guest: Yury Selivanov on Twitter [@1st1](https://twitter.com/@1st1) and [@edgedatabase](https://twitter.com/edgedatabase) 502 | 503 | 1. **mypy** - *Static Typing for Python.* [PyPi](https://pypi.org/project/mypy/) | [Website](http://www.mypy-lang.org/) | [Source Code](https://github.com/python/mypy) 504 | 505 | 506 | 507 | `Mypy` is an optional static type checker for Python that aims to combine the benefits of dynamic (or "duck") typing and static typing. Mypy combines the expressive power and convenience of Python with a powerful type system and compile-time type checking. Mypy type checks standard Python programs; run them using any Python VM with basically no runtime overhead. 508 | 509 | 510 | ## [Episode 354](https://talkpython.fm/episodes/show/354/sphinx-myst-and-python-docs-in-2022) 511 | 512 | - Title: Sphinx, MyST, and Python Docs in 2022 513 | - Published Thu, Feb 24, 2022, recorded Wed, Jan 19, 2022. 514 | - Guest: Panelists 515 | 516 | 1. Pradyun Gedam on Twitter [@pradyunsg](https://twitter.com/pradyunsg) 517 | 2. Chris Holdgraf on Twitter [@choldgraf](https://twitter.com/choldgraf) 518 | 3. Paul Everitt on Twitter [@paulweveritt](https://twitter.com/paulweveritt) 519 | 520 | 1. **PursuedPyBear** - *An Event Driven Python Game Engine.* [PyPi](https://pypi.org/project/ppb/) | [Website](https://ppb.dev/) | [Source Code](https://github.com/ppb/pursuedpybear) 521 | 522 | 523 | 524 | `PursuedPyBear`, also known as ppb, exists to be an educational resource. Most obviously used to teach computer science, it can be a useful tool for any topic that a simulation can be helpful. At its core, ppb provides a number of features that make it perfect for video games. The GameEngine itself provides a pluggable subsystem architecture where adding new features is as simple as subclassing and extending System. Additionally, it contains a state stack of Scenes simple containers that let you organize game scenes and UI screens in a simple way. Here is a [YouTube](https://www.youtube.com/watch?v=zM9G7wAf2g0 ) video from Casey Faist to show how fun PursuedPyBear could be at. 525 | 526 | 2. **Antidotes** - *Antidotes is a dependency injection micro-framework for Python 3.6+.* [PyPi](https://pypi.org/project/antidote/) | [Website](https://github.com/Finistere/antidote) | [Source Code](https://github.com/Finistere/antidote) 527 | 528 | 529 | 530 | It is built on the idea of ensuring best maintainability of your code while being as easy to use as possible. It also provides the fastest injection with @inject allowing you to use it virtually anywhere and fast full isolation of your tests. 531 | 532 | 3. **pipx** - *Install and Run Python Applications in Isolated Environments.* [PyPi](https://pypi.org/project/pipx) | [Homepage](https://pypa.github.io/pipx/) | [Source Code](https://github.com/pypa/pipx) 533 | 534 | 535 | 536 | This is one of the episodes with the most of packages described. Therefore, we picked the one with the best logo 😃: `pipx`. This is a tool to help you install and run end-user applications written in Python. It's roughly similar to macOS's brew, JavaScript's npx, and Linux's apt. 537 | 538 | 539 | ## [Episode 353](https://talkpython.fm/episodes/show/353/sqlmodel-the-new-orm-for-fastapi-and-beyond) 540 | 541 | - Title: SQLModel: The New ORM for FastAPI and Beyond 542 | - Published Fri, Feb 18, 2022, recorded Mon, Jan 17, 2022. 543 | - Guest: Sebastián Ramírez on Twitter [@tiangolo](https://twitter.com/tiangolo) 544 | 545 | 1. **ODMantic** - *Asynchronous ODM (Object Document Mapper) for MongoDB.* [PyPi](https://pypi.org/project/odmantic) | [Website](https://art049.github.io/odmantic/) | [Source Code](https://github.com/art049/odmantic) 546 | 547 | 548 | 549 | Asynchronous ODM (Object Document Mapper) for MongoDB based on standard python type hints. It's built on top of pydantic for model definition and validation. 550 | 551 | 2. **Beanie** - *Asynchronous Python object-document mapper (ODM) for MongoDB.* [PyPi](https://pypi.org/project/beanie) | [Website](https://github.com/roman-right/beanie) | [Source Code](https://github.com/roman-right/beanie) 552 | 553 | 554 | 555 | Asynchronous Python object-document mapper (ODM) for MongoDB, based on Motor and Pydantic. 556 | 557 | ## [Episode 352](https://talkpython.fm/episodes/show/352/running-python-in-production) 558 | 559 | - Title: Running Python in Production 560 | - Published Tue, Feb 8, 2022, recorded Wed, Jan 12, 2022. 561 | - Guests: 562 | 1. Emily Morehouse-Valcarcel on Twitter [@emilyemorehouse](https://twitter.com/emilyemorehouse) 563 | 2. Hynek Schlawack on Twitter [@hynek](https://twitter.com/hynek) 564 | 3. Glyph on Twitter [@glyph](https://twitter.com/glyph) 565 | 566 | There was no time for notable PiPy packages, but it is another great eposide to listen! 567 | 568 | ## [Episode 351](https://talkpython.fm/episodes/show/351/machine-learning-ethics-and-laws-panel) 569 | 570 | - Title: Machine Learning Ethics and Laws Panel 571 | - Published Thu, Feb 3, 2022, recorded Fri, Dec 17, 2021. 572 | - Guests: 573 | 1. Emily Morehouse-Valcarcel on Twitter [@kjam](https://twitter.com/kjam) 574 | 2. Hynek Schlawack on Twitter [@_inesmontani](https://twitter.com/_inesmontani) 575 | 576 | There was no time for notable PiPy packages, but it is a great eposide to listen! 577 | 578 | ## [Episode 350](https://talkpython.fm/episodes/show/350/python-steering-council-2021-retrospective) 579 | 580 | - Title: Python Steering Council 2021 Retrospective 581 | - Published Wed, Jan 26, 2022, recorded Tue, Dec 14, 2021. 582 | - Guests: 583 | 1. Barry Warsaw on Twitter [@pumpichank](https://twitter.com/pumpichank) 584 | 2. Carol Willing on Twitter [@WillingCarol](https://twitter.com/WillingCarol) 585 | 3. Brett Cannon on Twitter [@brettsky](https://twitter.com/brettsky) 586 | 4. Pablo Galindo Salgado on Twitter [@pyblogsal](https://twitter.com/pyblogsal) 587 | 5. T. Wouters on Twitter [@Yhg1s](https://twitter.com/Yhg1s) 588 | 589 | There was no time for notable PiPy packages, but it was a great show & must listen episode with the Python Steering Council Members! 590 | 591 | 592 | ## [Episode 349](https://talkpython.fm/episodes/show/349/meet-beanie-a-mongodb-odm-pydantic) 593 | 594 | - Title: Meet Beanie: A MongoDB ODM + Pydantic 595 | - Published Sat, Jan 22, 2022, recorded Thu, Nov 18, 2021. 596 | - Guest: Roman Right on Tweeter [@roman_the_right](https://twitter.com/roman_the_right) 597 | 598 | 1. **Yarl** - *Yet another URL library.* [PyPi](https://pypi.org/project/Yarl) | [Website](https://yarl.readthedocs.io/en/latest/) | [Source Code](https://github.com/aio-libs/yarl/) 599 | 600 | 601 | 602 | The module provides handy URL class for URL parsing and changing. 603 | 604 | 605 | ## [Episode 348](https://talkpython.fm/episodes/show/348/dear-pygui-simple-yet-fast-python-gui-apps) 606 | 607 | - Title: Dear PyGui: Simple yet Fast Python GUI Apps 608 | - Published Mon, Jan 17, 2022, recorded Tue, Nov 9, 2021. 609 | - Guestes: Jonathan Hoffstadt on Tweeter [@jhoffs1](https://twitter.com/jhoffs1) | Preston Cothren on Tweeter [@toulaboy3](https://twitter.com/toulaboy3) 610 | 611 | 1. **NumPy** - *Fundamental package for array computing with Python..* [PyPi](https://pypi.org/project/NumPy) | [Website](https://numpy.org/) | [Source Code](https://github.com/numpy/numpy) 612 | 613 | 614 | 615 | - POWERFUL N-DIMENSIONAL ARRAYS Fast and versatile, the NumPy vectorization, indexing, and broadcasting concepts are the de-facto standards of array computing today. 616 | - NUMERICAL COMPUTING TOOLS NumPy offers comprehensive mathematical functions, random number generators, linear algebra routines, Fourier transforms, and more. 617 | - INTEROPERABLE NumPy supports a wide range of hardware and computing platforms, and plays well with distributed, GPU, and sparse array libraries. 618 | - PERFORMANT The core of NumPy is well-optimized C code. Enjoy the flexibility of Python with the speed of compiled code. 619 | - EASY TO USE NumPy’s high level syntax makes it accessible and productive for programmers from any background or experience level. 620 | - OPEN SOURCE Distributed under a liberal BSD license, NumPy is developed and maintained publicly on GitHub by a vibrant, responsive, and diverse community. 621 | 622 | 623 | ## [Episode 347](https://talkpython.fm/episodes/show/347/cinder-specialized-python-that-flies) 624 | 625 | - Title: Cinder - Specialized Python that Flies 626 | - Published Sat, Jan 8, 2022, recorded Mon, Nov 29, 2021. 627 | - Guest: Dino Viehland on Tweeter [@DinoViehland](https://twitter.com/DinoViehland) 628 | 629 | 1. **mock** - *Test tools for mocking and patching.* [PyPi](https://pypi.org/project/mock) | [Website](https://docs.python.org/3/library/unittest.mock.html) | [Source Code](https://github.com/python/cpython/blob/3.10/Lib/unittest/mock.py) 630 | 631 | `mock` is a library for testing in Python. It allows you to replace parts of your system under test with mock objects and make assertions about how they have been used. Spoiler alert, mock is now part of the Python standard library, available as unittest.mock in Python 3.3 onwards. This package contains a rolling backport of the standard library mock code compatible with Python 3.6 and up. unittest.mock is a library for testing in Python. It allows you to replace parts of your system under test with mock objects and make assertions about how they have been used. unittest.mock provides a core Mock class removing the need to create a host of stubs throughout your test suite. After performing an action, you can make assertions about which methods / attributes were used and arguments they were called with. You can also specify return values and set needed attributes in the normal way. 632 | 633 | 634 | # 2021 635 | 636 | ## [Episode 346](https://talkpython.fm/episodes/show/346/20-recommended-packages-in-review) 637 | 638 | - Title: 20 Recommended Packages in Review 639 | - Published Tue, Dec 21, 2021, recorded Wed, Nov 24, 2021. 640 | - Guest: Antonio Andrade [@AntonioAndrade](https://twitter.com/AntonioAndrade) | [LinkedIn](https://www.linkedin.com/in/antonioxandrade/) <- *Hey, Mom! Michael invited me to the podcast 😁* 641 | 642 | 643 | 1. **Sumy** - *Module for automatic summarization of text documents and HTML pages.* [PyPi](https://pypi.org/project/sumy) | [Website](https://github.com/miso-belica/sumy) | [Source Code](https://github.com/miso-belica/sumy) 644 | 645 | 646 | 647 | Simple library and command line utility for extracting summary from HTML pages or plain texts. The package also contains simple evaluation framework for text summaries. Implemented summarization methods are described in the documentation. I also maintain a list of alternative implementations of the summarizers in various programming languages. 648 | 649 | 650 | 2. **gTTS** - *Python library and CLI tool to interface with Google Translate text-to-speech API.* [PyPi](https://pypi.org/project/gTTS) | [Website](http://gtts.readthedocs.org/) | [Source Code](https://github.com/pndurette/gTTS) 651 | 652 | 653 | 654 | gTTS (Google Text-to-Speech), a Python library and CLI tool to interface with Google Translate's text-to-speech API. Write spoken mp3 data to a file, a file-like object (bytestring) for further audio manipulation, or stdout. Or simply pre-generate Google Translate TTS request URLs to feed to an external program. 655 | 656 | 657 | ## [Episode 345](https://talkpython.fm/episodes/show/345/10-tips-and-tools-for-developer-productivity) 658 | 659 | - Title: 10 Tips and Tools for Developer Productivity 660 | - Published Wed, Dec 15, 2021, recorded Wed, Nov 17, 2021. 661 | - Guest: Jay Miller [@kjaymiller](https://twitter.com/kjaymiller) 662 | 663 | 1. **Black** - *The uncompromising code formatter.* [PyPi](https://pypi.org/project/black/) | [Homepage](https://github.com/psf/black/) | [Source Code](https://github.com/psf/black) 664 | 665 | 666 | 667 | `Black` is the uncompromising Python code formatter. By using it, you agree to cede control over minutiae of hand-formatting. In return, Black gives you speed, determinism, and freedom from pycodestyle nagging about formatting. You will save time and mental energy for more important matters. We all love Black! 668 | 669 | 2. **rumps** - *Ridiculously Uncomplicated macOS Python Statusbar apps.* [PyPi](https://pypi.org/project/rumps) | [Website](https://github.com/jaredks/rumps) | [Source Code](https://github.com/jaredks/rumps) 670 | 671 | 672 | 673 | `rumps` (Ridiculously Uncomplicated macOS Python Statusbar apps) can greatly shorten the code required to generate a working app. No PyObjC underscore syntax required!. rumps is for any console-based program that would benefit from a simple configuration toolbar or launch menu. 674 | 675 | 676 | ## [Episode 344](https://talkpython.fm/episodes/show/344/sqlalchemy-2.0) 677 | 678 | - Title: SQLAlchemy 2.0 679 | - Published Thu, Dec 9, 2021, recorded Wed, Nov 10, 2021. 680 | - Guest: Mike Bayer [@zzzeek](https://twitter.com/zzzeek) 681 | 682 | 1. **nplusone** - *Detecting the n+1 queries problem in Python.* [PyPi](https://pypi.org/project/nplusone) | [Website](https://github.com/jmcarp/nplusone) | [Source Code](https://github.com/jmcarp/nplusone) 683 | 684 | nplusone is a library for detecting the n+1 queries problem in Python ORMs, including SQLAlchemy, Peewee, and the Django ORM. 685 | 686 | 687 | ## [Episode 343](https://talkpython.fm/episodes/show/343/do-excel-things-get-notebook-python-code-with-mito) 688 | 689 | - Title: Do Excel things, get notebook Python code with Mito 690 | - Published Tue, Nov 30, 2021, recorded Mon, Nov 8, 2021. 691 | - Guest: Panelists (🆘🙋 HELP WANTED! to update names and social media links) 692 | 693 | 1. **Pandas Profiling** - *Generate profile report for pandas DataFrame.* [PyPi](https://pypi.org/project/pandas-profiling/) | [Website](https://pandas-profiling.github.io/pandas-profiling/) | [Source Code](https://github.com/pandas-profiling/pandas-profiling) 694 | 695 | 696 | 697 | Generates profile reports from a pandas DataFrame. The pandas df.describe() function is great but a little basic for serious exploratory data analysis. `pandas_profiling` extends the pandas DataFrame with df.profile_report() for quick data analysis. I'm a heavy user of this library, thanks for existing! 698 | 699 | 700 | ## [Episode 342](https://talkpython.fm/episodes/show/342/python-in-architecture-as-in-actual-buildings) 701 | 702 | - Title: Python in Architecture (as in actual buildings) 703 | - Published Tue, Nov 23, 2021, recorded Sun, Nov 7, 2021. 704 | - Guest: Gui Talarico on [GitHub](https://github.com/gtalarico/gtalarico) 705 | 706 | 1. **Pythonic** - *Graphical automation tool.* [PyPi](https://pypi.org/project/pythonic) | [Website](https://github.com/hANSIc99/Pythonic) | [Source Code](https://github.com/hANSIc99/Pythonic) 707 | 708 | 709 | 710 | `Pythonic` is a graphical programming tool that makes it easy for users to create Python applications using ready-made function modules. 711 | 712 | 713 | ## [Episode 341](https://talkpython.fm/episodes/show/341/25-pandas-functions-you-didn-t-know-existed) 714 | 715 | - Title: 25 Pandas Functions You Didn’t Know Existed 716 | - Published Wed, Nov 17, 2021, recorded Thu, Nov 4, 2021. 717 | - Guest: Bex Tuychiev [LinkedIn](https://www.linkedin.com/in/bextuychiev/) 718 | 719 | 1. **umap-learn** - *Uniform Manifold Approximation and Projection.* [PyPi](https://pypi.org/project/umap-learn) | [Website](https://umap-learn.readthedocs.io/en/latest/) | [Source Code](https://github.com/lmcinnes/umap) 720 | 721 | 722 | 723 | Working with data and searching for a low dimensional projection that has the closest possible equivalent fuzzy topological structure? Uniform Manifold Approximation and Projection (UMAP) is a dimension reduction technique that can be used for visualisation similarly to t-SNE, but also for general non-linear dimension reduction. 724 | 725 | 726 | ## [Episode 340](https://talkpython.fm/episodes/show/340/time-to-jit-your-python-with-pyjion) 727 | 728 | - Title: Time to JIT your Python with Pyjion? 729 | - Published Wed, Nov 10, 2021, recorded Wed, Nov 3, 2021. 730 | - Guest: Anthony Shaw [@anthonypjshaw](https://twitter.com/anthonypjshaw) 731 | 732 | 1. **Tortoise ORM** - *Easy async ORM for python, built with relations in mind.* [PyPi](https://pypi.org/project/tortoise-orm/) | [Website](https://tortoise.github.io/) | [Source Code](https://github.com/tortoise/tortoise-orm) 733 | 734 | 735 | 736 | `Tortoise ORM` is an easy-to-use asyncio ORM (Object Relational Mapper) inspired by Django. Tortoise ORM was built with relations in mind and admiration for the excellent and popular Django ORM. It’s engraved in its design that you are working not with just tables, you work with relational data. 737 | 738 | 2. **Beanie** - *Asynchronous Python ODM for MongoDB.* [PyPi](https://pypi.org/project/Beanie/) | [Website](https://roman-right.github.io/beanie/) | [Source Code](https://github.com/roman-right/beanie) 739 | 740 | ![image](https://user-images.githubusercontent.com/12855744/141423414-a7527a59-6d8b-4f00-964b-17136ea635d0.png) 741 | 742 | `Beanie` is an Asynchronous Python object-document mapper (ODM) for MongoDB, based on Motor and Pydantic. When using Beanie each database collection has a corresponding Document that is used to interact with that collection. In addition to retrieving data, Beanie allows you to add, update, or delete documents from the collection as well. 743 | 744 | 3. **Hathi** - *SQL host scanner and dictionary attack tool* [PyPi](https://pypi.org/project/hathi/) | [Website](https://github.com/tonybaloney/hathi) | [Source Code](https://github.com/tonybaloney/hathi) 745 | 746 | 747 | 748 | A SQL host scanner and dictionary attack tool. Comes with a script (`filter_pass.py`) to filter a series of password lists based on password strength. 749 | 750 | 751 | ## [Episode 339](https://talkpython.fm/episodes/show/339/making-python-faster-with-guido-and-mark) 752 | 753 | - Title: Making Python Faster with Guido and Mark 754 | - Published Thu, Nov 4, 2021, recorded Mon, Nov 1, 2021. 755 | - Guests: Guido van Rossum [@gvanrossum](https://twitter.com/gvanrossum) | Mark Shannon [LinkedIn](https://www.linkedin.com/in/mark-shannon-bb459551/) 756 | 757 | No notable package was mentioned during this episode, but we appreciate the ongoing work for making Python faster (one step at the time). 758 | 759 | 760 | ## [Episode 338](https://talkpython.fm/episodes/show/338/using-cibuildwheel-to-manage-the-scikit-hep-packages) 761 | 762 | - Title: Using cibuildwheel to manage the scikit-HEP packages 763 | - Published Sun, Oct 17, 2021, recorded Thu, Oct 14, 2021. 764 | - Guest: Henry Schreiner [@HenrySchreiner3](https://twitter.com/HenrySchreiner3) 765 | 766 | 1. **plotext** - *Plots data directly on terminal.* [PyPi](https://pypi.org/project/plotext/) | [Homepage](https://github.com/piccolomo/plotext) | [Source Code](https://github.com/piccolomo/plotext) 767 | 768 | ![image](https://user-images.githubusercontent.com/12855744/138847569-abd614dd-1886-496b-a5ff-6696ca0b796b.png) 769 | 770 | CLI lovers 📣, plotext plots directly on terminal, it has no dependencies and the syntax is very similar to matplotlib. It also provides a simple command line tool. 771 | 772 | 773 | ## [Episode 337](https://talkpython.fm/episodes/show/337/kedro-for-maintainable-data-science) 774 | 775 | - Title: Kedro for Maintainable Data Science 776 | - Published Sat, Oct 9, 2021, recorded Fri, Oct 1, 2021. 777 | - Guests: Waylon Walker [@_WaylonWalker](https://twitter.com/_WaylonWalker) | Yetunde Dada [@yetudada](https://twitter.com/yetudada) | Ivan Danov [@ivandanov](https://twitter.com/ivandanov) 778 | 779 | 1. **fsspec** - *Filesystem interfaces for Python.* [PyPi](https://pypi.org/project/fsspec/) | [Homepage](https://filesystem-spec.readthedocs.io/en/latest/) | [Source Code](https://github.com/intake/filesystem_spec) 780 | 781 | Filesystem Spec (fsspec) is a project to provide a unified pythonic interface to local, remote and embedded file systems and bytes storage. As described, treat a remote database as a local file! 782 | 783 | 2. **Dynaconf** - *Configuration Management for Python.* [PyPi](https://pypi.org/project/dynaconf/) | [Homepage](https://www.dynaconf.com/) | [Source Code](https://github.com/rochacbruno/dynaconf) 784 | 785 | ![image](https://user-images.githubusercontent.com/12855744/136692271-889f25bf-8040-4fd8-a49e-e8741b1e77f8.png) 786 | 787 | Lazy setting loader on steroids! 788 | 789 | 790 | ## [Episode 336](https://talkpython.fm/episodes/show/336/terminal-magic-with-rich-and-textual) 791 | 792 | - Title: Terminal magic with Rich and Textual 793 | - Published: Tue, Oct 5, 2021, recorded Mon, Sep 27, 2021. 794 | - Guest: Will McGugan [@willmcgugan](https://twitter.com/willmcgugan) 795 | 796 | 1. **Objexplore** - *Interactive Python Object Explorer.* [PyPi](https://pypi.org/project/objexplore/) | [Homepage](https://github.com/kylepollina/objexplore) | [Source Code](https://github.com/kylepollina/objexplore) 797 | 798 | 799 | 800 | `Objexplore` is an interactive Python object explorer for the terminal. Use it while debugging, or exploring a new library, or whatever! 801 | 802 | 803 | ## [Episode 335](https://talkpython.fm/episodes/show/335/gene-editing-with-python) 804 | 805 | - Title: Gene Editing with Python 806 | - Published Fri, Sep 24, 2021, recorded Wed, Sep 15, 2021. 807 | - Guest: David Born [@Hypostulate](https://twitter.com/Hypostulate) | [Beam Therapeutics](https://beamtx.com) 808 | 809 | 1. **AWS Cloud Development Kit (AWS CDK)**. [PyPi](https://pypi.org/project/aws-cdk.core/) | [Homepage](https://docs.aws.amazon.com/cdk/latest/guide/work-with-cdk-python.html) | [Source Code](https://github.com/aws/aws-cdk) 810 | 811 | ![image](https://user-images.githubusercontent.com/12855744/134805873-f9d79c4b-915e-4460-8759-b739a5e72001.png) 812 | 813 | The `AWS Cloud Development Kit` (AWS CDK) is an open-source software development framework to define cloud infrastructure in code and provision it through AWS CloudFormation. 814 | 815 | 2. **Luigi** - *Workflow mgmgt + task scheduling + dependency resolution.* [PyPi](https://pypi.org/project/luigi/) | [Homepage](https://github.com/spotify/luigi) | [Source Code](https://github.com/spotify/luigi) 816 | 817 | ![image](https://user-images.githubusercontent.com/12855744/134805722-335e5512-e432-4f43-8b26-3946f5e95496.png) 818 | 819 | Luigi is a Python (3.6, 3.7, 3.8, 3.9 tested) package that helps you build complex pipelines of batch jobs. It handles dependency resolution, workflow management, visualization, handling failures, command line integration, and much more. 820 | 821 | 822 | ## [Episode 334](https://talkpython.fm/episodes/show/334/microsoft-planetary-computer) 823 | 824 | - Title: Microsoft Planetary Computer 825 | - Published Sat, Sep 18, 2021, recorded Thu, Sep 9, 2021. 826 | - Guests: Rob Emanuele [@lossyrob](https://twitter.com/lossyrob) | Tom Augspurger [@TomAugspurger](https://twitter.com/TomAugspurger) 827 | 828 | 1. **Seaborn** - *Statistical Data Visualization.* [PyPi](https://pypi.org/project/seaborn/) | [Homepage](https://seaborn.pydata.org/) | [Source Code](https://github.com/cupy/cupy/) 829 | 830 | 831 | 832 | Seaborn is a Python visualization library based on matplotlib. It provides a high-level interface for drawing attractive statistical graphics. If matplotlib is for Android users, seaborn is for iPhone users! 833 | 834 | 835 | ## [Episode 333](https://talkpython.fm/episodes/show/333/state-of-data-science-in-2021) 836 | 837 | - Title: State of Data Science in 2021 838 | - Published Fri, Sep 10, 2021, recorded Thu, Sep 9, 2021 839 | - Guest: Stan Seibert [@seibert](https://twitter.com/seibert) 840 | 841 | 1. **CuPy** - *NumPy & SciPy for GPU.* [PyPi](https://pypi.org/project/cupy/) | [Homepage](https://cupy.dev/) | [Source Code](https://github.com/cupy/cupy/) 842 | 843 | 844 | 845 | CuPy is an open-source array library for GPU-accelerated computing with Python. CuPy utilizes CUDA Toolkit libraries including cuBLAS, cuRAND, cuSOLVER, cuSPARSE, cuFFT, cuDNN and NCCL to make full use of the GPU architecture. Basically, NumPy & SciPy on steroids! 846 | 847 | 848 | ## [Episode 332](https://talkpython.fm/episodes/show/332/robust-python) 849 | 850 | 851 | - Title: Robust Python 852 | - Published Tue, Aug 31, 2021, recorded Mon, Aug 30, 2021. 853 | - Guest: Patrick Viafore [@PatViaforever](https://twitter.com/PatViaforever) 854 | 855 | 1. **Stevedore** - *Manage dynamic plugins for Python applications.* [PyPi](https://pypi.org/project/stevedore/) | [Homepage](https://docs.openstack.org/stevedore/latest/) | [Source Code](https://opendev.org/openstack/stevedore) 856 | 857 | Python makes loading code dynamically easy, allowing you to configure and extend your application by discovering and loading extensions ("plugins") at runtime. Many applications implement their own library for doing this, using __import__ or importlib. Stevedore avoids creating yet another extension mechanism by building on top of setuptools entry points. The code for managing entry points tends to be repetitive, though, so stevedore provides manager classes for implementing common patterns for using dynamically loaded extensions. 858 | 859 | 860 | ## [Episode 331](https://talkpython.fm/episodes/show/331/meet-the-python-developer-in-residence-lukasz-langa) 861 | 862 | - Title: Meet the Python Developer in Residence: Lukasz Langa 863 | - Published Fri, Aug 27, 2021, recorded Wed, Aug 25, 2021. 864 | - Guest: Łukasz Langa [@llanga](https://twitter.com/llanga) 865 | 866 | The question was not asked, but since Łukasz is the author of Black... here we go! 867 | 868 | 1. **Black** - *The uncompromising code formatter.* [PyPi](https://pypi.org/project/black/) | [Homepage](https://github.com/psf/black/) | [Source Code](https://github.com/psf/black) 869 | 870 | 871 | 872 | Black is the uncompromising Python code formatter. By using it, you agree to cede control over minutiae of hand-formatting. In return, Black gives you speed, determinism, and freedom from pycodestyle nagging about formatting. You will save time and mental energy for more important matters. We all love Black! 873 | 874 | 875 | ## [Episode 330](https://talkpython.fm/episodes/show/330/apache-airflow-open-source-workflow-with-python) 876 | 877 | - Title: Apache Airflow Open-Source Workflow with Python 878 | - Published Fri, Aug 20, 2021, recorded Thu, Aug 5, 2021. 879 | - Guests: Jarek Potiuk [LinkedIn](https://www.linkedin.com/in/jarekpotiuk/) | Kaxil Naik [@kaxil](https://twitter.com/kaxil) | Leah Cole [@leahecole](https://twitter.com/leahecole) 880 | 881 | The question was not asked, but since the team talked about Airflow.. 882 | 883 | 1. **Apache Airflow** - *Programmatically author, schedule and monitor data pipelines.* [PyPi](https://pypi.org/project/apache-airflow/) | [Homepage](https://airflow.apache.org/) | [Source Code](https://github.com/apache/airflow) 884 | 885 | 886 | 887 | Airflow is a platform created by the community to programmatically author, schedule and monitor workflows. Airflow works best with workflows that are mostly static and slowly changing. When the DAG structure is similar from one run to the next, it clarifies the unit of work and continuity. Other similar projects include Luigi, Oozie and Azkaban. 888 | 889 | Airflow is commonly used to process data, but has the opinion that tasks should ideally be idempotent (i.e., results of the task will be the same, and will not create duplicated data in a destination system), and should not pass large quantities of data from one task to the next (though tasks can pass metadata using Airflow's Xcom feature). For high-volume, data-intensive tasks, a best practice is to delegate to external services specializing in that type of work. 890 | 891 | 892 | ## [Episode 329](https://talkpython.fm/episodes/show/329/geekout-renewable-energy) 893 | 894 | - Title: Geekout: Renewable Energy 895 | - Published Fri, Aug 13, 2021, recorded Wed, Aug 4, 2021. 896 | - Guest: Richard Campbell [@richcampbell](https://twitter.com/richcampbell) 897 | 898 | 899 | No time for this question :-( 900 | 901 | 902 | ## [Episode 328](https://talkpython.fm/episodes/show/328/piccolo-a-fast-async-orm-for-python-updated) 903 | 904 | - Title: Piccolo: A fast, async ORM for Python (updated) 905 | - Published Sun, Aug 8, 2021, recorded Thu, Jul 22, 2021. 906 | - Guest: Daniel Townsend [@danieltownsend](https://twitter.com/danieltownsend) 907 | 908 | 909 | 1. **Pydantic** - *Data validation and settings management.* [PyPi](https://pypi.org/project/pydantic/) | [Homepage](https://github.com/samuelcolvin/pydantic) | [Source Code](https://github.com/samuelcolvin/pydantic) 910 | 911 | 912 | 913 | Fast and extensible, pydantic plays nicely with your linters/IDE/brain. Define how data should be in pure, canonical Python 3.6+; validate it with pydantic. 914 | 915 | 916 | ## [Episode 327](https://talkpython.fm/episodes/show/327/little-automation-tools-in-python) 917 | 918 | - Title: Little Automation Tools in Python 919 | - Published Fri, Jul 30, 2021, recorded Thu, Jul 15, 2021. 920 | - Guests: Rivers Cuomo [@RiversCuomo](https://twitter.com/RiversCuomo) | Jay Miller [@kjaymiller](https://twitter.com/kjaymiller) | Kim van Wyk [@kim_vanwyk](https://twitter.com/kim_vanwyk) | Rusti Gregory [@greenermountain](https://twitter.com/greenermountain) 921 | 922 | 1. **pipx** - *Install and Run Python Applications in Isolated Environments.* [PyPi](https://pypi.org/project/pipx) | [Homepage](https://pypa.github.io/pipx/) | [Source Code](https://github.com/pypa/pipx) 923 | 924 | 925 | 926 | This is one of the episodes with the most of packages described. Therefore, we picked the one with the best logo 😃: **pipx**. This is a tool to help you install and run end-user applications written in Python. It's roughly similar to macOS's brew, JavaScript's npx, and Linux's apt. 927 | 928 | 929 | 930 | ## [Episode 326](https://talkpython.fm/episodes/show/326/building-desktop-apps-with-wxpython) 931 | 932 | - Title: Building Desktop Apps with wxPython 933 | - Published Fri, Jul 23, 2021, recorded Wed, Jul 14, 2021. 934 | - Guest: Mike Driscoll [@driscollis](https://twitter.com/driscollis) 935 | 936 | 1. **openpyxl** - *A Python library to read/write Excel 2010 xlsx/xlsm files.* [PyPi](https://pypi.org/project/openpyxl) | [Homepage](https://openpyxl.readthedocs.io/en/stable/) | [Source Code](https://foss.heptapod.net/openpyxl/openpyxl) 937 | 938 | 939 | 940 | 941 | 942 | ## [Episode 325](https://talkpython.fm/episodes/show/325/micropython-circuitpython) 943 | 944 | - Title: MicroPython + CircuitPython 945 | - Published Thu, Jul 15, 2021, recorded Thu, Jul 8, 2021. 946 | - Guests: Scott [@tannewt](https://twitter.com/tannewt) | Damien's [Site](https://dpgeorge.net) 947 | 948 | 1. **HttpPy** - *More comfortable requests with python.* [PyPi](https://pypi.org/project/HttpPy/) | [Homepage](https://github.com/everitosan/HttpPy) | [Source Code](https://github.com/everitosan/HttpPy) 949 | 950 | Python based HttpPy for more comfortable requests. Great replacement of wget command (Windows users, most welcome 😇) 951 | 952 | 953 | ## [Episode 324](https://talkpython.fm/episodes/show/324/gatorade-powered-python-apis) 954 | 955 | - Title: Gatorade-powered Python APIs 956 | - Published Fri, Jul 9, 2021, recorded Thu, Jul 8, 2021. 957 | - Guest: Rod Senra [@rodsenra](https://twitter.com/rodsenra) 958 | 959 | 1. **rich** - *Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal.* [PyPi](https://pypi.org/project/rich) | [Homepage](https://rich.readthedocs.io/en/latest/) | [Source Code](https://github.com/willmcgugan/rich) 960 | 961 | 962 | 963 | Rich is a Python library for rich text and beautiful formatting in the terminal. The Rich API makes it easy to add color and style to terminal output. Rich can also render pretty tables, progress bars, markdown, syntax highlighted source code, tracebacks, and more** - * out of the box. Hey, don't forget to try: ```from rich import print```, most welcome 😎 964 | 965 | 966 | 967 | 968 | ## [Episode 323](https://talkpython.fm/episodes/show/323/best-practices-for-docker-in-production) 969 | 970 | - Title: Best practices for Docker in production 971 | - Published Sat, Jul 3, 2021, recorded Mon, Jun 14, 2021. 972 | - Guest: Itamar Turner-Trauring [@itamarst](https://twitter.com/itamarst) 973 | 974 | 1. **PyO3** - *Using Python from Rust.* PyPi - n/a | [Homepage](https://pyo3.rs) | [Source Code](https://github.com/PyO3/pyo3) 975 | 976 | 977 | 978 | Rust bindings for Python, including tools for creating native Python extension modules. Running and interacting with Python code from a Rust binary is also supported. 979 | 980 | 981 | ## [Episode 322](https://talkpython.fm/episodes/show/322/a-path-into-data-science) 982 | 983 | - Title: A path into data science 984 | - Published Fri, Jun 25, 2021, recorded Thu, Jun 10, 2021. 985 | - Guest: Sanyam Bhutani [@bhutanisanyam1](https://twitter.com/bhutanisanyam1) 986 | 987 | 1. **fastai** - *Making neural nets uncool again.* [PyPi](https://pypi.org/project/fastai) | [Homepage](https://www.fast.ai/) | [Source Code](https://github.com/fastai/fastai/) 988 | 989 | 990 | 991 | Simplifies training fast and accurate neural nets using modern best practices. 992 | 993 | 994 | ## [Episode 321](https://talkpython.fm/episodes/show/321/htmx-clean-dynamic-html-pages) 995 | 996 | - Title: HTMX - Clean, Dynamic HTML Pages 997 | - Published Sat, Jun 19, 2021, recorded Tue, May 25, 2021. 998 | - Guest: Carson Gross [@htmx_org](https://twitter.com/htmx_org) 999 | 1000 | 1. **Alpine.js* PyPi | [Homepage](https://alpinejs.dev/) | [Source Code](https://github.com/alpinejs/alpine) 1001 | 1002 | 1003 | 1004 | This is not a PyPi package, but it is a amazing: a new, lightweight, JavaScript framework. 1005 | 1006 | 1007 | ## [Episode 320](https://talkpython.fm/episodes/show/320/python-in-the-electrical-energy-sector) 1008 | 1009 | - Title: Python in the Electrical Energy Sector 1010 | - Published Sat, Jun 12, 2021, recorded Sun, Jun 6, 2021. 1011 | - Guest: Jack Simpson's [Site](https://jacksimpson.co/) 1012 | 1013 | 1. **numba** - *Accelerate Python Functions by compiling Python code using LLVM.* [PyPi](https://pypi.org/project/numba/) | [Homepage](https://numba.pydata.org/) | [Source Code](https://github.com/numba/numba) 1014 | 1015 | 1016 | 1017 | Numba translates Python functions to optimized machine code at runtime using the industry-standard LLVM compiler library. Numba-compiled numerical algorithms in Python can approach the speeds of C or FORTRAN. You don't need to replace the Python interpreter, run a separate compilation step, or even have a C/C++ compiler installed. Just apply one of the Numba decorators to your Python function, and Numba does the rest. 1018 | 1019 | 1020 | ## [Episode 319](https://talkpython.fm/episodes/show/319/typosquatting-and-supply-chains-vulnerabilities) 1021 | 1022 | - Title: Typosquatting and Supply Chains Vulnerabilities 1023 | - Published Sun, Jun 6, 2021, recorded Wed, May 26, 2021. 1024 | - Guests: Bentz Tozer's [email](btozer@iqt.org) | John Speed Meyers's [email](jmeyers@iqt.org) 1025 | 1026 | 1. **NetworkML** - *Device Functional Role ID via Machine Learning and Network Traffic Analysis.* [PyPi](https://pypi.org/project/networkml) | [Homepage](https://github.com/IQTLabs/NetworkML) | [Source Code](https://github.com/IQTLabs/NetworkML) 1027 | 1028 | NetworkML is the machine learning portion of our Poseidon project. The model in networkML classifies each device into a functional role via machine learning models trained on features derived from network traffic. "Functional role" refers to the authorized administrative purpose of the device on the network and includes roles such as printer, mail server, and others typically found in an IT environment. Our internal analysis suggests networkML can achieve accuracy, precision, recall, and F1 scores in the high 90's when trained on devices from your own network. Whether this performance can transfer from IT environment to IT environment is an active area of our research. Dear network administrator 🏃🏃🏃🏃🏃, NetworkML predicts the functional role of network-connected device via network traffic analysis and machine learning. 1029 | 1030 | 1031 | ## [Episode 318](https://talkpython.fm/episodes/show/318/measuring-your-ml-impact-with-codecarbon) 1032 | 1033 | - Title: Measuring your ML impact with CodeCarbon 1034 | - Published Fri, May 28, 2021, recorded Wed, May 19, 2021. 1035 | - Guests: Victor Schmidt [@vict0rsch](https://twitter.com/vict0rsch) | Jonathan Wilson's [Webpage](https://www.haverford.edu/) | Boris Feld [@Lothiraldan](https://twitter.com/Lothiraldan) 1036 | 1037 | 1. **rich** - *Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal.* [PyPi](https://pypi.org/project/rich) | [Homepage](https://rich.readthedocs.io/en/latest/) | [Source Code](https://github.com/willmcgugan/rich) 1038 | 1039 | 1040 | 1041 | Rich is a Python library for rich text and beautiful formatting in the terminal. The Rich API makes it easy to add color and style to terminal output. Rich can also render pretty tables, progress bars, markdown, syntax highlighted source code, tracebacks, and more — out of the box. Hey, don't forget to try: ```from rich import print```, most welcome 😎 1042 | 1043 | 1044 | 1045 | 2. **FastAPI** - *A-W-E-S-O-M-E web framework for building APIs.* [PyPi](https://pypi.org/project/fastapi) | [Homepage](https://fastapi.tiangolo.com/) | [Source Code](https://github.com/tiangolo/fastapi) 1046 | 1047 | 1048 | 1049 | FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints. In addition to the API type check feature, I think that the automatic interactive API documentation provided by Swagger UI is 🤯 1050 | 1051 | 1052 | ## [Episode 317](https://talkpython.fm/episodes/show/317/python-at-the-us-federal-election-commission) 1053 | 1054 | - Title: Python at the US Federal Election Commission 1055 | - Published Fri, May 21, 2021, recorded Wed, May 19, 2021. 1056 | - Guest: Laura Beaufort [@laurabeaufort](https://twitter.com/@laurabeaufort) 1057 | 1058 | 1. **Flask-SQLAlchemy** - *Adds SQLAlchemy support to your Flask application.* [PyPi](https://pypi.org/project/flask_sqlalchemy) | [Homepage](https://flask-sqlalchemy.palletsprojects.com) | [Source Code](https://github.com/pallets/flask-sqlalchemy) 1059 | 1060 | 1061 | 1062 | Flask-SQLAlchemy is an extension for Flask that adds support for SQLAlchemy to your application. It aims to simplify using SQLAlchemy with Flask by providing useful defaults and extra helpers that make it easier to accomplish common tasks. 1063 | 1064 | 1065 | ## [Episode 316](https://talkpython.fm/episodes/show/316/flask-2.0) 1066 | 1067 | - Title: Flask 2.0 1068 | - Published Fri, May 14, 2021, recorded Mon, May 10, 2021. 1069 | - Guests: David Lord [@davidism](https://twitter.com/davidism) | Philip Jones [@pdgjones](https://twitter.com/pdgjones) 1070 | 1071 | 1. **Pydantic** - *Data validation and settings management.* [PyPi](https://pypi.org/project/pydantic/) | [Homepage](https://pydantic-docs.helpmanual.io/) | [Source Code](https://github.com/samuelcolvin/pydantic/) 1072 | 1073 | Data validation and settings management using python type annotations. `pydantic` enforces type hints at runtime, and provides user friendly errors when data is invalid. 1074 | 1075 | 2. **AutoInvent** - *Libraries for generating GraphQL API and UI from data.* [PyPi](https://pypi.org/project/magql/) | [Homepage](https://autoinvent.dev) | [Source Code](https://github.com/autoinvent/) 1076 | 1077 | Magql is a GraphQL framework for Python. It generates a full-featured, customizable GraphQL API for your data. It's pronounced "magical", and it is! 1078 | 1079 | 3. **trio** - *A friendly Python library for async concurrency and I/O.* [PyPi](https://pypi.org/project/trio) | [Homepage](https://trio.readthedocs.io/en/stable/) | [Source Code](https://github.com/python-trio/trio) 1080 | 1081 | 1082 | 1083 | The Trio project’s goal is to produce a production-quality, permissively licensed, async/await-native I/O library for Python. Like all async libraries, its main purpose is to help you write programs that do multiple things at the same time with parallelized I/O. 1084 | 1085 | 1086 | ## [Episode 315](https://talkpython.fm/episodes/show/315/awesome-fastapi-extensions-and-add-ons) 1087 | 1088 | - Title: Awesome FastAPI extensions and add ons 1089 | - Published Fri, May 7, 2021, recorded Thu, Apr 22, 2021. 1090 | - Guest: Michael Herman [@mikeherman](https://twitter.com/mikeherman) 1091 | 1092 | 1. **flake8-docstrings** [PyPi](https://pypi.org/project/flake8-docstrings/) | [Homepage](https://github.com/pycqa/flake8-docstrings) | [Source Code](https://github.com/pycqa/flake8-docstrings) 1093 | 1094 | 1095 | 1096 | A simple module that adds an extension for the fantastic pydocstyle tool to flake8. 1097 | 1098 | 2. **hotwire-django** [PyPi](https://pypi.org/project/hotwire-django/) | [Homepage](https://github.com/hotwire-django/hotwire-django) | [Source Code](https://github.com/hotwire-django/hotwire-django) 1099 | 1100 | This repository aims to help you integrate Hotwire with Django🚀. Inspiration might be taken from @hotwired/hotwire-rails. 1101 | 1102 | 1103 | ## [Episode 314](https://talkpython.fm/episodes/show/314/ask-us-about-modern-python-projects-and-tools) 1104 | 1105 | - Title: Ask us about modern Python projects and tools 1106 | - Published Fri, Apr 30, 2021, recorded Mon, Apr 19, 2021. 1107 | - Guest: Sebastian Witowski [@SebaWitowski](https://twitter.com/SebaWitowski) 1108 | 1109 | 1. **Awesome Python** - *Life is short, you need Python.* PyPi | [Homepage](https://awesome-python.com/) | [Source Code](https://github.com/vinta/awesome-python/) 1110 | 1111 | ![image](https://user-images.githubusercontent.com/12855744/139469805-289c2835-4d9a-4f54-a5e5-8022371365c1.png) 1112 | 1113 | A curated list of awesome Python frameworks, libraries, software and resources. Inspired by awesome-php. 1114 | 1115 | 1116 | 1117 | ## [Episode 313](https://talkpython.fm/episodes/show/313/automate-your-data-exchange-with-pydantic) 1118 | 1119 | - Title: Automate your data exchange with PyDantic 1120 | - Published Thu, Apr 22, 2021, recorded Wed, Apr 14, 2021. 1121 | - Guest: Samuel Colvin [@samuel_colvin](https://twitter.com/samuel_colvin) 1122 | 1123 | 1. **Starlette** - *The little ASGI library that shines.* [PyPi](https://pypi.org/project/starlette) | [Homepage](https://github.com/encode/starlette) | [Source Code](https://github.com/encode/starlette) 1124 | 1125 | 1126 | 1127 | Starlette is a lightweight ASGI framework/toolkit, which is ideal for building high performance async services. 1128 | 1129 | 1130 | 1131 | ## [Episode 312](https://talkpython.fm/episodes/show/312/python-apps-that-scale-to-billions-of-users) 1132 | 1133 | - Title: Python Apps that Scale to Billions of Users 1134 | - Published Sun, Apr 18, 2021, recorded Thu, Apr 8, 2021. 1135 | - Guest: Julien Danjou [@juldanjou](https://twitter.com/juldanjou) 1136 | 1137 | 1. **tenacity** - *Retry code until it succeeds* [PyPi](https://pypi.org/project/tenacity/) | [Homepage](https://tenacity.readthedocs.io/en/latest/) | [Source Code](https://github.com/jd/tenacity) 1138 | 1139 | Tenacity is an Apache 2.0 licensed general-purpose retrying library, written in Python, to simplify the task of adding retry behavior to just about anything. It originates from a fork of retrying which is sadly no longer maintained. Tenacity isn't api compatible with retrying but adds significant new functionality and fixes a number of longstanding bugs. 1140 | 1141 | 1142 | 1143 | ## [Episode 311](https://talkpython.fm/episodes/show/311/get-inside-the-.git-folder) 1144 | 1145 | - Title: Get inside the .git folder 1146 | - Published Thu, Apr 8, 2021, recorded Thu, Apr 1, 2021. 1147 | - Guest: Rob Richardson [@rob_rich](https://twitter.com/rob_rich) 1148 | 1149 | 1150 | 1. **git-hooks-js** - *Utility for managing and running project git hooks for nodejs projects.* ~~PyPi~~ [npm](https://www.npmjs.com/package/git-hooks) | [Homepage](https://www.npmjs.com/package/git-hooks) | [Source Code](https://github.com/tarmolov/git-hooks-js) 1151 | 1152 | git-hooks is an utility for managing and running project git hooks for nodejs projects. It has zero dependecies and easy to use. Just install git-hooks and it will run your hooks when a hook is called by git. 1153 | 1154 | 1155 | 1156 | ## [Episode 310](https://talkpython.fm/episodes/show/310/ama-ask-me-anything-with-michael) 1157 | 1158 | - Title: AMA (Ask Me Anything) with Michael 1159 | - Published Fri, Apr 2, 2021, recorded Wed, Mar 31, 2021. 1160 | - Guests: Kim van Wyk [@kim_vanwyk](https://twitter.com/kim_vanwyk) | Patrik Hlobil [@hlobilpatrik](https://twitter.com/hlobilpatrik) 1161 | 1162 | 1. **pySerial** - *Python Serial Port Extension.* [PyPi](https://pypi.org/project/pyserial) | [Homepage](https://github.com/pyserial/pyserial) | [Source Code](https://github.com/pyserial/pyserial) 1163 | 1164 | 1165 | 1166 | This module encapsulates the access for the serial port. It provides backends for Python running on Windows, OSX, Linux, BSD (possibly any POSIX compliant system) and IronPython. The module named "serial" automatically selects the appropriate backend. 1167 | 1168 | 2. **Click** - *Composable command line interface toolkit.* [PyPi](https://pypi.org/project/Click) | [Homepage](https://palletsprojects.com/p/click/) | [Source Code](https://github.com/pallets/click/) 1169 | 1170 | 1171 | 1172 | Click is a Python package for creating beautiful command line interfaces in a composable way with as little code as necessary. It’s the “Command Line Interface Creation Kit”. It’s highly configurable but comes with sensible defaults out of the box. It aims to make the process of writing command line tools quick and fun while also preventing any frustration caused by the inability to implement an intended CLI API. 1173 | 1174 | 1175 | ## [Episode 309](https://talkpython.fm/episodes/show/309/what-ml-can-teach-us-about-life-7-lessons) 1176 | 1177 | - Title: What ML Can Teach Us About Life: 7 Lessons 1178 | - Published Fri, Mar 26, 2021, recorded Fri, Mar 19, 2021. 1179 | - Guest: Eugene Yan [@eugeneyan](https://twitter.com/eugeneyan) 1180 | 1181 | 1. **Pytest** - *Simple powerful testing with Python.* [PyPi](https://pypi.org/project/pytest) | [Homepage](https://docs.pytest.org/) | [Source Code](https://github.com/pytest-dev/pytest) 1182 | 1183 | 1184 | 1185 | The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries. Can you belive that [Brian Okken](https://twitter.com/brianokken) has a [book](https://pragprog.com/titles/bopytest2/python-testing-with-pytest-second-edition/) about it? lol 1186 | 1187 | 1188 | ## [Episode 308](https://talkpython.fm/episodes/show/308/docker-for-python-developers-2021-edition) 1189 | 1190 | - Title: Docker for Python Developers (2021 Edition) 1191 | - Published Sat, Mar 20, 2021, recorded Tue, Mar 9, 2021. 1192 | - Guest: Peter McKee [@pmckee](https://twitter.com/pmckee) 1193 | 1194 | 1. **testcontainers-python** - *Test almost anything that can run in a Docker container.* [PyPi](https://pypi.org/project/testcontainers/) | [Homepage](https://github.com/testcontainers/testcontainers-python) | [Source Code](https://github.com/testcontainers/testcontainers-python) 1195 | 1196 | 1197 | 1198 | Testcontainers-python provides capabilities to spin up docker containers (such as a database, Selenium web browser, or any other container) for testing. 1199 | 1200 | 1201 | ## [Episode 307](https://talkpython.fm/episodes/show/307/python-from-1994-to-2021-my-how-youve-grown) 1202 | 1203 | - Title: Python from 1994 to 2021, my how you've grown! 1204 | - Published Thu, Mar 11, 2021, recorded Thu, Mar 4, 2021. 1205 | - Guests: Paul Everitt [@paulweveritt](https://twitter.com/paulweveritt) | Barry Warsaw [@pumpichank](https://twitter.com/pumpichank) 1206 | 1207 | There was no time for notable package, but it was an great episode! 1208 | 1209 | 1210 | ## [Episode 306](https://talkpython.fm/episodes/show/306/scaling-python-and-jupyter-with-zeromq) 1211 | 1212 | - Title: Scaling Python and Jupyter with ZeroMQ 1213 | - Published Fri, Mar 5, 2021, recorded Thu, Feb 11, 2021. 1214 | - Guest: Min Ragan-Kelley [@minrk](https://twitter.com/minrk) 1215 | 1216 | 1. **cibuildwheel** - *Build Python wheels on CI with minimal configuration.* [PyPi](https://pypi.org/project/cibuildwheel) | [Homepage](https://cibuildwheel.readthedocs.io/en/stable/) | [Source Code](https://github.com/pypa/cibuildwheel) 1217 | 1218 | 1219 | 1220 | Python wheels are great. Building them across Mac, Linux, Windows, on multiple versions of Python, is not. ```cibuildwheel``` runs on your CI server - currently it supports GitHub Actions, Azure Pipelines, Travis CI, AppVeyor, CircleCI, and GitLab CI - and it builds and tests your wheels across all of your platforms. 1221 | 1222 | 1223 | ## [Episode 305](https://talkpython.fm/episodes/show/305/python-community-at-python-discord) 1224 | 1225 | - Title: Python community at Python Discord 1226 | - Published Mon, Mar 1, 2021, recorded Thu, Feb 11, 2021. 1227 | - Guest: Leon Sandøy [@lemonsaurus_rex](https://twitter.com/lemonsaurus_rex) 1228 | 1229 | 1. **async-rediscache** - *An easy to use asynchronous Redis cache.* [PyPi](https://pypi.org/project/async-rediscache/) | [Homepage](https://github.com/SebastiaanZ/async-rediscache) | [Source Code](https://github.com/SebastiaanZ/async-rediscache) 1230 | 1231 | 1232 | 1233 | This package offers several data types to ease working with a Redis cache in an asynchronous workflow. The package is currently in development and it's not recommended to start using it in production at this point. 1234 | 1235 | 1236 | 1237 | ## Your support is always welcome 1238 | 1239 | The $100, 60-day free trial provides free credit up to $100 that must be used within 60 days [![DigitalOcean Referral Badge](https://web-platforms.sfo2.cdn.digitaloceanspaces.com/WWW/Badge%201.svg)](https://www.digitalocean.com/?refcode=440844193481&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge) 1240 | 1241 | 1242 | 1243 | 1244 | 1245 | 1246 | ## [Episode 304](https://talkpython.fm/episodes/show/304/asyncio-all-the-things-with-omnilib) 1247 | 1248 | - Title: asyncio all the things with Omnilib 1249 | - Published Sun, Feb 21, 2021, recorded Tue, Feb 16, 2021. 1250 | - Guest: John Reese [@n7cmdr](https://twitter.com/n7cmdr) 1251 | 1252 | 1. **seinfeld** - *Query a Seinfeld quote database* [PyPi](https://pypi.org/project/seinfeld/) | [Homepage](https://github.com/jreese/libseinfeld) | [Source Code](https://github.com/jreese/libseinfeld) 1253 | 1254 | 1255 | 1256 | Python library for querying Seinfeld quotes. Oh yeah, Seinfeld. 1257 | 1258 | 1259 | ## [Episode 303](https://talkpython.fm/episodes/show/303/python-for-astronomy-with-dr.-becky) 1260 | 1261 | - Title: Python for Astronomy with Dr. Becky 1262 | - Published Fri, Feb 12, 2021, recorded Thu, Feb 4, 2021. 1263 | - Guest: Dr. Becky Smethurst [@drbecky_](https://twitter.com/drbecky_) 1264 | 1265 | 1266 | 1. **notebook** - *A web-based notebook environment for interactive computing.* [PyPi](https://pypi.org/project/notebook/) | [Homepage](https://jupyter-notebook.readthedocs.io/en/stable/) | [Source Code](https://github.com/jupyter/notebook/) 1267 | 1268 | 1269 | 1270 | The Jupyter Notebook is a web application that allows you to create and share documents that contain live code, equations, visualizations, and explanatory text. The Notebook has support for multiple programming languages, sharing, and interactive widgets. 1271 | 1272 | 1273 | 1274 | ## [Episode 302](https://talkpython.fm/episodes/show/302/the-data-engineering-landscape-in-2021) 1275 | 1276 | - Title: The Data Engineering Landscape in 2021 1277 | - Published Thu, Feb 4, 2021, recorded Fri, Jan 29, 2021. 1278 | - Guest: Tobias Macey [@TobiasMacey](https://twitter.com/TobiasMacey) 1279 | 1280 | 1. **dagster** - *A data orchestrator for machine learning, analytics, and ETL.* [PyPi](https://pypi.org/project/dagster) | [Homepage](https://dagster.io/) | [Source Code](https://github.com/dagster-io/dagster) 1281 | 1282 | 1283 | 1284 | An orchestration platform for the development, production, and observation of data assets. Dagster lets you define jobs in terms of the data flow between reusable, logical components, then test locally and run anywhere. With a unified view of jobs and the assets they produce, Dagster can schedule and orchestrate Pandas, Spark, SQL, or anything else that Python can invoke. Dagster is designed for data platform engineers, data engineers, and full-stack data scientists. Building a data platform with Dagster makes your stakeholders more independent and your systems more robust. Developing data pipelines with Dagster makes testing easier and deploying faster. 1285 | 1286 | 1287 | 1288 | ## [Episode 301](https://talkpython.fm/episodes/show/301/deploying-and-running-django-web-apps-in-2021) 1289 | 1290 | - Title: Deploying and running Django web apps in 2021 1291 | - Published Thu, Jan 28, 2021, recorded Tue, Jan 19, 2021. 1292 | - Guests: Will Vincent's [Web](https://wsvincent.com) | Carlton Gibson [@carltongibson](https://twitter.com/carltongibson) 1293 | 1294 | 1. **bleach** - *An easy safelist-based HTML-sanitizing tool.* [PyPi](https://pypi.org/project/bleach/) | [Homepage](https://github.com/mozilla/bleach) | [Source Code](https://github.com/mozilla/bleach) 1295 | 1296 | 1297 | 1298 | `Bleac`h is an allowed-list-based HTML sanitizing library that escapes or strips markup and attributes. Bleach can also linkify text safely, applying filters that Django's urlize filter cannot, and optionally setting rel attributes, even on links already in the text. Bleach is intended for sanitizing text from untrusted sources. If you find yourself jumping through hoops to allow your site administrators to do lots of things, you're probably outside the use cases. Either trust those users, or don't. 1299 | 1300 | 1301 | ## [Episode 300](https://talkpython.fm/episodes/show/300/building-a-data-science-startup-panel) 1302 | 1303 | - Title: Building a data science startup (panel) 1304 | - Published Fri, Jan 22, 2021, recorded Thu, Jan 7, 2021. 1305 | - Guest: Ines Montani [@_inesmontani](https://twitter.com/_inesmontani) | Matthew Rocklin [@mrocklin](https://twitter.com/mrocklin) | Jonathon Morgan [@jonathonmorgan](https://twitter.com/jonathonmorgan) | William Stein [@wstein389](https://twitter.com/wstein389) 1306 | 1307 | There was no time for notable package, but it was an great episode! 1308 | 1309 | 1310 | ## [Episode 299](https://talkpython.fm/episodes/show/299/personal-search-engine-with-datasette-and-dogsheep) 1311 | 1312 | - Title: Personal search engine with datasette and dogsheep 1313 | - Published Sun, Jan 17, 2021, recorded Wed, Nov 18, 2020. 1314 | - Guest: Simon Willison [@simonw](https://twitter.com/simonw) 1315 | 1316 | 1. **flynt** - *String formatting converter.* [PyPi](https://pypi.org/project/flynt/) | [Homepage](https://github.com/ikamensh/flynt) | [Source Code](https://github.com/ikamensh/flynt) 1317 | 1318 | `flynt` is a command line tool to automatically convert a project's Python code from old "%-formatted" and .format(...) strings into Python 3.6+'s "f-strings". 1319 | 1320 | ## [Episode 298](https://talkpython.fm/episodes/show/298/building-ml-teams-and-finding-ml-jobs) 1321 | 1322 | - Title: Building ML teams and finding ML jobs 1323 | - Published Mon, Jan 11, 2021, recorded Wed, Nov 18, 2020. 1324 | - Guest: Chip Huyen [@chipro](https://twitter.com/chipro) 1325 | 1326 | 1. **papermill** - *Parameterizing, executing, and analyzing Jupyter Notebooks.* [PyPi](https://pypi.org/project/papermill/) | [Homepage](https://github.com/nteract/papermill) | [Source Code](https://github.com/nteract/papermill) 1327 | 1328 | 1329 | 1330 | `papermill` is a tool for parameterizing, executing, and analyzing Jupyter Notebooks. 1331 | 1332 | # 2020 1333 | # 2019 1334 | # 2018 1335 | # 2017 1336 | # 2016 1337 | # 2015 1338 | --------------------------------------------------------------------------------