
Kapitelklicken springt direkt hin
Shownotes
Topics covered in this episode:
• Your GitHub language bar is lying (how to fix it) (mkennedy.codes/posts/your-github-language-bar-…)
• Python Typing Survey 2026: developers mix type checkers, and AI is writing the hints (engineering.fb.com/2026/10/27/developer-tools/…)
• Flask Vibe - Build Apps You Can Understand (flaskvibe.com/?featured_on=pythonbytes)
• Python on my wrist: MicroPython on a PineTime (tildeweb.nl/~michiel/python-on-my-wrist.html?f…)
• Extras
• Joke
Watch on YouTube (youtube.com/watch?v=o63T94KiWng)
About the show
Sponsored by us! Support our work through:
• Our courses at Talk Python (training.talkpython.fm/?featured_on=pythonbytes)
• Consulting from Six Feet Up (sixfeetup.com/?featured_on=pythonbytes)
Connect with the hosts
• Michael: Mastodon (fosstodon.org/@mkennedy) / BlueSky (bsky.app/profile/mkennedy.codes?featured_on=py…) / X (x.com/mkennedy?featured_on=pythonbytes) / LinkedIn (linkedin.com/in/mkennedy/?featured_on=pythonby…)
• Calvin: Mastodon (sixfeetup.social/@calvin?featured_on=pythonbytes) / BlueSky (bsky.app/profile/calvinhp.com?featured_on=pyth…) / X (x.com/calvinhp?featured_on=pythonbytes) / LinkedIn (linkedin.com/in/calvinhp/?featured_on=pythonby…)
• Show: Mastodon (fosstodon.org/@pythonbytes) / BlueSky (bsky.app/profile/pythonbytes.fm) / X (x.com/PythonBytes?featured_on=pythonbytes)
Join us on YouTube at pythonbytes.fm/live (pythonbytes.fm/stream/live) to be part of the audience. Usually Tuesday at 7am 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 (pythonbytes.fm/friends-of-the-show), we'll never share it.
Michael #1: Your GitHub language bar is lying (how to fix it) (mkennedy.codes/posts/your-github-language-bar-…)
GitHub's language bar comes from Linguist, which counts every tracked byte in the repo. Michael's chameleon-rs project read as 75.5% HTML because committed docs-site output and test suites outweighed the Rust engine. Three .gitattributes attributes changed the story: linguist-generated for build output, linguist-vendored for an upstream test suite, and linguist-detectable=false for tests and benchmarks on both sides. The bar now shows the real mix, roughly 62% Rust and 38% Python.
• That bar is one of the first things people see on your repo; if generated files skew it, a few lines of .gitattributes tell the truth.
• The bar is byte-proportional, so a 9 MB committed docs build can make a Rust project read as mostly HTML
• linguist-generated hides build output and collapses those diffs in pull requests too
• linguist-vendored covers copied-in code; linguist-detectable=false drops anything from the stats
• chameleon-rs went from 75.5% HTML to roughly 62% Rust and 38% Python after a few lines of config
• Tests and benchmarks were excluded symmetrically, on both the Rust and Python sides, so neither skews the ratio
• Check patterns before pushing with git check-attr; GitHub recalculates a few minutes after the push
Calvin #2: Python Typing Survey 2026: developers mix type checkers, and AI is writing the hints (engineering.fb.com/2026/10/27/developer-tools/…)
• Meta's 2026 Python Typing Survey results: 1,794 responses, Aug 5 - Sep 2. Pyrefly (Meta), JetBrains, Microsoft and Astral's ty team helped write it.
• Typing is stable: 85.5% use hints often or always (88.0% in 2024). Which checker people use is not stable.
• 49.9% run two or more checkers (46.0% in 2025), and 83.3% of Pyrefly users also run another one. Speed is the top reason for picking a checker (56.5%).
• Checkers disagree: 33.3% report inconsistencies between them, rising to 42.7% among multi-checker users.
• AI is writing the types: 42.5% had AI write hints, and 38.4% say types make AI code more reliable (18.5% last year).
• 29.8% are "not sure" whether types help AI-assisted coding, about 4x the uncertainty on any other benefit.
• Help sources flipped: Stack Overflow 46.4% to 22.9% and LLM chat 26.0% to 41.7%, 2024 to 2026.
• Top pain is still missing library types (65.1%; Django, SQLAlchemy, pandas, NumPy). The most-wanted feature is better Callable syntax (45.7%). Raw data zip is linked.
Michael #3: Flask Vibe - Build Apps You Can Understand (flaskvibe.com/?featured_on=pythonbytes)
Flask Vibe is a new tutorial site from Frederick Tubiermont, a developer who started coding at 47 and builds with Flask, PostgreSQL, raw SQL, and vanilla JS. The pitch: AI assistants generate more reliable, easier-to-verify code when the stack has no build step, no ORM, and no hydration. It ships a manifesto, tutorials on modular vanilla JS and AI-friendly coding patterns, and a Flask plus psycopg2 CRUD walkthrough.
• For vibe coders burned by Next.js defaults on Lovable or Replit, this is a concrete, opinionated case that simpler Python stacks pair better with AI-generated code.
• Claims a structural 1.8x LCP win over Next.js on the same dashboard app: 905ms vs 1.66s, both scoring Lighthouse 100
• Tutorials cover modular vanilla JS, AI-friendly coding patterns, and Flask CRUD with raw psycopg2 SQL and no ORM
• Creator started Python at 47 in 2022 and runs the site on the stack it teaches; the homepage is 42 KB with Lighthouse 100
• Solo London-based project (adsyme Ltd), launched via an r/flask self-post in February 2026; early, opinionated, and the benchmark leans on one self-run comparison with its methodology published on site
Calvin #4: Python on my wrist: MicroPython on a PineTime (tildeweb.nl/~michiel/python-on-my-wrist.html?f…)
• Michiel (Python Leiden user group) runs MicroPython on a PineTime, Pine64's ~$26 open smartwatch: 64 MHz Cortex-M4, 64 KB RAM, 512 KB flash.
• He revived wasp-os, a dormant MicroPython watch OS stuck on a 2019 MicroPython fork whose maintainer is asking for new maintainers (issue #536).
• The build is now one command with uv. Bluetooth flashing uses bleak instead of the deprecated gatttool, cutting update time from over 8 minutes to about 3.5.
• Free RAM at boot went from 7.1 KB to 12.4 KB by using the flash chip's real 4 KB blocks. He also added a watchdog, plus vibration, touch and I2C dead-battery fixes.
• His three upstream PRs (frozen native code, PWM, ADC sample time) are merged, so wasp-os now runs on mainline MicroPython. They're targeted for MicroPython 1.30, planned for December.
• New faces: a Dutch week clock, and an 8-bit pixel clock that draws its digits without any font data and shows a live Unix epoch counter.
• The Guido app: a 16-color, 80x80 run-length-encoded portrait (photo by Kushal Das, CC BY-SA). All four images total under 12 KB, versus 112 KB for one raw screen.
• Next up is the PineTime Pro (AMOLED, GPS, dual-core M33), with no release date yet. Code is on the pinetime-upstream-micropython branch of mbeijen/wasp-os.
Extras
Calvin:
• PyPI now caps version strings at 128 characters — blog.pypi.org/posts/2026-10-23-version-length-…
• Wagtail Space — wagtail.org/wagtail-space-2026
Michael:
• Thanks Hugo: Lots of Python releases for Cybersecurity Awareness Month (hugovk.dev/blog/2026/cybersecurity-awareness/?…)
• Talk Python Meetup: Talk Python in Production: Building Your Own Infrastructure (talkpython.fm/meetups/talk-python-in-productio…)
Joke: Binging red buttons …
Transkriptvom Podcast bereitgestellt · Zeitmarken springen hin
Calvin Hendryx-Parker Hello and welcome to Python Bytes, where we deliver Python news and headlines directly to your earbuds. This is episode 503, recorded November 2nd, 2026. I'm Calvin Hendryx-Parker.
Michael Kennedy And I'm Michael Kennedy.
Calvin Hendryx-Parker Glad to have you here, Michael. We are supported today by us. So make sure you check out the awesome courses that Michael and team have done over on Talk Python. So check that out, talkpython.fm. And the fine folks at Six Feet Up. So I'm co-founder and CTO at Six Feet Up. We love solving hard problems. We have an incredible team and I'd love to talk to you about doing some awesome stuff together.
Calvin Hendryx-Parker Make sure you connect with both of us over on Mastodon Bluesky X and LinkedIn. And then the show is also on Mastodon Bluesky X. And you can join us for the live stream right here on YouTube each week at pythonbytes.fm/live. Be a part of that live audience. Normally we're on Tuesdays. Sometimes we record a little off schedule, but you'll always get a notification when we go live.
Calvin Hendryx-Parker And finally, if you want an artisanal handcrafted digest of each show's notes in an email form with added bonus material, add your name to our friends of the email show list and we'll never share it to anyone, but you'll get cool stuff from Michael and I. So Michael, speaking of languages.
Michael Kennedy What's cool, I'll tell you what, I've got some GitHub knowledge to drop here. So I've been working on this project. I announced it last week, I believe it was my rust dot my chameleon dash rs the chameleon language re-implemented in rust which is so super fast and is actually foreshadowing just something that is a building block for something to come bigger it's just the bigger thing as well go over there and star his work yeah thanks and but one of the things that really bugged me is i was over there and i'm looking at it let's see can i find it here so i was over here looking at it and you scroll down what i don't know do you do this Calvin, I do this a lot.
Michael Kennedy Like I'll go to the project. I will. Interesting project. What is it made from? And I'll look in the language down here in this section, right? Well, until two days ago, three days ago, until recently, it said it was 85% HTML. I'm like, nah, that ain't right. This is, how am I going to fix this? Well, why did it say that?
Michael Kennedy It said that because I have my site, which is built by the great, great docs, but it's just a static site content. And sure, I could have a separate repo with the docs, but I'd rather have it all in one place, right? At least for this project, it's kind of a monorepo, right? I write the code. I build the docs.
Michael Kennedy I ship them up. I ship the site section over to a static site where you can find somewhere you can find all the docs. Anyway, you can find basically the great docs docs page, right? So that was my problem. I want those things in the repo, but it really bugs me that 85% of my project is reported as HTML.
Michael Kennedy and a good chunk of it's reported as Python when it's actually not.
Calvin Hendryx-Parker I've seen this before. Like I go look at a project and it's 60% CSS.
Michael Kennedy Yes, exactly. No, no, it's not. It just has a one megabyte CSS thing that's like
Calvin Hendryx-Parker Ginomous fine work like stuffed in there.
Michael Kennedy So there's actually a really nice fix. And I wrote about it. So I'm linking to this blog post that I wrote, but I wrote about it specifically so I could share it on the show here. I'm just like, I got to write it down somewhere so people have like the steps, you know, I don't want to just describe it.
Michael Kennedy All right, so what there is, is there's a.get attributes thing put in your GitHub, a .gitignore, but this is the.git attributes. And you can use it to configure GitHub and Git in different ways. So over in Git, there's this thing called Linguist, which is their library language detection tool. And you can speak to it through this Git attributes.
Michael Kennedy So what you can say is, you can say, just like a Git ignore file, you would say, ignore this folder, right? Like temp forward slash. Dog is very excited about Git ignore. But Git dog, this is not Git ignore, Why does it get attributes? So what you do is you do like a .gitignore type of statement, like an expression, and then you put this after it.
Michael Kennedy So you would say linguist generated, and that marks that is build output. So it doesn't just remove it from that calculation in the bottom. In fact, what it does is it also collapses all the diffs in PRs. So I think that's pretty cool. If not only do you not have to look at it, you don't see like, yeah, this is a 7 billion line diff because you rebuilt the docs.
Calvin Hendryx-Parker Yeah. No, I like the fact that you can speak to it from, can get more accurate results on it. Because like you said, it could be really minimal rust in the end to get the same effect and you wouldn't really be showcased.
Michael Kennedy Right. Or maybe you have a ton of unit tests on top of it and you don't want to say, well, my project is really the unit test. No, you want it to be the library. It just happens to have unit tests. So one thing I did for Chameleon is I wanted to make sure that the Chameleon RS is identical to what, if somebody adopts it, it's identical to what they used before.
Michael Kennedy We're not similar. Byte for byte, identical. That means the unit tests. That means the bytes that come out. And so on. So what I did is I vendored into the repo, not the library, but the repo, all the tests that came with Chameleon originally. But guess what? That means, oh, you got a whole ton of Python tests.
Michael Kennedy Like, well, yes, but I can say linguist vendored. And that also makes it stay out of the stats. But it tells it like, this is actually, you might want to see this in a Git diff, but it's brought in from something else and it doesn't count. Like that might apply to your CSS example. You know what I mean?
Calvin Hendryx-Parker Well, every time.
Michael Kennedy You can also do docs. Like in my example, there's a docs folder that is at the source for great docs. And then there's the compiled output, which is the great doc site. So I should probably put this on documentation to say like, this is actually not HTML that counts. This is HTML just for documentation.
Michael Kennedy And you can also just say, don't count this, right? Detectable is false. So I put some examples like site slash star star is linguist generated and test upstream star stars linguist vendor.
Calvin Hendryx-Parker Isn't that cool? Yeah, it's really cool. But can you get those stats separate now from the ones about your actual project? Or did it just completely ignored?
Michael Kennedy That's an interesting question. There is a CLI you can run to actually get it to tell you what linguist thinks. I'm pretty sure playing with that. But I think, yeah, yeah, here it is actually. Git check adder, linguist generated, linguist detectable. So you could probably put the flags in here.
Calvin Hendryx-Parker And then you can report on it.
Michael Kennedy Yeah, see what it says.
Calvin Hendryx-Parker Nice.
Michael Kennedy So now my project is 61% Rust and 40, sorry, 30% Python.
Calvin Hendryx-Parker I like that. And it's kind of more of a truth in advertising. It's actually a Rust project.
Michael Kennedy Yeah. I think it's a little bit more Python than it. I think the bar, the language bar is a little bit over reporting still. There might be like some utilities and stuff that really don't count, but you know what? It's close enough. It's not 85% HTML.
Calvin Hendryx-Parker Right. That's the important part.
Michael Kennedy That was what I'm going for. And it's in the ballpark.
Calvin Hendryx-Parker HTML is a programming language.
Michael Kennedy I know. And CSS is as well. I cannot stand these developer surveys that are like, guess what the three most popular languages are?
Calvin Hendryx-Parker It's JavaScript,
Michael Kennedy C++, and CSS. You're like, CSS is not a... It may be Turing complete, but no one is shipping a dedicated standalone app in CSS. So no, it's out.
Calvin Hendryx-Parker Right.
Michael Kennedy Yeah, I don't know. I mean, I guess that makes sense. It appears, but still. Anyway, this is a kind of a cool trick that you can find. So I wrote this up and gave people details so they can just follow along.
Calvin Hendryx-Parker Nice. We'll go update your metadata and that I'll put into your repositories. That's super cool.
Michael Kennedy Yeah.
Calvin Hendryx-Parker Speaking of metadata and tooling, the Python typing survey for 2026 has released its findings. So the groups involved here were Meta, JetBrains, Microsoft, and Astral were behind getting this. they had about 18, almost 1800 results, responses to the survey itself. And so you can come here to the Facebook or the meta engineering page.
Calvin Hendryx-Parker They've got a breakdown of what they saw. What's interesting is that the typing for the last three years that they've done the survey has stayed pretty stable, you know, between kind of 88% and 85.5% of folks are basically who responded are using type checkers, type hints in their code. The thing that's not stable is actually checker they're using that has been changing.
Calvin Hendryx-Parker So there's some obvious new folks on the scene, like a Ty from Astral. And then there's some folks who've been around a while, quite a while, like the Microsoft ones and the JetBrains groups too. So there's also the thing is that a lot of people are running more than one type checker at a time. So a lot of times it depends on what framework they're using at what time, what's what's used in CI versus what's used in their IDE.
Calvin Hendryx-Parker And if two people are using two different IDEs, One of them might have the one that just kind of comes out of the box with a VS Code and other people might be using the one that they're, you know, their preferences. And another one that happens to here is people who are getting the checker run automatically because they're using some kind of agentic harness to run the code too.
Calvin Hendryx-Parker So there's a lot going on there. And so in 2025, 46% had two or more checkers. And now that's up to like, I think 56% or no 49%. So it's just bumped up almost to 50% at this point who are running more or one checker at a time. What else got reported here? If you read through the report, there's a lot of sections where people had kind of freeform typed in what they thought their responses or what their responses were to these pieces.
Calvin Hendryx-Parker A lot of folks I think are upset with AI. You've used AI before to write some code. Sometimes AI can be a little lazy. It can be a little overly broad with its type hints that may put on to some of the... So that's a problem that people complained about. The AI writing types basically, they've got about 43% are writing the type hints, but 38% says the AI makes the code more readable.
Calvin Hendryx-Parker But they're not sure whether the AI is actually helping because sometimes they're just overly broad. So I think if you can get good skills in your stack, make sure you tell it to write better type hints for your use cases. There was another one in here, let's see here, gap, because basically, oh, they got some graphs at the bottom.
Calvin Hendryx-Parker Here it is. Depending on how you use or how often you use types, depending on how you felt about them. Maybe that's not shocking to some people, but if you were rarely using types and you were using them, you would think that they were too complex or too verbose. And the opposite was kind of true. If you rarely use types, you thought that the missing type information from third party libraries maybe wasn't actually frustration, where people who were very senior in using it, obviously that was a big frustration for folks.
Calvin Hendryx-Parker So big thing to get basically discovered or surfaced through this report was the fact that a lot of third-party libraries either don't have hints on them at all, or it's kind of poorly implemented. Maybe the AI threw overly broad ones in there. So it's a lot, it again gets pretty broad and pretty hard to use if you don't have good type hints available to you.
Calvin Hendryx-Parker There's new ones on them, like I mentioned before, Astral's Tie. You'll see here, this graph is the 2026 is the 2025 results, the 2026 in blue, the mypy and PyLance Pyrite usage has dropped slightly, but you can see here, Ty has started to take a much more commanding position. Last year it was 16%, this year is 37% compared to mypy and PyLance being like around 46% each.
Calvin Hendryx-Parker So those three very commonly used, and you still got Pyrefly down in here and a couple other ones in the mix. So Kind of cool. Folks who are interested in checking it out. I think, again, a lot of frustration comes down to the third-party libraries. If you're a seasoned Python coder and you're trying to use these tools for real, it can get frustrating.
Calvin Hendryx-Parker So if you're a maintainer of a library, I think the message is get out there and make sure you tighten up your type hints game.
Michael Kennedy Definitely tighten up your type hints and particular attention to the stuff that is your public interface. Like if it's some internal thing, who cares? But if 100,000 people are going to be using it, put a little effort in that.
Calvin Hendryx-Parker Yeah. And so, I mean, there's some major projects that are guilty of this. I think the frustration and the ones that were listed were things like SQLAlchemy, Pandas, NumPy, and Django. Yeah. Those are big projects. They've been around a long time.
Michael Kennedy I have heard of them.
Calvin Hendryx-Parker You've heard of them.
Michael Kennedy I have heard of them. Yes, I have. That's good, Michael. I got a quick follow-up, by the way. Are you familiar with TypeShed? Where you have these, like, if there's not actual types that people can work with.
Calvin Hendryx-Parker No.
Michael Kennedy There's, like, all these stubs. So different things can either install these or whatever. So you're like, all right, PySox doesn't actually have types because why not, people? I don't know. But you can install this thing that just defines the signatures in a type way and put that alongside your project.
Michael Kennedy And so I thought that this was for projects that did not have types, period. But what I learned earlier this year, I think it was, even if you do have really nice type signatures and stuff in your library, Python doesn't necessarily trust it. And the official type checkers don't trust it unless you put in pytyped.
Michael Kennedy Are you familiar with this? P-Y dot typed. Basically, if you ship this file, it can be an empty file. But if you put this in your package, then the Python type checkers say this package has declared it actually cares about types and have set them explicitly. And we will use this type information authoritatively rather than just maybe.
Michael Kennedy So anyway, a follow up to your comments. package maintainers out there, please read about this, this py.type thing. And just, it's no work. You just put a file in there. And long as you have typed, this now makes the type checkers trust it.
Calvin Hendryx-Parker Yeah. And another thing they mentioned in the survey results were the developer experience. A lot of times, maybe if you had good type hints, even on the code, you didn't have good annotations about maybe a friendly message saying what was wrong when there's an error, when that type is incorrect, for example, it was a thing that people wished for.
Michael Kennedy Yeah, for sure. Okay.
Calvin Hendryx-Parker Well, let's keep building some maps, Michael.
Michael Kennedy Let's vibe it up a little bit here. All right. So I want to talk about this place built by, the guy was on Talk Python a while ago, Frederick Tubermont. Fred. So he put together this site that's kind of a manifesto. I mean, you've heard of manifestos before. Often they're kind of weird by people and like they've disconnected.
Michael Kennedy But there also can be things like the Agile Manifesto.
Calvin Hendryx-Parker The Agile Manifesto comes to mind. That's not a bunch of weird people. They're nice and short and concise.
Michael Kennedy Not Unabomber. But there's this place called flaskvibe.com that he put together. And I don't, I think it's just for the heck of it. I'm not really sure what the, if there's any more to it, but it has a manifesto. And the idea, like the H2 or whatever, is build apps you can understand. Flask, Postgres, Plain, SQL, plus Vanilla JS.
Michael Kennedy Like don't overcomplicate it. I think this resonates a lot with me. And I just wanted to bring this up as kind of an example to give to people. Because I've been building my apps this way the last couple of years, and it's been pretty amazing. What do you think?
Calvin Hendryx-Parker I like this approach that kind of first principles don't throw on every fancy framework under the sun because it's kind of even more complex the deeper you go with those frameworks. As opposed to this approach where it's, like you said, SQL, vanilla JavaScript. Like the AIs will write, if you're using this for the vibe coding, it'll write clearer code you can understand.
Michael Kennedy Yeah. And a lot of times you use these frameworks, like you called out SQLAlchemy. It'll appear here in a second. like SQLAlchemy, they're there to hide the complexity from you, but they themselves kind of obscure things a little bit. The AIs are really good at all the little details. And if they're going to write it, like you might be getting in their way more than helping them, you know?
Calvin Hendryx-Parker Yeah.
Michael Kennedy So there's some examples that says like, look, let's compare this to Next.js versus Flask. You got node modules, 300 megs. You got your package.json, 50 dependencies. You got your next.config.js, your tsconfig.json, your eslintrc, your.next build cache, your webpack, your babble, et cetera, et cetera.
Michael Kennedy And that's like five minutes to build and install. Do you have all the tools and the trans? Versus app.py, 15 lines, requirements.txt, three dependencies, templates, static. We're done. Let's roll. You know what I mean?
Calvin Hendryx-Parker You probably make it even smaller with just uv and pipeproject.toml.
Michael Kennedy Yeah. Or I'm sure someone's done this. build a flask app where it's actually that, that PEP where you just put the dependencies at the top and you just my
Calvin Hendryx-Parker favorite one.
Michael Kennedy Yeah. I forgot the number like seven 23, seven 38,
Calvin Hendryx-Parker I think seven. Yeah.
Michael Kennedy So you, you know better than I do. Um, so this is pretty neat. And if you go look through, it's got some tutorials. Now the tutorials are interesting, but like, let me see if I can find an example here. I don't know.
Calvin Hendryx-Parker I like, I like the big end, the first principles, especially if you're new, this is going to help you understand actually what's being written and you, you will become a better developer through this process too, I imagine.
Michael Kennedy I would definitely think so. So the examples are great, but some of them I found there to be very light on architectural guidance. Like it'll have a flask view and a SQL query with a SQL. It is by coding,
Calvin Hendryx-Parker Michael.
Michael Kennedy It's true. It is. It totally is. But yeah, you can check out the manifesto and it's got some really nice, nice bits in here. You know, like we prefer transparency over magic.
Calvin Hendryx-Parker Yeah. It's almost Python tenants there from like Xenopython.
Michael Kennedy It's very Python inspired. I don't know where the SQL, do they talk about SQLAlchemy in this one? I don't know. In the manifesto, we don't know. Yeah, like here. So like user equals user.query.filterby, email equal this.first. Like, oh, like exactly. Like what is all this doing versus just, you know, select star from, like you can see exactly.
Michael Kennedy These are the parameters.
Calvin Hendryx-Parker Yeah, but when, when I grew up not as a SQL person, as a object-oriented database person. And so SQL, when it gets big and long and hairy, but it's definitely not human readable anymore.
Michael Kennedy I am 100% with you. And I love ORMs.
Calvin Hendryx-Parker Yeah.
Michael Kennedy But if something else is right in it and it's better at this and it's faster and it's lower memory and I don't have to read it. Like if I'm not going to read it either way.
Calvin Hendryx-Parker Have good tests.
Michael Kennedy I should stop defaulting. Yeah, it's true. But I should also stop defaulting to things that benefit.
Calvin Hendryx-Parker Yeah, the human.
Michael Kennedy Me, but hurt like runtime, hurt memory, hurt like the AI's capability, right? Like at least it's worth considering the trade-off. So anyway, I present to you a probably vibe-coded build apps you can understand in Flask by sight.
Calvin Hendryx-Parker Anyway, it's worth looking at. I bet you can swap out like FastAPI in here for Flask. But maybe that's against his manifesto. Like I don't want to mess with his vibe. I'll make a new one.
Michael Kennedy Fred's an interesting character. He learned to code, started learning at 47, and has like released a couple of SaaS apps that are like semi-successful or something. It's never too late. He's an interesting character.
Calvin Hendryx-Parker It's never too late. It's never too late. I love that.
Michael Kennedy I mean, it's all about getting the timing right, wouldn't you say?
Calvin Hendryx-Parker I would say it's about getting Python on your wrist. Have you ever wanted to wear Python on you, like on your wristwatch, for example? Yes. This is really cool. So I found this one out there. It's a guy from the Netherlands who had basically a Pine Time, which if you've ever been to pine64.os or they make a bunch of open hardware.
Calvin Hendryx-Parker If you look at a picture of it, what kind of watch does that look like? I mean, it looks like an Apple Watch. Apple?
Michael Kennedy It does look like an Apple Watch.
Calvin Hendryx-Parker It does look like an Apple Watch. It does look like an Apple Watch. It's not an Apple Watch. Apple Watches are like $700 starting range for a watch. Guess how much this one costs?
Michael Kennedy Gosh, I don't know. Is it from Adafruit?
Calvin Hendryx-Parker $25, like $26 I think. Oh my goodness. So it's around $26 and you get an open smartwatch. But the issue is, it runs the bottom of the box. it comes with a C++ framework running in the embedded OS on it. So there was a MicroPython out there that getting a little long in the tooth. From 2019, it was a fork called Wasp OS.
Calvin Hendryx-Parker So it's like a wearable Python OS for your smartwatch. And Michael decided he would update it for today's version of MicroPython. So he's gone through and forked the Wasp OS into his own version of that over here. You can see this. And it's got docs. It's up to date with some new bits and stuff in here.
Calvin Hendryx-Parker It's cool. It's interesting 'cause now it works with uv. Bluetooth flashing is actually a lot faster than it was prior. I mean, he bought this watch that it looks like, I think back in 2023 is what it says on the post. And it was just sitting in a drawer. And so he pulled it back out, went and looked at the Wasp OS, decided I'm gonna bring this up to date.
Calvin Hendryx-Parker So he forked it and noticed, note that the Wasp OS notes it's looking for new maintainers. I think they might've found one here. Hopefully Michael continues with the work he's been doing on it. It's all done with uv and Bluetooth. Like you basically flash it with a newer version of the Bluetooth tool.
Calvin Hendryx-Parker The free RAM at boot. So this watch doesn't have much memory on it. I can't remember what the exact, oh yeah, it's 64 kilobytes of RAM, bytes of RAM. It has 512 kilobytes of flash for storage and it's a 64 megahertz. I am not in this speaking, those, if you catch the stats there, it's very, very small.
Calvin Hendryx-Parker Basically, as he redid the project, your free booted RAM went from only seven kilobytes free to 12 kilobytes free, which is a considerable amount considering how little is there to start with. He's told it. Yeah, so you've got room for apps now and you can write the apps in Python. He also added in things like watchdog and some vibration stuff and touch controls some battery fixes.
Calvin Hendryx-Parker So it's quite a few upstreamed or new features into the OS itself. Now it runs the mainline MicroPython. So the new version for MicroPython 1.3 is targeted for December. There's also on the app itself, if you go back into the tier, you get a nice kind of story about all the new things you put in there. It's like swiping works and you don't have to do buzzing only the vibration stuff works and he added some apps so some new faces so you got watch faces you can program in how you want it to display the time you can also have he wrote a guido app and it shows the creator of python we're doing awesome here on the on the first swipe you swipe it again it gets the python logo swipe it a third time the micro python logo and he swipe it a fourth time and is
Calvin Hendryx-Parker the logo for his meetup in the netherlands uh which i can't remember the name of it exactly but But yeah, you've got an app that you can run and it runs in the, what was it? I say 12K of free memory available on the watch. Pretty cool.
Michael Kennedy Maybe you could load some of it into high mem and get it to run a little better.
Calvin Hendryx-Parker Yeah. Yeah. So yeah, here's the device over here, pine64.org. You can actually go buy the open watch for like I said, 26 bucks. It's crazy. They are working. Apparently there's rumors of a Pine Time Pro, which will have an AMOLED screen, GPS. So the current one has heart rate and what's the other thing that was on there?
Calvin Hendryx-Parker It's not super capable other than it has like a heart rate monitor on it. So you can step, step counting. That's what it was. The new one will have GPS and an AMOLED screen and a dual core M33 processor, obviously with probably more memory, more storage, more flash. But the idea that it is open and inexpensive means there's potential to hack and play with it.
Calvin Hendryx-Parker Another cool thing, I kind of do a little digging, went down the rabbit hole in the Pine64. They have a voice, open voice module that you can work with a home assistant voice. They're Pine Voice. - Oh,
Michael Kennedy that's cool.
Calvin Hendryx-Parker And it's like 50 bucks. So very reasonably priced. I get the impression though, that they are meant for the hacker community, probably not meant for putting this on grandma's desk for turning the lights on and off with your home assistant just yet. But I think it'll get there. And so that's pretty cool.
Calvin Hendryx-Parker I don't know if you've ever wanted to have Python on your wrist, but you can now using the news for code. We like it. Pine Time OS for the Wasp. That's super neat. Yeah.
Michael Kennedy Yeah, yeah, that's super neat. I like it.
Calvin Hendryx-Parker Yeah, I love wearables, so I had to pick this one and put it up here because I would love to get this, have some more attention on the project itself because 26 bucks doesn't have to be expensive.
Michael Kennedy It's like a Casio watch.
Calvin Hendryx-Parker I think that's how they describe it. It's kind of like your old school programmable Casio watch, but the screen looks beautiful. I mean, it's way better. I mean, it's way better, and you can make it do other things. Like the watch face you put up here has the Epoch time on it, So time since, you know, Jan 1, 1970 on there.
Michael Kennedy So in 2038, is that going to be negative?
Calvin Hendryx-Parker I don't know. That's a good question. I'm going to buy one. 26 bucks. I mean, I think I need to have one of these.
Michael Kennedy That's pretty excellent.
Calvin Hendryx-Parker Very cool.
Michael Kennedy All right, how about extra? While you got your screen up, got anything extra to share? Oh, sure.
Calvin Hendryx-Parker Yeah, I do, actually. Let me put this up on the screen. There's a couple quick announcements. Let me grab the link here. Here we go. PyPI. PyPI. I'm going to have a hard time with that one still. Now limits versions to 128 characters. And did you know, Michael, that there are a Python version of a package on PyPI that is 217 characters long?
Michael Kennedy Oh, my goodness. Does that include like the machine architecture and all that? Or is it just the package name itself?
Calvin Hendryx-Parker It's whatever you've got in the version. So, I mean, most of them are five characters or fewer. Yes, like 1.4. The version. Yes. So your version is now limited to 128 characters.
Michael Kennedy So constraining. I can't do it.
Calvin Hendryx-Parker Yeah, there were only out of 9.9 million releases on PyPI, only two had a version that were near that long. So I think we're safe now. I think that's just all the work they're doing to get the stuff a little more in line and safe for us. The other quick extra I wanted to mention was Wagtail Space is coming up.
Calvin Hendryx-Parker So if you are in the Django and the Wagtail CMS world, and even if you're not, maybe you're just wanting to toy with it. This is a free virtual conference that is November 18th, 20th. So later this month and yours truly will be speaking. I'm gonna be giving a talk about how to scale Wagtail on Kubernetes.
Calvin Hendryx-Parker So it'll be a little bit of a talk about how we use like Argo CD and a lot of other cool tools to basically scale something that can run a CMS on Wagtail. But definitely go, its registration is free. You can see the schedule. There are a ton of great speakers. I mean, I'm the least interesting maybe of the people who are on this list.
Calvin Hendryx-Parker There's some really great people who are contributors to the Wagtail project who are speaking. So come and check it out. I'd appreciate more registrations for Wagtail space.
Michael Kennedy It's beautiful. And they can do it online, right?
Calvin Hendryx-Parker Yeah, it's all online. It's all virtual. You don't have to go any place for it. And you can join the Wagtail folks for a fun day.
Michael Kennedy Yeah, cool.
Calvin Hendryx-Parker Or two days.
Michael Kennedy All right. Is that it for your items?
Calvin Hendryx-Parker Yeah, that's it for me. What do you got, Michael?
Michael Kennedy All right, I'm stealing the screen. So quick shout out to Hugo, release manager. Lots of Python releases for Cybersecurity Awareness Month. Oh boy, is it definitely cybersecurity awareness. Even if it's not officially, there's been so many things. And there's like, there's a
Calvin Hendryx-Parker It's more of a moving sliding window of 30 days.
Michael Kennedy Yeah, it's like trying to play whack-a-mole, but you're the mole and you just got to keep running. There's like a new unpatched vulnerability in the Linux kernel for in the TCP layer. That's going to be fun. Have you heard this?
Calvin Hendryx-Parker No. Yeah,
Michael Kennedy it's MC, the Anthropic found a vulnerability and released it to the folks and so on, but they haven't been able to fix it yet. And so if you send the right kind of request and you have MPTCP, I think, something like that. I don't remember the exact protocol, but yeah, that's not good. So we're going to see where that goes.
Calvin Hendryx-Parker But so yeah,
Michael Kennedy Cyber Awareness Month. Stay on target, everyone.
Calvin Hendryx-Parker Tell your friends. Oh, I love the logo is a five and a quarter floppy disk.
Michael Kennedy It is. Oh my God, it's a true floppy disk. Alas, a real floppy disk. So it says, hey, I, being Hugo, made seven Python releases when I thought there were going to be two in October. And so altogether, we made 16 Python releases when five were originally planned with X releases, da-da-da, not a security release, but a lot of announcements.
Calvin Hendryx-Parker Thank you to that team. Yes,
Michael Kennedy huge thanks to Sovereign Tech Agencies Fellowship, supporting my own work in all the releases, indeed. And all the awesome people like Savannah, Thomas, Pablo, Ned, and Seth, and so on.
Calvin Hendryx-Parker So anyway, quick shout-out for that. Keeping us all safe.
Michael Kennedy Yeah, and Pat sent that over. Thanks for sending that in, Pat. Also, just really quick, over at the Talk Python membership, this week, if you go to the tech meetups, guess what's coming on Wednesday?
Calvin Hendryx-Parker On Wednesday.
Michael Kennedy Yeah, the building and maintaining your own infrastructure for Python. I'm going to be doing that. And I have some surprises I'm not going to really tell anyone until that talk.
Calvin Hendryx-Parker You got to be there.
Michael Kennedy Got to show up. So I'll link to that in the show notes as well. And with that, let's close it out with a joke.
Calvin Hendryx-Parker All right.
Michael Kennedy So this is a, what would you choose, Calvin? I'm going to pose this to you.
Calvin Hendryx-Parker Okay.
Michael Kennedy You probably haven't seen this because I just picked this joke five minutes before the show started. So here we go. It's like the Ren and Stimpy button. Like, which would you choose? Oh, so stressful. Which big red button would you press? One is, what code would you rather maintain? Fix and maintain your code of choice.
Michael Kennedy Fortran code from 1969 or Vibe code from 2025? I don't know.
Calvin Hendryx-Parker I'm going to go. That's hard. Fortran.
Michael Kennedy are you going Fortran maybe I'm going vibe code I'm at least it's in like modern tools well if I
Calvin Hendryx-Parker can maintain it with uh modern tools yeah well yeah dude this is do you have to maintain it by hand
Michael Kennedy then oh I don't know gosh I still don't know it could be a modern language but it's gonna be
Calvin Hendryx-Parker gnarly it better be a modern language I know I mean that was my first computer science class I ever
Michael Kennedy took in college was Fortran mine too I tried to take C++ and I was in an engineering program they said you could take that as an elective you have to do fortran first that would be the most important right course you will ever take in your life i'm like you guys are so out of touch i cannot believe i was like please let me take this please please like nope f77 yeah it was amazing amazingly uh something anyway i don't know what i would pick but it is a very stressful red button that is a very stressful not stressful was our episode was it no it was really good thank you for joining us
Calvin Hendryx-Parker and we'll see you all. Are we recording next week? We're a week off in there someplace. But perhaps. Perhaps. Or we'll see you next week. Or soon on the air.
Michael Kennedy We'll leave a surprise for the listeners.
Calvin Hendryx-Parker Right. You just have to go to pythonbytes.fm and check and see.
Michael Kennedy That's right. All right.
Calvin Hendryx-Parker We'll see you all later.