atlas news
    
Python Test
01  décembre     00h00
Is Cyber Monday still a thing?
   I kinda forgot about CyberMonday.&#However, when I saw a bunch of announcements this morning, I figured why not participate.&#&#The Complete pytest Course bundle&#&#Use CYBERMONDAY to save 50% off Dec 1 only&#&#&#Python Testing with pytest, 2nd edition, eBook&#&#Pragmatic has left the SAVE50 code...
10  novembre     23h24
Explore Python dependencies with pipdeptree and uv pip tree
   Sometimes you just want to know about your dependencies, and their dependencies. I’ve been using pipdeptree for a while, but recently switched to uv pip tree. Let’s take a look at both tools. pipdeptree pipdeptree is pip installable, but I don’t want pipdeptree itself to be reported alongside...
02  novembre     00h00
Announcing the Lean TDD book
   There are many great ideas that I’ve gotten from TDD, Lean, Pragmatic, and more. For the past few years, I’ve really wanted to write a book about TDD, with an emphasis on using Lean teachings to cut out all the waste, and then grow TDD into more of a project wide process. To motivate myself to just...
26  octobre     15h13
Polite lazy imports for Python package maintainers
   If you are a maintainer of a Python package, it’s nice if you pay attention to the time it takes to import your package. Further, if you’ve got a Python package with multiple components where it’s probable that many users will only use part of the package, then it’s super nice if you set up your...
13  octobre     11h00
Python lazy imports you can use today
   There’s a proposal, PEP 810 - Explicit lazy imports for Python to natively support lazy importing starting in Python 3.15. However, it has not been accepted yet, and even if it is accepted, 3.15 is a year away. What do we do now? The techniques covered in this post that allow you to use lazy...
10  octobre     12h14
Installing Python 3.14 on Mac or Windows
   The easiest way to install Python 3.14 (or 3.13, 3.12, 3.11, 3.10, 3.10, ...) I originally wrote this post in 2022 for Python 3.11. From 2022 through 2024, I remained of the belief that installing from python.org was the best option for most people. However, 2025 changed that for me, with uv and uv...
    08h10
Testing against Python 3.14
   Python 3.14 is here. If you haven’t done so, it’s time to update your projects to test against 3.14. The following procedure is what I’m following for a handful of projects. Your process of course may be different if you use different tools. Honestly, I’m partly writing this down so I don’t have to...
06  octobre     13h30
pytest-check 2.6.0 release
   There’s a new release of pytest-check. Version 2.6.0. This is a cool contribution from the community. The problem In July, bluenote10 reported that check.raises() doesn’t behave like pytest.raises() in that the AssertionError returned from check.raises() doesn’t have a queryable value. Example of...
13  septembre     00h00
Timeline of Selected Software Events
   There are a lot of events in the history of software development. This is a list of dates that have some significance in either the stuff I work with or methodologies. I’ve compiled this list for my own benefit in thinking about my history and how these things have led to my current software...
05  septembre     00h00
Python People podcast now at pythontest.com pythonpeople
   Like the recent archival of Test and Code, the Python People podcast has also moved. Python People is now at pythontest.com pythonpeople. Is it also archived? As in done? I don’t think so. I think I might start that up again at some point. But for now, it’s on a long-ish term pause. BTW, the RSS...
01  septembre     00h00
Test and Code Archive is now available
   I really appreciate all of the positive feedback I’ve gotten when I announced that I was stopping the Test & Code podcast. I mean, I didn’t get any good idea, you that’s a terrible show feedback, thankfully. But I did get a lot of people saying that I should keep it alive somehow. So, it’s now...
15  août     00h00
Test and Code 238 - So Long, and Thanks for All the Fish
   &#&#&#Test and Code Episode Archive&#XML feed URL for podcast players&#&#A farewell to a fun 10 years.Also, I should have tested it better. :)In the audio I got the numbers wrong. Doh This is episode 238, not 237. Oh well.I’ll still be around, of course, at:pythontest.com - where I write about...
11  août     00h00
Test and Code 237 - FastAPI Cloud - Sebastián Ramà rez
   &#&#&#Test and Code Episode Archive&#XML feed URL for podcast players&#&#In this episode, Brian interviews Sebastián Ramà rez, creator of FastAPI, about its rapid rise in developer popularity and the launch of FastAPI Cloud. Sebastian explains how FastAPI Cloud addresses deployment challenges...
