Python Bytes

By: Michael Kennedy and Brian Okken
  • Summary

  • Python Bytes is a weekly podcast hosted by Michael Kennedy and Brian Okken. The show is a short discussion on the headlines and noteworthy news in the Python, developer, and data science space.
    Copyright 2016-2024
    Show More Show Less
activate_Holiday_promo_in_buybox_DT_T2
activate_samplebutton_t1
Episodes
  • #405 Oh Really?
    Oct 14 2024
    Topics covered in this episode: Briefer: Dashboards and notebooks in a single placeIntroduction to programming with Pythonsetup-uvHTML for peopleExtrasJokeWatch on YouTube About the show Sponsored by ScoutAPM: pythonbytes.fm/scout Connect with the hosts Michael: @mkennedy@fosstodon.orgBrian: @brianokken@fosstodon.orgShow: @pythonbytes@fosstodon.org Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Michael #1: Briefer: Dashboards and notebooks in a single place Notebooks and dashboards with Python, SQL, scheduling, native visualizations, code generation, and more.In Briefer, you can: Create notebooks and dashboards using Markdown, Python, SQL, and native visualizations. Build interactive data apps using inputs, dropdowns, and date pickers. Generate code and queries using an AI that understands your database schema and your notebook's context. Schedule notebooks and dashboards to run and update periodically. Create and test ad-hoc pipelines using writebacks.Briefer vs. Traditional BI Tools: Briefer is better than traditional BI tools because it's faster and more flexible, thanks to Python.Briefer vs. Traditional Notebooks: In Briefer, you can run SQL queries against connected data sources directly in your notebook. Then, Briefer will automatically turn your query into a data frame and store it in a variable that you can use in your Python blocks. Brian #2: Introduction to programming with Python Jose Blanca “Python intro aimed at students with no prior programming experience.”“Relies mainly on examples and exercises.”“Does not try to cover every detail of the Python language, but just what a beginner might need to start the journey.”Tech: “… built with the quarto publishing system complemented by the quarto live extension that allows Python to run in the web browser by using pyodide.”Runs on anything, since it doesn’t require a local install of PythonRunning 3.12.1, looks like. Although that’s a bit hidden. Seems like it should be more visible. Michael #3: setup-uv Set up your GitHub Actions workflow with a specific version of uvInstall a version of uv and add it to PATHCache the installed version of uv to speed up consecutive runs on self-hosted runnersRegister problem matchers for error output(Optional) Persist the uv's cache in the GitHub Actions Cache(Optional) Verify the checksum of the downloaded uv executable Brian #4: HTML for people Teaching HTML in a rather fun way.Includes basic CSS Extras Michael: A new article: We Must Replace uWSGI With Something ElseDjango unique email login Joke: So much O’Really
    Show More Show Less
    23 mins
  • #404 The Lost Episode
    Oct 7 2024
    Topics covered in this episode: Python 3.13.0 released Oct 7PEP 759 – External Wheel Hostingpytest-freethreadedpytest-editExtrasJokeWatch on YouTube About the show Sponsored by ScoutAPM: pythonbytes.fm/scout Connect with the hosts Michael: @mkennedy@fosstodon.orgBrian: @brianokken@fosstodon.orgShow: @pythonbytes@fosstodon.org Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Brian #1: Python 3.13.0 released Oct 7 That’s today!What’s New In Python 3.13 Interpreter (REPL) improvements exit works (really, this is worth the release right here)Multiline editing with history preservation. history sticks around between sessionsDirect support for REPL-specific commands like help, exit, and quit, without the need to call them as functions.Prompts and tracebacks with color enabled by default.Interactive help browsing using F1 with a separate command history.History browsing using F2 that skips output as well as the >>> and … prompts.“Paste mode” with F3 that makes pasting larger blocks of code easier (press F3 again to return to the regular prompt).exit now works without parensImproved error messages Colorful tracebacksBetter messages for naming a script/module the same name as a stdlib module.naming a script/module the same name as an installed third party module.misspelling a keyword argumentFree threaded CPython Included in official installers on Windows and macOS Read these links to figure out how - it’s not turned on by defaultLot’s more. see the What’s new page Michael #2: PEP 759 – External Wheel Hosting pypi.org ships over 66 petabytes / month backed by FastlyThere are hard project size limits for publishers to PyPIWe can host the essence of a .whl as a .rim file, then allow an external download URLSecurity: Several factors as described in this proposal should mitigate security concerns with externally hosted wheels, such as: Wheel file checksums MUST be included in .rim files, and once uploaded cannot be changed. Since the checksum stored on PyPI is immutable and required, it is not possible to spoof an external wheel file, even if the owning organization lost control of their hosting domain.Externally hosted wheels MUST be served over HTTPS.In order to serve externally hosted wheels, organizations MUST be approved by the PyPI admins. Brian #3: pytest-freethreaded PyCon JP 2024 Team: This extension was created at PyCon JP sprints with Anthony Shaw and 7 other folks listed in credits.“A pytest plugin for helping verify that your tests and libraries are thread-safe with the Python 3.13 experimental freethreaded mode.”Testing your project for compatibility with freethreaded Python. Testing in single thread doesn’t test that.Neither does testing with pytest-xdist, because it uses multiprocessing to parallelize tests.So, Ant and others “made this plugin to help you run your tests in a thread-pool with the GIL disabled, to help you identify if your tests are thread-safe.”“And the first library we tested it on (which was marked as compatible) caused a segmentation fault in CPython! So you should give this a go if you're a package maintainer.” Michael #4: pytest-edit A simple Pytest plugin for opening editor on the failed tests.Type pytest --edit to open the failing test code Be sure to set your favorite editor in the ENV variables Extras Michael: New way to explore Talk Python courses via topics This has been in our mobile apps since their rewrite but finally comes to the webLet's go easy on PyPI, OK? essayHynek’s video: uv IS the Future of Python Packaging djade-pre-commitPolyfill.io, BootCDN, Bootcss, Staticfile attack traced to 1 operatorPurgeCSS CLI Python 3.12.7 releasedIncremental GC and pushing back the 3.13.0 releaseuv making the roundsLLM fatigue, is it real?Take the Python Developers Survey 2024 Joke: Funny 404 pages We have something at least interesting at pythonbytes.fm
    Show More Show Less
    31 mins
  • #403 A machine learning algorithm walks into a bar…
    Sep 30 2024
    Topics covered in this episode: uv under discussion on Mastodonerdantic: Entity Relationship DiagramsExtra, Extra, ExtraDjango Extra, Extra, ExtraExtrasJokeWatch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python TrainingThe Complete pytest CoursePatreon Supporters Connect with the hosts Michael: @mkennedy@fosstodon.orgBrian: @brianokken@fosstodon.orgShow: @pythonbytes@fosstodon.org Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Michael #1: uv under discussion on Mastodon It’s interesting that uv is slightly controversialRussell:As enthusiastic as I am about the direction uv is going, I haven't adopted them anywhere - because I want very much to understand Astral’s intended business model before I hook my wagon to their tools.Hynek:As much as I hate VC, [...] FOSS projects flame out all the time too. … To me uv looks like a genius sting to trick VCs into paying to fix packaging. We’ll be better off either way.Glyph:Rust is more expensive and difficult to maintain, not to mention "non-native" to the average customer here. … it can burn out all the other projects in the ecosystem simultaneously, creating a risk of monocultureHynek on Rust:I don’t think y’all quite grok what uv makes so special due to your seniority. The speed is really cool, but the reason Rust is elemental is that it’s one compiled blob that can be used to bootstrap and maintain a Python development.Christopher Neugebauer:Just dropping in here to say that corporate capture of the Python ecosystem is the #1 keeps-me-up-at-night subject in my community work, so I watch Astral with interest, even if I'm not yet too worried.Armin RonacherWhat uv is doing, even in the worst possible future this is a very forkable and maintainable thing.Finally, see the comment at the end by Charlie Marsh Brian #2: erdantic: Entity Relationship Diagrams “erdantic is a simple tool for drawing entity relationship diagrams (ERDs) for Python data model classes. Diagrams are rendered using the venerable Graphviz library.”Supported data modeling frameworks are: Pydantic V2Pydantic V1 legacyattrsdataclasses Michael #3: Extra, Extra, Extra Added Python Bytes Search as a custom search engine.Along came passkeys. A cool idea that quickly turned evil.Follow up from post and my conversation last week: vaultwarden (via Pablo)uv publishTrying the tabs on bottom lifestyle inspired by ArcAdding Python Bytes (and Talk Python) as custom search engines.PyCon 2025 dates: From 14 May through 22 May, 2025 Brian #4: Django Extra, Extra, Extra Django Project Ideas Evgenia VerbinaProject ideas with list of tech stack stuff you’ll learn and/or work on with the projectEx: Recipe organizer tech stack: Django templates, Django ORM, Optional JavaScript“Familiarize yourself with Django’s ORM (object-relational mapper) and database support by building an app to keep track of your favorite recipes. Add a web-based frontend with options to filter recipes by category, ingredients, and user ratings so you can easily browse for inspiration.”DjangoTV Jeff TriplettDjango conference videos and tutorials.Django Commons Heard about from Lacey Henschel“Django Commons is an organization dedicated to supporting the community's efforts to maintain packages. It seeks to improve the maintenance experience for all contributors; reducing the barrier to entry for new contributors and reducing overhead for existing maintainers.”Django 5 has simplified templates for better form field renderingBut if you want a completely different take on forms, maybe try iommi forms They wrote about it on Why we wrote a new form library for DjangoDjade: a Django template formatter Adam JohnsonLike black or ruff, but for Django templates. Extras Brian: The Open Source Project Maintainer's Guide Suggested by Rafael Weingartner Joke: A Machine Learning algorithm walks into a bar…
    Show More Show Less
    25 mins

What listeners say about Python Bytes

Average customer ratings

Reviews - Please select the tabs below to change the source of reviews.