Test & Code

Test & Code

Download on the App Store

Test & Code episodes

  • 197: Python project trove classifiers - Do you need this bit of pyproject.toml metadata? - Brett Cannon

    Classifiers are one bit of Python project metadata that predates PyPI.

     Classifiers are weird.

     They were around in setuptools days, and are still here with pyproject.toml. 

    • What are they? 
    • Why do we need them? 
    • Do we need them?
    • Which classifiers should I include?
    • Why are they called "trove classifiers" in the Python docs

    Brett Cannon joins the show to discuss these wacky bits of metadata.

    Here's an example, from pytest-crayons:

    [project]
    ...
    classifiers = [
    "License :: OSI Approved :: MIT License",
    "Framework :: Pytest"
    ]


    Links:

    • Classifiers · PyPI
    • PEP 621 – Storing project metadata in pyproject.toml | peps.python.org
    • Packaging Python Projects — Python Packaging User Guide — Configuring metadata
    • PEP 639 – Improving License Clarity with Better Package Metadata | peps.python.org
    • SPDX



    34 min
  • 196: I am not a supplier - Thomas Depierre

    Should we think of open source components the same way we think of physical parts for manufactured goods?

     There are problems with supply chain analogy when applied to software.

     Thomas Depierre discusses some of those issues in this episode. 


    Links:

    • I am not a supplier - article



    37 min
  • 195: What would you change about pytest? - Anthony Sottile

    Anthony Sottile and Brian discuss changes that would be cool for pytest, even unrealistic changes. These are changes we'd make to pytest if we didn't ahve to care about backwards compatibilty.

    Anthony's list:

    1. The import system
    2. Multi-process support out of the box
    3. Async support
    4. Changes to the fixture system
    5. Extend the assert rewriting to make it modular
    6. Add matchers to assert mechanism
    7. Ban test class inheritance

    Brian's list: 

    1. Extend assert rewriting for custom rewriting, like check
    2. pytester matchers available for all tests
    3. Throw out nose and unittest compatibility plugins
    4. Throw out setup_module, teardown_module and other xunit style functions
    5. Remove a bunch of the hook functions
    6. Documentation improvement of remaining hook functions which include examples of how to use it
    7. Start running tests before collection is done
    8. Split collection and running into two processes
    9. Have the fixtures be able to know the result of the test during teardown


    Links:

    • anthonywritescode - YouTube
    • anthonywritescode - Twitch
    • pytest-asyncio · PyPI
    • async test patterns for pytest
    • future-fstrings · PyPI
    • re-assert · PyPI
    • numpy.testing
    • Sourcegraph



    59 min
  • Test & Code Returns

    A brief discussion of why Test & Code has been off the air for a bit, and what to expect in upcoming episodes.

    Links:

    • Python Testing with pytest, 2nd Edition
    • Getting started with pytest Online Course
    • Software Testing with pytest Training
    • Python Bytes Podcast
    7 min
  • 193: The Good Research Code Handbook - Patrick Mineault

    I don't think it's too much of a stretch to say that software is part of most scientific research now.
     From astronomy, to neuroscience, to chemistry, to climate models. 
     If you work in research that hasn't been affected by software yet, just wait.

    But how good is that software? 

    How much of common best practices in software development are making it to those writing software in the sciences?

    Patrick Mineault has written "The Good Research Code Handbook". 
     It's a website. It's concise. 
     And it will put you on the right path to writing better software.
     Even if you don't write science based software, and even if you already have a CS degree, there's some good information worth reading.

    Special Guest: Patrick Mineault.


    Links:

    • The Good Research Code Handbook
    • game-wrath-jam: A game jam game, theme: Wrath
    • Robotron 2084 - Arcade - YouTube
    • The Book of Why: The New Science of Cause and Effect



    44 min
  • 192: Learn to code through game development with PursuedPyBear - Piper Thunstrom

    The first game I remember coding, or at least copying from a magazine, was in Basic. It was Lunar Lander. 

    Learning to code a game is a way that a lot of people get started and excited about programming. 

    Of course, I don't recommend Basic. Now we've got Python. And one of the game engines available for Python is PursuedPyBear, a project started by Piper Thunstrom. 

    Piper joins us this episode and we talk about PursuedPyBear, learning to code, and learning CS concepts with game development. 

    PursuedPyBear, ppb, is a game framework great for learning with, with goals of being fun, education friendly, an example of idiomatic Python, hardware library agnostic, and built on event driven and object oriented concepts.

    Special Guest: Piper Thunstrom.


    Links:

    • PursuedPyBear | Unbearably Fun Game Development
    • Piper's Blog
    • Making Games With PPB - PyTexas
    • Shooter Game by Piper Thunstrom
    • shootergame on GitHub
    • Briefcase— BeeWare
    • game-blink: A tiny emergent behavior toy.
    • Combat (Atari 2600) — The tank game I didn't remember the name of.
    • Lunar Lander



    43 min
  • 191: Running your own site for fun and absolutely no profit whatsoever - Brian Wisti

    Having a personal site is a great playground for learning tons of skills. Brian Wisti discusses the benefits of running a his own blog over the years.


    Links:

    • Random Geekery
    • Jamstack
    • Eleventy
    • Netlify
    • Plausible Analytics
    • pytest
    • Beautiful Soup
    • pyinvoke - Invoke!
    • rsync
    • Internet Archive : archive.org
    • Rich
    • Statamic
    • jamstack.org
    • A static site generator should be your next language learning project



    47 min
  • 190: Testing PyPy - Carl Friedrich Bolz-Tereick

    PyPy is a fast, compliant alternative implementation of Python.
     cPython is implemented in C.

     PyPy is implemented in Python.
     What does that mean?

     And how do you test something as huge as an alternative implementation of Python?

    Special Guest: Carl Friedrich Bolz-Tereick.


    Links:

    • PyPy
    • How is PyPy Tested? 
    • PyPy Speed
    • Python Speed Center



    51 min
  • 189: attrs and dataclasses - Hynek Schlawack

    In Python, before dataclasses, we had attrs.
     Before attrs, it wasn't pretty.

    The story of attrs and dataclasses is actually intertwined. 
     They've built on each other.
     And in the middle of it all, Hynek.

    Hynek joins the show today to discuss some history of attrs and dataclasses, and some differences.

    If you ever need to create a custom class in Python, you should listen to this episode.


    Links:

    • attrs documentation
    • History of attrs and introduction to attrs namespace
    • cattrs: Complex custom class converters for attrs. — python-attrs
    • PEP 557 – Data Classes
    • PEP 681 – Data Class Transforms



    33 min

About Test & Code

From the publisher's feed

The Python Test Podcast hosted by Brian Okken

More shows like Test & Code

Radiolab by WNYC Studios

Radiolab

43,853 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

623 Listeners

Heavy Networking by Packet Pushers

Heavy Networking

327 Listeners

Talk Python To Me by Michael Kennedy

Talk Python To Me

582 Listeners

Python Bytes by Michael Kennedy and Calvin Hendryx-Parker

Python Bytes

213 Listeners

Darknet Diaries by Jack Rhysider

Darknet Diaries

8,059 Listeners

The Real Python Podcast by Real Python

The Real Python Podcast

139 Listeners

Unexplainable by Vox

Unexplainable

2,313 Listeners

Network Automation Nerds by Packet Pushers

Network Automation Nerds

5 Listeners