06  août     13h13
pytest fixtures nuts and bolts - revisited
   In 2013 2014 I wrote a 4 part series on pytest fixtures. It started out fine-ish. And then by part 4 I crammed way too many concepts into one huge post. Well, I’ve recently reviewed all of this, and split the posts into one concept each made sure all of the info was correct for modern versions of...
30  juillet     00h00
Test and Code 236 - Git Tips for Testing - Adam Johnson
   &#&#&#Test and Code Episode Archive&#XML feed URL for podcast players&#&#In this episode, host Brian Okken and guest Adam Johnson explore essential Git features, highlighted by Adam’s updated book, Boost Your Git DX. Key topics include cherry picking for selective commits git stash for managing in...
22  juillet     00h00
Test and Code 235 - pytest-django - Adam Johnson
   &#&#&#Test and Code Episode Archive&#XML feed URL for podcast players&#&#In this episode, special guest Adam Johnson joins the show and examines pytest-django, a popular plugin among Django developers. He highlights its advantages over the built-in unittest framework, including improved test...
27  mai     00h00
Time Machine back to 2012
   I’m doing some blog cleanup. New look I just recently have this shiny new theme for the blog. I’m really loving the colors, and the ability to shamelessly plug my courses in the right side-bar. (Below the content if you’re reading on mobile). New analytics I don’t want to track anyone. But I do...
26  mai     01h22
Unravelling t-strings with pytest
   Brett Cannon recently released a great article explaining how Python 3.14’s new t-strings work. Here’s the article: Unravelling t-strings. He built up the functionality of how t-strings work in a way that you can follow along even if you don’t have 3.14.0b1 (where t-strings are instroduced), all...
07  mai     00h00
Test and Code 234 - pytest-metadata - provides access to test session metadata
   &#&#&#Test and Code Episode Archive&#XML feed URL for podcast players&#&#pytest-metadata is described as a plugin for pytest that provides access to test session metadata. That is such a humble description for such a massively useful plugin. If you’re already using pytest-html, you have pytest...
02  mai     00h00
Test and Code 233 - pytest-check - allow multiple failures per test
   &#&#&#Test and Code Episode Archive&#XML feed URL for podcast players&#&#pytest-check is a pytest plugin that allows multiple failures per test.Normally, a test function will fail and stop running with the first failed assert. That’s totally fine for tons of kinds of software tests. However, there...
25  avril     00h00
Test and Code 232 - The role of AI in software testing - Anthony Shaw
   &#&#&#Test and Code Episode Archive&#XML feed URL for podcast players&#&#AI is helping people write code. Tests are one of those things that some people don’t like to write. Can AI play a role in creating automated software tests? Well, yes. But it’s a nuanced yes. Anthony Shaw comes on the show...
10  avril     00h00
Test and Code 231 - pytest-repeat - works fine on Python 3.14
   Test and Code Episode Archive XML feed URL for podcast players pytest-repeat is a pytest plugin that makes it easy to repeat a single test, or multiple tests, a specific number of times. works fine on Python 3.14is tested on Python 3.9-3.14probably works fine still on 3.7 & 3.8This episode also...
01  avril     00h00
Test and Code 230 - Python 3.14 won’t repeat with pytest-repeat
   &#&#&#Test and Code Episode Archive&#XML feed URL for podcast players&#&#pytest-repeat is a pytest plugin that makes it easy to repeat a single test, or multiple tests, a specific number of times. Note: This was an April Fools attempt, so the statement ... Unfortunately, it doesn’t seem to work...
27  mars     00h00
Test and Code 229 - pytest-html - a plugin that generates HTML reports for test results
   Test and Code Episode Archive XML feed URL for podcast players pytest-html has got to be one of my all time favorite plugins. pytest-html is a plugin for pytest that generates a HTML report for test results. This episode digs into some of the super coolness of pytest-html.pytest-htmlrepo readme...
28  février     00h00
Test and Code 228 - pytest-md and pytest-md-report - Markdown reports for pytest
   Test and Code Episode Archive XML feed URL for podcast players Markdown reports as either text or markdown tables.Two fun plugins discussed.Links:pytest-md-reportpytest-mdTop pytest Plugins Transcript The standard pytest output is actually pretty good. It’s come a long way since I started using...
07  février     00h00
Test and Code 227 - Mocking in Python with unittest.mock - Michael Foord
   &#&#&#Test and Code Episode Archive&#XML feed URL for podcast players&#&#This episode is a replay of a 2021 interview I did with Michael Foord.We lost Michael in January, and I’d like to revisit this interview as a tribute. Michael Foord was a pivotal figure in the Python community and the creator...
31  janvier     00h00
Test and Code 226 - pytest-mock - Mocking in pytest
   &#&#&#Test and Code Episode Archive&#XML feed URL for podcast players&#&#pytest-mock is currently the #3 pytest plugin. pytest-mock is a wrapper around unittest.mock.In this episode:Why the pytest-mock plugin is awesomeWhat is mocking, patching, and monkey patchingWhat, if any, is the difference...
23  janvier     00h00
Test and Code 225 - pytest-cov - The pytest plugin for measuring coverage
   &#&#&#Test and Code Episode Archive&#XML feed URL for podcast players&#&#pytest-cov is a pytest plugin that helps produce coverage reports using Coverage.py.In this episode, we’ll discuss:what Coverage.py iswhy you should measure code coverage on both your source and test codewhat pytest-cov...
10  janvier     00h00
Test and Code 224 - pytest plugins - a full series
   Test and Code Episode Archive XML feed URL for podcast players This episode kicks off a series on pytest plugins.In this episode:Introduction to pytest pluginsThe pytest.org pytest plugin listFinding pytest related packages on PyPIThe Top pytest plugins list on pythontest.comExploring popular...
15  décembre     23h00
Testing some tidbits with pytest
   I noticed a fun post by Ned Batchelder called Testing some tidbits. The post looks at different ways to see if a string has only 0 or 1 in it. He posted a few ways on Bluesky Mastodon and got a bunch of replies with more ways. And then wrote a small script to check to see if they worked. It’s a fun...
16  novembre     00h00
Test and Code 223 - Writing Stuff Down is a Super Power
   &#&#&#Test and Code Episode Archive&#XML feed URL for podcast players&#&#Taking notes well can help to listen better, remember things, show respect, be more accountable, free up mind space to solve problems.This episode discussesthe benefits of writing things downpreparing for a meetingtaking...
20  octobre     00h00
Start Here
   If you’re looking for a great place to learn pytest, I recommend the course or book below. However, I’m biased, as I’m the creator of both. Resources Python Testing with pytest, 2nd Edition - book - Great for learning pytest offline pytest Courses - video - Great for learning pytest online...
07  septembre     00h00
Test and Code 222 - Import within a Python package
   &#&#&#Test and Code Episode Archive&#XML feed URL for podcast players&#&#In this episode we’re talking about importing part of a package into another part of the same package.We’ll look at: from . import module and from .module import something and also: import package to access the external API...
25  août     00h00
Top pytest Plugins
   This is intended to find the most popular (as determined by download count) pytest plugins, as plugins usually have pytest in the name. Counts are the number of downloads over 30 days. The list Data last updated: 2025-10-01 06:34:06 # Package Downloads Summary 1 pytest-cov 87,734,659 ...
24  août     21h00
Finding the top pytest plugins
   What are the top downloaded pytest plugins? I want to know this. And I’d like the answer updated regularly. So today I decided to write a script to do that for me. Grab data Let’s start with Top PyPI Packages from Hugo van Kemenade. This list is A monthly dump of the 8,000 most-downloaded packages...
03  juin     00h00
Test and Code 221 - How to get pytest to import your code under test
   &#&#&#Test and Code Episode Archive&#XML feed URL for podcast players&#&#We’ve got some code we want to test, and some tests.The tests need to be able to import the code under test, or at least the API to it, in order to run tests against it.How do we do that? How do we set things up so that our...
09  mai     00h00
Python People 14 - Shauna Gordon-McKeon - Open Source Governance, Women’s Soccer, and Django
   &#&#This is a really fun talk with Shauna. We talk about: Going from academia to techDjangoOpen source project governance and Governing OpenWomens Soccer and the NWSLShauna’s technical consulting business is Galaxy Rise Consulting&#Show notes and resources can be found at pythontest.com...
04  mai     00h00
Python People 13 - Rob Ludwick - Getting the most out of PyCon, including juggling
   &#&#PyCon US is just around the corner. I’ve asked Rob Ludwick to come on the show to discuss how to get the most out of your PyCon experience. There’s a lot to do. A lot of activities to juggle, including actual juggling, which is where we start the conversation.Even if you never get a chance to...
    00h00
Test and Code 220 - Getting the most out of PyCon, including juggling - Rob Ludwick
   &#&#&#Test and Code Episode Archive&#XML feed URL for podcast players&#&#PyCon US is just around the corner. I’ve asked Rob Ludwick to come on the show to discuss how to get the most out of your PyCon experience. There’s a lot to do. A lot of activities to juggle, including actual juggling, which...
23  avril     00h00
Test and Code 219 - Building Django Apps and SaaS Pegasus - Cory Zue
   &#&#&#Test and Code Episode Archive&#XML feed URL for podcast players&#&#I’m starting a SaaS project using Django, and there are tons of decisions right out of the gate. To help me navigate these decisions, I’ve brought on Cory Zue. Cory is the creator of SaaS Pegasus, and has tons of experience...
17  avril     00h00
Test and Code 218 - Balancing test coverage with test costs - Nicole Tietz-Sokolskaya
   &#&#&#Test and Code Episode Archive&#XML feed URL for podcast players&#&#Nicole is a software engineer and writer, and recently wrote about the trade-offs we make when deciding which tests to write and how much testing is enough.We talk about:Balancing schedule vs testingHow much testing is the...
11  avril     00h00
Test and Code 217 - Podcasting SaaS Work Life Balance - Justin Jackson
   &#&#&#Test and Code Episode Archive&#XML feed URL for podcast players&#&#If you’ve ever thought about starting a podcast or a SaaS project, you’ll want to listen to this episode. Justin is one of the people who motivated me to get started podcasting. He’s also running a successful SaaS company,...
11  mars     00h00
Test and Code 216 - ruff, uv, and Astral - Python tooling, much faster, with Rust
   &#&#&#Test and Code Episode Archive&#XML feed URL for podcast players&#&#Charlie Marsh and team are using Rust to make Python tooling faster.Ruff can take the place of Flake8, isort, and Black, and so much more.uv can take the place of pip, pip-tools, and virtualenvAstral is Charlie’s venture...
25  février     00h00
Test and Code 215 - Staying Technical as a Manager
   &#&#&#Test and Code Episode Archive&#XML feed URL for podcast players&#&#Software engineers that move into leadership roles have a struggle between learning leadership skills, maintaining technical skills, and learning new leadership and technical skills. Matt Makai went from individual...
08  février     00h00
Python People 12 - Nikita Karamov - Russia, Germany, Django, and Jazzband
   &#&#Nikita Karamov is a Python developer and maintainer on various open source Python projects.Some topics covered:Notes on university education in programming and engineering vs theoryJazzband for maintaining Django projectsContributing to open source makes you a better programmerMoving from...
06  février     00h00
Test and Code 214 - Python Testing in VS Code
   &#&#&#Test and Code Episode Archive&#XML feed URL for podcast players&#&#If you haven’t tried running automated tests, especially with pytest, in VS Code recently, you should take another look.The Python for VS Code interface for testing, especially for pytest, has changed recently. On this...
29  janvier     12h00
pytest 8 is here
   pytest 8.0.0 was released on 17-Jan-2024, and I’m pretty excited about it. I’m not going to cover all fo the changes, I’ll just highlight a few. For full set of changes, see the pytest changelog: Changes in 8.0.0rc1 Changes in 8.0.0rc2 Changes in 8.0.0 Version Compatibility Dropped support for...
19  janvier     00h00
Test and Code 213 - Repeating Tests
   Test and Code Episode Archive XML feed URL for podcast players If a test fails in a test suite, I’m going to want to re-run the test. I may even want to re-run a test, or a subset of the suite, a bunch of times. There are a few pytest plugins that help with this:pytest-repeatpytest...
16  janvier     00h00
Python People 11 - Pamela Fox - Teaching Python, Accessibility, and Tools
   &#&#Pamela Fox is a Python Cloud Developer Advocate at Microsoft. Topics include:Girl Develop ItDjango GirlsGirls Who CodeTeaching a language vs teaching a toolWhat a dev advocate doesAccessibility (A11y) testingPlaywrightaxe-coreSnapshot testingpytest plugin authoringFlask SQLAlchemyRelearning...
13  janvier     00h00
Python People 10 - Julian Sequeira - Pybites, Australia, Mindset, and Teaching New Programmers
   &#&#Julian Sequeira is a cofounder of Pybites. He’s a Python coach, a podcaster, a career mindset advocate, and is learning guitar.Topics include:Learning guitarVacationing in CanadaPybitesSplitting finances with BobBuilding a community and a teamCoachingConscious positivityAustralia is full of...