Anmelden

Python Bytes· Folge 500

#500 Episode 500!

Mittwoch, 14. Oktober 2026 · 1 h 08

MP3

Shownotes

Topics covered in this episode:

• A quick chat with Brian looking back

• Extras

• Joke

Watch on YouTube (youtube.com/watch?v=dwFj3L7kR74)

About the show

Brian #1: A quick chat with Brian looking back

Nick #2: Jev and the Case for Boring ML (youtube.com/watch?v=dW-ktsvhQQI)

Vincent Warmerdam from marimo benchmarked Jev, a new "System 1" (typesafe.ai/blog/introducing-system-one-models…) decision model from TypeSafe AI. In his video (youtube.com/watch?v=dW-ktsvhQQI) It handles classification without the latency or token cost of generative LLMs, which raises a practical question for data teams: where does this fit alongside traditional machine learning?

• He tested Jev against classical machine learning models to see if its speed and accuracy hold up on real-world datasets.

• General LLMs work well for reasoning, but generating full token streams just to assign a category adds unnecessary latency and cloud cost.

• Jev avoids generation entirely by evaluating the input and returning only the decision, which makes it much faster and cheaper than standard chat APIs.

• It consistently outperformed eight-shot sentence transformer setups like SetFit out of the box, especially on datasets with dozens of target categories.

• Traditional models like logistic regression still matter because they run in single-digit milliseconds on basic CPUs, cost nothing per inference, and keep private data within your own network.

• You cannot fine-tune Jev directly, so standard models remain the better choice when your data contains internal company acronyms, product names, or domain slang.

• The most practical approach is using Jev to bootstrap initial labels or audit bad training data, then training a small model you can own and run locally.

Brett #3: Announcing the 2026 Python Packaging Council Election Results! (pyfound.blogspot.com/2026/09/announcing-2026-p…)

The inaugural Python packaging council (PPC) has been elected and started meeting!

• Introduced via PEP 772 (peps.python.org/pep-0772/?featured_on=pythonby…)

• 5 members elected

• Top 2 vote-getters get two-year terms

• Other 3 get one-year terms

• All members will get two-year terms going forward, staggering the elections

• There have been 4 meetings far as well as a meeting with the SC

• Initial meeting notes (discuss.python.org/t/notes-from-python-packagi…)

• As the inaugural packaging council still working out basic logistics like how to take notes

• Also working out what the packaging council should do as PEP 772 explicitly says packaging.python.org?featured_on=pythonbytes falls under the PPC, but otherwise tries not to dictate what the PPC is in charge of

Calvin #4: Parsing JSON at tens of gigabytes per second in Python (lemire.me/blog/2026/10/12/parsing-json-at-tens…)

• Daniel Lemire (Oct 12) benchmarks fastsimdjson 0.6.0, a Python binding for simdjson on PyPI, repo at simdjson/fastpysimdjson. Its map_many function runs a callback per JSON line across N threads.

• Workload: Eight hours of GH Archive data, 7.6 GB and 2.2M events. The task counts event types and looks up the target repo's language for each opened PR, and it only touches a few fields per event.

• Lazy trick: With lazy=True, the whole event is parsed but Python objects are created only for the fields you access. The idea comes from Tyler Kennedy's pysimdjson.

• Single core: stdlib json gets 0.18 GB/s (about 42 s for the whole set), orjson 0.42, msgspec 1.29, fastsimdjson lazy 2.13 (3.6 s).

• 64 cores: stdlib json gets 3.17 GB/s, msgspec 24.6, fastsimdjson eager 29.8, and fastsimdjson lazy 65.7. That's the full 7.6 GB in about 0.12 s, roughly 31x its own single-core speed.

• Requires free-threading: It ran on Python 3.14.6 free-threaded (3.14t) on a 64-core dual-Xeon box.

• Grain of salt:

• It's one machine and one dataset.

• It's an embarrassingly parallel job with per-thread counters.

• The lazy win only shows up when you read a few fields from big objects.

• msgspec was handed a schema declaring only the needed fields.

• The post itself doesn't say whether this generalizes.

Michael #5: Grinberg's annual benchmark says 3.15 is flat, but the JIT finally pays off (blog.miguelgrinberg.com/post/how-fast-is-pytho…)

Miguel Grinberg ran his annual release-eve benchmark, comparing Python 3.15.0rc3 against every interpreter back to 3.10, plus PyPy, Node.js, and Rust, using his usual two CPU-bound programs: recursive Fibonacci and bubble sort. The standard 3.15 interpreter lands within noise of 3.14 on his workloads, while the experimental JIT build is roughly 20 to 28 percent faster and finally beats the standard interpreter, which has not happened before. The free-threaded build holds up well in the 4-thread tests. He is candid that the workloads are just Fibonacci and bubble sort, and the official release lands days after his measurements.

• It is an independent, workload-based counterpoint to the official 7-8 percent JIT geometric-mean claim, from a series with real trend data back to 3.10.

• He did the same exercise for 3.12, 3.13, and 3.14, so there is a multi-year trend line to draw on.

• Methodology is two hand-picked CPU-bound programs, recursive Fibonacci plus bubble sort, not a pyperformance-style suite, which cuts both ways.

• PyPy 3.12 still runs circles around every CPython in the single-threaded tests, and Rust is about 77x faster on Fibonacci.

• The JIT gain is real in these numbers, but the JIT stays experimental, so he will not use it in production yet.

• Free-threaded fibo at 4 threads ran about 4.5x faster than the standard interpreter with the GIL.

• His verdict: not worth rushing an upgrade for speed alone, though lazy imports may tempt production projects.

Carol #6: Transparent and trusted AI Our Way - Satyrn AI (satyrn.ai/?featured_on=pythonbytes)

Paul Everitt, Georgi Ker and I were discussing Python, its community and AI back in March at the JetBrains PyTV event. Python is the foundational language for data science and AI tools. We wanted something that reflects the Python community's strengths: language and learning.

• Mission: satyrn.ai/mission/?featured_on=pythonbytes

• Python 3.15 trained model is on Hugging Face

• After Paul's Europython keynote, he asked for folks to join the community (think of it as a collective of individuals putting their talents together

• We used some of the organizational tips from Jupyter and JupyterHub's early days on scaling community and emphasizing leveling up individuals

• Paul will be keynoting in Africa and sharing progress made by a team of dedicated volunteers

• Putting AI tools and knowledge in the hands of Pythonistas makes good sense and over time will benefit people (A theme that I have spoken about since PyCon 2023 (speakerdeck.com/willingc/pycon-2023-keynote?fe…) and most recently PyCon JP 2026 (speakerdeck.com/willingc/press-start?featured_…)

Extras

Michael:

• Adobe Creative Suite was mostly cloned in Rust (getartcraft.com/apps?featured_on=pythonbytes)

• ArtCraft released seven free, open-source desktop apps that mirror the Adobe lineup: PhotoCraft for Photoshop, VectorCraft, FilmCraft, LightCraft, PrintCraft, EffectCraft, and DesignCraft. Everything is written from scratch in Rust with WebAssembly builds for the browser, and developer Brandon Thomas says the apps are AI-built clean-room reimplementations, a claim Ars Technica covered alongside the predictable skepticism.

• The clean-room story matters: reimplementing Adobe from public specs and behavior with AI is legally defensible, and building the apps for agents to drive, not just humans, is a …

Transkriptvom Podcast bereitgestellt · Zeitmarken springen hin

Michael Kennedy Hello and welcome to Python Bytes, where we deliver Python news and headlines directly to your earbuds. This is episode 500, recorded October 13th, 2026. I'm Michael Kennedy.

Calvin Hendryx-Parker And I'm Calvin Hendryx-Parker.

Nick Muoh I'm Nick Muoh.

Carol Willing I'm Brett Cannon. I'm Carol Willing, and I sometimes pretend I'm Brett Cannon.

Calvin Hendryx-Parker And I have no problems being Carol either, so there you go.

Michael Kennedy Everyone, thank you so much for being here for this special episode. Sign up to the newsletter, social links, all that kind of stuff is at the top of the show notes. So let's just go ahead and kick this off. We've got a really awesome, almost 10 years. I don't know if this is exactly 10 years or not, but almost 10 years.

Michael Kennedy Certainly episode 500 is quite a thing. So Python Bytes has been around a long time. All of y'all have been here before in various ways. The one big missing component here, the person we're missing is Brian Okken. But don't worry, Brian was supposed to be here. Something came up, couldn't make it. So Calvin and I had a quick chat with him before and we'll splice that in.

Michael Kennedy So we're going to be hearing that in just a little bit. Welcome, everyone. Thank you for taking the time to celebrate this milestone. Calvin, thanks for being here to keep it going.

Calvin Hendryx-Parker Love it. I'm glad to be the new co-host. And I'm excited for this crew for the 500 episode.

Brett Cannon And congratulations to all of you for getting us all the way to here.

Michael Kennedy Thanks for calling us old, Brent. Appreciate it. No, I really do appreciate it. I'm just kidding, man.

Brett Cannon A person who's been doing Python was probably the, I think, at least officially the longest maybe on this call. I don't know, Caroline, I can duke it out.

Calvin Hendryx-Parker 2000 when I started using Python.

Brett Cannon Oh, all right. Calvin wins.

Carol Willing No, go Calvin. That's an accomplishment. Wait, no.

Brett Cannon Win in 2000. I started in 2000 as well.

Calvin Hendryx-Parker So it would have been early 2000, so probably like a February or March.

Brett Cannon You beat me. I started in fall.

Calvin Hendryx-Parker Okay.

Michael Kennedy Wow. All right. Wow, that's crazy.

Calvin Hendryx-Parker Now we've established the pecking order. I'm sure I sit above Brett for most things. I'm not in the Python world.

Michael Kennedy Amazing. Calvin, I was just thinking as I was getting ready for this show, we're on almost month four, if not past it, of you and I hosting the show together. It feels like we just started, but thanks for being here as well.

Calvin Hendryx-Parker It's been great. I really enjoyed jumping in. And this has been kind of a passion for me, a future dream that I thought would never come true. And here I am. I love it. Thank you, Michael.

Michael Kennedy Yeah, it's awesome to be here with you as well. And now, like I said before, Brian wasn't able to join us in real time, but Calvin and I got the chance to speak with him beforehand to make sure he was part of the show. Let's have that conversation with Brian.

Calvin Hendryx-Parker Oh my goodness. It is Brian Okken. Thank you for joining us for the 500 episode.

Brian Okken Blast from the past.

Michael Kennedy Brian Okken. Yeah, man. It's definitely a blast from the past. It's good to have you back in the show.

Brian Okken 500. That's a big number, man.

Calvin Hendryx-Parker And a lot's happened since you left. You published a book.

Brian Okken I did. It's right there.

Calvin Hendryx-Parker Yes, it is.

Brian Okken Lean TDD.

Michael Kennedy We have the number one lean tdd author of for the pipe for the python bytes list and it may be the biggest

Brian Okken new release of test driven development book in august of last of this year i don't know

Michael Kennedy yes very very no no honestly it's it's a very good book and you and i we just got back from hanging out in san francisco together of all the things we ironically just randomly stayed at the

Brian Okken same hotel for yeah it was it was actually kind of surreal we spent so michael and i um live in or near Portland. And we usually see each other at conferences somewhere else.

Michael Kennedy You know what it is? It's so weird. I have so many friends like that. And it's because you don't have family. You don't have the kids. You don't have all this, you know, you could just kind of hang out and do whatever. Conferences are awesome. I think conferences are awesome.

Calvin Hendryx-Parker I mean, that's how I met most of you all is because of going to great Python conferences.

Brian Okken Yeah. And Calvin, yeah, that Python party, man, it was the most epic party I've ever been to. So it was good.

Calvin Hendryx-Parker which one you're talking you're talking about select city yeah that was a really good one yeah the one that took over the top of the top of the bit the top of the top of the video

Brian Okken no it was good plus i met um like on his name the brown bag guy um oh chris williams yeah yeah chris

Calvin Hendryx-Parker williams was there i mean we had charlie marsh there we had brett actually who's on the show

Brian Okken was there so yeah he was really good yeah yeah and all and all those a lot of a lot of people had just started their um like startups that are going fantastic yeah yeah that was the rust wave we haven't really seen the ai wave party yet yeah it's the it no the ai wave is waving people goodbye when they get laid off because of it no well you know what seriously though we were just

Michael Kennedy both in san francisco were you blown away at how many billboards were about ai that was weird things it was like going into a like a sci-fi futuristic movie or something it was well like because there

Brian Okken wasn't anything else there was it took over the like i'm not sure i'm i mean i'm glad there weren't like cigarette billboards and alcohol billboards and and or like right you know the dispensary billboards divorce lawyers but having it all be like targeted towards stuff that uh just as i i still think it's a small percentage um uh ai is changing a lot but it's um it is sort of it's a kind of a middle upper middle class and higher sort of a phenomenon i don't i don't know if it's affecting everybody really other than it's taken over your search window anyway um yeah i i had a

Michael Kennedy airport i had a ride to the airport i don't know maybe 25 minutes or something like that i mean in san francisco it could be three hours or it could be 10 minutes depending on the traffic but It was, I think, 25 minutes. And I think it was full of billboards. I think literally every single billboard I saw, at least that I noticed, was some kind of, if not AI, AI adjacent.

Michael Kennedy Or there's all these companies that are like, yeah, we're the AI markdown editor. Like, you were just a markdown editor last year. Come on now. You know what I mean? Like that kind of thing as well.

Brian Okken I don't get why. Who are they trying to convince?

Calvin Hendryx-Parker Investors. I think they're trying to convince investors. Anyone who's involved in this hype right now is raising money.

Brian Okken Yeah. I don't know.

Michael Kennedy How does your framework desktop in the basement feel about this, Colin?

Calvin Hendryx-Parker He's fine. He's right over here. He's on the standing desk over here. The local models are running just fine. A little hiccup. So I use it with Home Assistant in the house, which is another fine Python project that everyone should go check out. And you got a little confused this morning and thought that it couldn't control the home.

Calvin Hendryx-Parker Like I was using Qwen 3.8 27B, the one that's kind of all over the news today. And I just kind of forgot that it could actually control stuff. Maybe that's a good direction to go versus like take over all the things. But it does work. Works really well.

Michael Kennedy Yeah. Awesome. Yeah. We got to get used to a non-deterministic world where like stuff just, it used to work yesterday. Now it doesn't necessarily work. Well, what's nice is you can have a discussion.

Calvin Hendryx-Parker Like I've got the home assistant voice set up. And so you can actually talk back and forth with the little box on the desk as opposed to kind of, I don't know, I won't utter the Amazon version of that box because it'll start going off. but you can't really have a discussion with those boxes, but you can have a discussion with Quinn 38.

Brian Okken Oh, really?

Calvin Hendryx-Parker Yeah. You can go back and forth. I can interrupt it. I can, you know, it's all sitting on my desk, but just the satellite one dev board, which is getting a 1.1 release and their pre-orders are open now.

Brian Okken So you're talking to it?

Calvin Hendryx-Parker I'm talking to it. Talking to my home assistant.

Brian Okken Okay.

Calvin Hendryx-Parker Do you have arguments? All local. So it precedes like a prompt into the model and it precedes all of the devices that are in your home that home assistant knows with a preference for a specific room you're in. So if I'm in the study and the home assistant voice box is in the study, I've told it it's in the study, I can just say, turn off the lights and it knows it's in the study.

Calvin Hendryx-Parker There's lights in the study and it turns off the lights.

Brian Okken Interesting.

Calvin Hendryx-Parker Yeah.

Michael Kennedy That is clever.

Brian Okken Here I'm back in the dark ages. I like go over to the wall and push a button.

Calvin Hendryx-Parker A wall?

Michael Kennedy You could hurt your finger doing that. Don't do that. Touch that.

Brian Okken They're conveniently located though. I mean, it's designed well. So the place where I enter the room is where the switch is. It's got incredible technology. It's kind of nice.

Calvin Hendryx-Parker Yeah, I just added it into the air.

Brian Okken What happens when the Wi-Fi goes down?

Calvin Hendryx-Parker Well, that's on battery backup. And the Internet's not required. All the access points are PoE. There's a big battery in the basement, hooked up to the home assistant. It's all central. There's a battery up here on the framework. So I can last a couple hours without any Wi-Fi, internet, or power and still talk to my house.

Brian Okken Okay, nice. I talk to my house too, but it just doesn't talk back.

Calvin Hendryx-Parker Mine can talk back.

Brian Okken Hey, I wanted to say just thank you for stepping in. So I sort of just jumped out of Python Bytes without letting people know. And there was no hard feelings or anything. Michael and I are definitely still friends. He didn't kick me out. But it was this book and also my day job is pretty exciting. So I just sort of wanted to do other stuff.

Brian Okken I really enjoyed Python Bytes and I'm glad it's not stopped just because I've stopped.

Calvin Hendryx-Parker I really enjoyed doing it. You had a great run. I mean, how many episodes, 10 years nearly of Brian's voice in my earbuds. And now my Python Bytes, I'm like, oh, that's my voice.

Brian Okken It was funny when I was watching PyBay. I was in the audience waiting for Michael Kennedy. I sat down right now. I kind of entered late. Sorry about that, Michael. But sat down, and he's up there. And I said, oh, that guy's kind of famous. And the person sitting next to me turned around and said, yeah, you're kind of famous too, man.

Brian Okken So I'm like, no, not like Michael famous.

Michael Kennedy Thanks for coming to talk. And your talk on Lean TD was really, really good. I think people really appreciated it as well.

Brian Okken I'm waiting for that. One of the fun things about it is I got to talk about my career. So I, well, I didn't get to, I decided to. So the first few, like maybe five minutes of the talk are discussing my career in test and measurement, the RF world. That was fun.

Michael Kennedy Yeah, if you want Brian's full story leading up to Lean TDD, eventually the videos for those talks should be out.

Brian Okken And I do look forward to coming back for Python Byte's 1,000th episode as well. Nice.

Michael Kennedy Oh, yeah, yeah. We're going to have to start doing more than one episode. On the decade. No, I'm sure, honestly. It's very possible, which is very insane, honestly. Let's wrap this part out, this section out with just, we can maybe each look back. Think back to an innocent time. AI was a thing we made fun of because it was bad.

Michael Kennedy There was no COVID, none of this stuff. Back to 2016, 2017 when we started this. What's something notable that you all have seen change? I'll give you the final word. So Calvin, something from 2016, 17, that era that really stands out for you.

Calvin Hendryx-Parker So anything from 2016, 2017, around that time when you all started the podcast, I think the biggest thing that's changed for me has been packaging gotten way more sane. So I'm super excited about that. And the community is still here. PyCon still goes strong, even though we had a few years in there of weirdness around the world.

Calvin Hendryx-Parker And so I'm glad we're all still here.

Michael Kennedy Yeah, packaging has absolutely changed. It still has a little ways to go. Way better. But what was it better? I'm still waiting for Python --build --arm my file someday. Right.

Brian Okken The, the, a couple, there's a lot of stuff, but of course we don't really talk about Python two seven anymore, which is nice. Um, um, it's just gone or, you know, hopefully, and we'll get comments that people are saying like, I still have to deal with it, man. I'm sorry if you still have to deal with it.

Brian Okken Uh, the other thing, packaging is a huge thing. I was just, I did, I've been updating a Python plugin or pytest plugin, pytest check recently. And the release process is push a tag. And then this, it's because it's this, the server builds it and talks with PyPI and does that. And I don't have to use Twine anymore by myself or anything like that.

Brian Okken And the package, like, I'll have to just, I guess I'm marrying Calvin. The packaging system is something, it's so easy now that I don't think about it. Once I get it set up for a project, I just don't think about it.

Michael Kennedy Yeah, and Nox and Tox. Oh, I still,

Brian Okken yeah, Tox is great. I like Tox.

Calvin Hendryx-Parker We're just not left unsupervised.

Brian Okken Unsupervised.

Michael Kennedy Well, I was going to say, the thing that I was going to add is the two versus three wars and how many of us survived. But honestly, if you weren't around in that time or you weren't working in Python at the time, It was a long drawn out period where it was not entirely clear that Python was ever going to make it to Python 3.

Michael Kennedy And then it would be permanently stuck in an older way. It was more shaky than I think people give it credit for being.

Brian Okken And also, we just made a change that would have made the 2 to 3 transition easier. The making UTF-8 default. That should have been from the start. Just say it would have been a lot easier.

Calvin Hendryx-Parker So many cannot decode exceptions.

Michael Kennedy Yeah, I was going to pick the two to three wars as well, but as a joke, of course. But honestly, that was a serious, serious thing. But I think I'll go for performance. Python has got a lot faster. The Python 310 Foundation and 311 especially made it quite a bit faster. And, you know, there's still continues today.

Michael Kennedy There was a lot of, well, Python's too slow. We can't choose this for our project because obviously we got to use Go because that was the hot thing at the time before Rust really kicked into gear because we need better async. need faster x y and z and i think it's it's come a long way uh one final thing uh the or at least

Brian Okken for me the um is that uh py test isn't considered niche anymore um it's uh pretty it's pretty obvious that people go with py test it's you don't have to defend it anymore which is cool and there was

Michael Kennedy a book that probably helped maybe yeah who knows a couple couple books well i just want to take before before we wrap it up brian i just want to say you know thank you for 10 years of hard work People from the outside are like, oh, we just jump on for like 20 minutes or sometimes an hour. Then you get complaints.

Michael Kennedy And it goes back to 20 minutes. No, you just jump on for a while and you have a quick chat. And there's so much behind the scenes that takes a lot of work to put this show together and keep it flowing.

Calvin Hendryx-Parker Yeah.

Michael Kennedy Thanks for the hard work.

Brian Okken Oh, you bet. Thank you. And yeah, thank you for keeping it going. So I'll just throw out also that Python people is going to come back. So I am going to do the podcasting thing more again.

Michael Kennedy Well, you know, let us know in the episodes. Well, shout it out in the extras as you know how it goes.

Brian Okken So thanks a lot.

Michael Kennedy See you later. Awesome. Thank you so much, Brian, for being here and being in the show. Now let's get back to our group celebration. All right, let's jump straight into the items. And Nick, you have the probably most popular topic if you look at the derivative or second derivative of how fast it's got attention lately.

Nick Muoh Yeah.

Michael Kennedy Tell us about this. This is crazy.

Nick Muoh If you have not heard about JEV, you have been living under a rock because it's the new kid in the block and it has made quite his presence known. It's been raving all over Twitter, X, Reddit. And what it is, is a new type of AI model that is not like your usual LLM. the folks from TypeSafe AI, these are the creators of JEV, I'll call it a system one decision model.

Nick Muoh And so system one, if you've read the book, Thinking Fast, Thinking Slow, they're like two different system types, the system one and system two. So JEV is like very focused on the system one type of inference. And what this means is that you have, instead of generating text, like a QN model or a ChatGPT model instead it makes decisions on either yes or no offers like gives you score probabilities for a rank of choices or it gives you like a score for like how how much something is like a range of like a range score about how some how much something is so it's very interesting and even though it sounds limited the use cases have been quite insane Vincent from Marimo did a video about it and he was benchmarking it against traditional LLMs because for the long,

Nick Muoh I'm a data scientist working and I work with a lot of ML models and classification is one of the things that, depending on the situation, can be really hard, can be really simple. And here comes this JEV model that is like a general classifier. And so he benchmarked it against a couple of real-world data sets and beat all of them.

Nick Muoh In most cases, he beat all of them. He even brought like an interesting trick he learned called SetFit. You should watch the video. He does a great explanation of it that allows you to train like very basic LLM models like BERT or QN embedding models and uses it for classification. Jev still does it better in terms of accuracy and so much cheaper.

Nick Muoh Now, the reason why I brought it up was because the use of JEV, even though it's really cheap, really fast, is really interesting. But there is another interesting point that Vincent made, whereby in most companies, there's a lot of data that is unlabeled and it is going to be more cost-effective to train your own local model on your own proprietary data than it is to use a general model, even if something as cheap and fast as JEV.

Nick Muoh So what you could do is to take the JEV model and help you create more accurate data sets, get you more cleaner labels.

Michael Kennedy Is that kind of like supervised learning, but you use JEV as the supervisor?

Nick Muoh Yeah, exactly. So you take some general class and then you create a better data set so you can train supervised models. And this is how you like eke out a lot more performance and get better efficiency on very specific tasks to your like business. So that's one of the topics I wanted to bring up. It's a really interesting video.

Nick Muoh Jev is a really interesting model. You guys should go check it out.

Michael Kennedy I've seen all this excitement about Jev and I'm like, I really want to have a use case for Jev. So I haven't had to use it, but I'm glad to hear that you have. And that's really cool. What do the rest of y'all think?

Calvin Hendryx-Parker Well, it's interesting that the number of classifier models that other labs are coming out with now, a lot of them are taking Quinn and fine tuning it to be a classifier. I think Microsoft just announced that's the one they're deploying, which I kind of like because I don't know these type secret folks or type secure folks very well.

Calvin Hendryx-Parker But, you know, you're sending them all their data because there's no option to use it locally.

Nick Muoh Yeah.

Brett Cannon Yeah, I think it was kind of interesting because when I first heard about Jev, it was like, what's the big deal? And I understood then I learned that all it did was the very key thing was, is does classification, right? It's not an open-ended write me this code is like answer this. Yes, no question or put, put every, put these things in a bucket.

Brett Cannon Right. And I think Nick's point about like using that as a quick and dirty way to label some data so that you can do your own training model with like scikit learn, which I will always give a shout out to because it's still my wife's favorite Python library in the world. It is a great thing, right? because I think it's one of these things we're also really starting to learn is using LLMs to help you build the automation for things is a better use of your time and money slash tokens than it is to like ask the models to do the same thing over and over rather than like, yeah, let's use it to help that, like use second learn to actually do like full, like I'm going to use the long term here.

Brett Cannon So I'm going to try to use the right term, but use second learn to build the local model that you need to do the classification.

Nick Muoh Yeah.

Brett Cannon That'll be the fastest, cheapest, best reproducible way to do it. And I think it's great that this is kind of helping push that narrative down more and more to more people.

Nick Muoh Yeah, it's so much more efficient to have like a model like Jev or a local model than to have like Opus running your like home assistant, right? That's like very cost, like cost not inefficient, cost efficient.

Carol Willing Yeah. I mean, I think it seems like it would be something that could be used with like spaCy when you're annotating parts of natural language. And I think there's some creative ways that, you know, you can get decision maybe on a first pass or something. And I'm looking forward to looking at some of the research because I have heard there's a few others at the top of my head.

Carol Willing I can't name them, but some former folks from DeepMind are doing something in the UK, I believe as well. So yeah,

Calvin Hendryx-Parker the real feature here is speed. The fact that you can feed it just hundreds of thousands of rows and get answers in microseconds and milliseconds.

Michael Kennedy yeah yeah that's not a normal ai sort of experience right that's a big deal though it's a huge deal all right awesome i definitely think that's a a good pick brett tell us about

Brett Cannon this new council yeah i know uh what the heck am i talking about uh so for those you didn't hear um first two weeks of september we had an election i think uh this was covered on python bytes uh for Python Packaging Council. It is the inaugural one. And it was all set up via PEP772. And the elections happened.

Brett Cannon It was open to all PSF members who basically said they wanted to vote in it. And it happened. It ended on the 15th or 16th, probably depending on where you were on the planet. I ended up on it. Ended up on it. Dolled stuff as well. Henry Schreiner and Ralph Gomers. So we're all in this inaugural council.

Brett Cannon Perdune and I are on it for two years as the top vote getters. And then Donald, Henry, and Ralph are going to be out for a year. And then going forward after that, all people on it are going to serve for two years. So interesting thing with this is it's the first one. I will say we've already met four times and actually already had to meet with the steering council.

Brett Cannon And a lot of it's been around logistics and how to organize ourselves. As any of you have had to start anything like this from scratch, it's about where are we going to keep our notes? Where are we going to let people reach us? And that kind of stuff. So we're still figuring things out. The one thing I will say about this council is it is explicitly meant to be in charge of the sentence specifications and the whole website in general for packaging up python.org where you can go and read about all the specs relating to the kind of the PyPI slash PyPA side of the world.

Brett Cannon But otherwise, PEP772, which established this council, did not try to dictate what this council is going to do. So we are actually also currently talking about what do we want to see our function be, right? Because we're under the auspices of the PSF, hence why they ran the election. But we're trying to figure out how do we represent people, basically, right?

Brett Cannon Like we represent specs, but we also want to somehow act as like the public point, I think, for and I'm speaking for myself as generalizing for my fellow council members. Basically, it's kind of the public face of packaging in Python, right? Who can you go talk to to maybe get funding to make something better?

Brett Cannon Or if we need to go talk to like integrators like the links distros or conda or anyone else who integrates Python and a bunch of other stuff. who can you go talk to to get some answers, get some questions answered or kind of talk to them to figure out what they need and all that stuff. Kind of similar to what the SC does around the language, but obviously it's basically about packaging.

Brett Cannon And probably honestly, I'm going to guess a little bit around workflow as well, because it doesn't fall basically stuff that doesn't fall under the language that way. But yeah, it was just basically I noticed admin and also I figured I'd bring that up. And yeah, it's as I said, we've just been going.

Brett Cannon We have a issue tracker on GitHub. We haven't made public yet because we're getting our initial notes and stuff set up, but we're going to try to be as transparent as possible. So like we're planning to keep our media notes up there and keep track of what we're going to talk about, what's on deck and all that and be accessible.

Brett Cannon Discuss the Python.org is where a lot of the packaging discussions happen. So you can find us there. And yeah, we're getting going, but we have high hopes that we can hopefully up the throughput a bit on stuff because poor Paul Moore used to be the vanilla dictator for packaging. Now it gets a bit of a break and at least spreading across the five of us will start some things a bit.

Brett Cannon And we can keep doing stuff such as talking about wheel variants. And I know there's wheel next being proposed and a whole bunch of kind of big projects that hopefully we can help go forward and make packaging for Python just better for everybody.

Calvin Hendryx-Parker Well, because packaging has always been such a simple and easy story in the Python world.

Brett Cannon So simple and so easy. I know. C and Fortran and all these other languages made it so easy for us to integrate that I don't know why anyone's ever complained.

Calvin Hendryx-Parker I'm glad you all are here.

Nick Muoh Yeah, but I will say like the journey of Python packaging from like cheese to eggs to wheels, it's actually been pretty amazing to see the evolution of Python packaging. So thanks, Brett, for championing that. I feel like you care so much about that. And that's why it's still you and others are making it such a pleasant, at least more pleasant experience.

Brett Cannon Well, thank you. I appreciate the kind words. Yeah, it has been a bit of a journey for packaging and Python in general, right? Like the creation of the Cheeshop slash Python Packaging Index, because people were too worried we'd upset managers if we called it the Cheeshop. FYI, if you go to a 404, it still links to the Cheeshop sketch on YouTube from Monty Python.

Brett Cannon for a reason.

Calvin Hendryx-Parker I'm glad that's still there because I will, being of an age, I will still call it the cheese shop.

Brett Cannon Yeah, you've got to do it on PyPI, though.

Michael Kennedy Oh, PyPI, okay.

Brett Cannon Sorry if I said Python. That was my mistake.

Michael Kennedy No, no.

Calvin Hendryx-Parker Yes, there it is.

Brett Cannon There you go. But yeah, it's been a journey, right? And it's been very driven by the community and, to be frank, very much driven by volunteers. So it's moved at the space, the speed of people having time to help, but it's been progressing forward and it's something I think everyone cares about. And as I kind of joked, doing the best we can in the face of Python being the glue language of the internet means we have to integrate with some languages who do not really have their up together in terms of packaging themselves.

Brett Cannon And so how do we work around that, right? Like we can go to the C community or C++ or any of these other compiled languages and go like, well, hey, how do you package? Like, oh, shell scripts. Oh, okay, great. So how do we integrate with that? Right? So it's been quite the journey. And I would like to think we've gotten to a point where the ergonomics are good and it's not painful anymore.

Brett Cannon But I think there's some opportunities for it to be better and definitely faster. And obviously the work's not done.

Carol Willing Yeah, I mean, it's been, I mean, just the council itself, it's been a multi-year journey just to get the PEP approved and written. And, you know, it was great to see the number of folks that ran for the Packaging Council and really pleased by the people that were elected or chosen. I think it's a really great cross section of historical knowledge, scientific knowledge, you know, across a number of different tools.

Carol Willing And, you know, having Brett having been part of the steering council when we did the inaugural steering council, bootstrapping something like this, there's some knowledge in there. So that's awesome. But one of the things I'm super happy about is, you know, having more emphasis on the standards and, you know, there's going to be different tool implementations.

Carol Willing and that's great. I would love to see us get more of a focus on the consumers of packages and people who are using our packages on a day-to-day and making that more pleasant like when you're using a GPU and other things because the landscape has changed. So thank you, Brett, for continuing to serve us.

Michael Kennedy Yeah, thanks, Brett. You have this legacy of launching councils. So that's very cool. I feel like it seemed like packaging was kind of solved. And then uv came along and we're like, well, now it's really solved. But then we also have AI, which means CUDA and all the crazy stuff that Wheel Next is trying to solve.

Michael Kennedy And we've got the brand new PEP that got accepted for Emscripten and WebAssembly, which is a whole nother angle. And so I don't feel like it's solved for sure.

Carol Willing Well, and Pixie has done a great job, too, in the scientific community. So, I mean, I think tools are kind of reflecting their users, and I think the standards are what makes that possible. So it's great to see more domains being represented within packaging.

Nick Muoh A question, Brett, is the council going to be consulting or working with our security developer in residence? Because of like, as you know, like we have all these, we have more CVEs being, you know, issued, especially attacking packaging.

Brett Cannon Yeah. So, yeah, there's Seth Michael Larson, who's the security developer in residence for Python itself. There's Michael Fiedler, who works on PyPI directly. And yeah, pretty much everyone on the council either knows either of them directly personally or because we're working under the PSF in a way, we know we can always just ask like, hey, can we talk to Mike about something or whatever?

Brett Cannon But I message Mike and Seth directly about stuff. So it's definitely there. And for instance, I will say part of my platform for running was on secure supply chain, right? So I will say I personally am interested slash invested in trying to see that improve. So security and how packaging plays into that is definitely going to be a thing.

Brett Cannon Now, I will say we, PyPI does not refer to us or vice versa. So it's very much going to be a collaboration. But we are definitely aware that it is something that we want to work with PyPI to make sure that anything we do will work well for them and everyone else in the ecosystem, right? Because as Carol pointed out, we have a pretty good, I think, breadth of coverage for the very broad community that we have in Python on this council to make sure that all corners, whether it's scripting, web, data science, or an LLM, you name it, I think someone on this council has a connection to somebody to make sure that we cover all the bases.

Brett Cannon And that includes security. And it's definitely something we have top of mind to make sure that we address. So.

Michael Kennedy Yeah. That's a good question. The security side of any sort of packaging is definitely so front

Calvin Hendryx-Parker center these days you know but you know else is many many parsing many things speed michael speed is the feature we've talked about this before and it's interesting nick brought up jev we brought up the fact like this speed is a feature for like the a lot of the astral tools like rough and uv but most folks don't think of python as being fast at parsing json the this article here is a blog post from Daniel Lemire. He benchmarks a new wrapper around SIMD JSON, which is a C++ library I've never used, but he wrote a fast SIMD JSON wrapper around it and actually demonstrates parsing tens of gigabytes of JSON per second in Python.

Calvin Hendryx-Parker Now, there's a trick, obviously. Doing things in async, you know, is always not necessarily straightforward. Doing things threading is obviously never straightforward. Free threading brings a new wrinkle to all this, and a lot of folks have probably not tried out the free threading capabilities of Python 3.14 and now 3.15.

Calvin Hendryx-Parker This is actually a really good example, or at least a toy use case where boy, does it make a big difference. So he goes through, he's got a dual Xeon 64 core machine. So he's actually able to take that free threading and spread this workload across 64 different cores simultaneously. This is a GitHub archive snapshot of, I think, what, eight hours of GitHub data, which turns out to be about 7.6 gigabytes of JSON decompressed, 2.2 million events, runs it through.

Calvin Hendryx-Parker The very first one he did was basically a non-threaded, non, it's like single-threaded version of this. So if you are looking at the standard JSON library, it only basically takes about 42 seconds to parsed the whole set, which are basically new line return JSON messages for every pull request that has happened in GitHub.

Calvin Hendryx-Parker So you can see here 0.18 gigabytes per second of throughput. The wrapper, he does the same thing for ORJSON, fast SIMD, JSON map mini, which is another approach he took. And then the lazy views, which is basically don't actually construct the dictionaries until I ask for them version of this. That got the 2.13 gigabytes per second. So that's obviously not as as fast as tens of gigabytes per second, then moving into free threading.

Calvin Hendryx-Parker So if you open up and start using all 64 cores, and still in one process, one Python process, 64 cores on free threading, 65.7 gigabytes per second of reading in that JSON file. So I think you could see some magic here if you combined a large JSON workload with tools like JEV, where you wanted to do some real-time processing and pull back the results as fast as possible.

Calvin Hendryx-Parker This is a very valid use case for this, but it's only one of many. The other bit here, he uses that there's a lazy trick in here, which I mentioned, which he doesn't instantiate the dictionaries until they're asked for. But in many cases that may be useful. You may only want to filter or pull back portions of the data and not the whole dataset.

Calvin Hendryx-Parker 'Cause like for example, in this use case, I think each message is about 3K inside that dataset. So fairly large object each time. Let's see here. basically a 31 times speed up over single chord regular speed, which is pretty incredible. It's also a simple, you kind of got to take this a little bit of grain of salt.

Calvin Hendryx-Parker It's a simple use case, but if you've got the work that looks kind of like this, you may want to check out, he's what the maintainer of this wrapper around the simdjson library itself. The benchmarks, he links to them in the code. So in that blog post, you'll see the code used in the blog post. Here's all the, if you wanted to reproduce this yourself on your own hardware and see how that goes.

Calvin Hendryx-Parker And it's available on PyPI as fast as MDJSON. Actually, there's a new release since I looked at this an hour ago. So very active work going into this. I think it's getting a little bit of attention out there in the internets.

Michael Kennedy I'm impressed. That's pretty awesome.

Calvin Hendryx-Parker And kind of a not explored free threading much because I don't have this kind of a workload. But boy, does that make a great argument for python is not slow once we got unleashed upon all the cores yeah i mean there's

Brett Cannon an old saying in the community right python's fast enough and yeah he really is and prototype it and if it's not fast enough then you start to look at what you have to do speed up and i think free threading adds a new wrinkle to it because originally it was always the answer yeah make sure you're using the proper data structure and algorithms right that usually got people most of the way and then at the end you'd throw in that extra wrapper traditionally would have been in like C or C++ nowadays, probably Rust.

Calvin Hendryx-Parker Probably Rust, yeah.

Brett Cannon But I think free threading throws in a new, well, can you go multi-threaded and get a win that way, right? And because, I mean, you want to make sure you go down the ladder of complexity, right? And the shortest one is write data structures, write algorithm, then it's throw in free threading, then you start talking about whether or not you want to go all the way out to a whole other language.

Calvin Hendryx-Parker Yeah, because each step gets progressively more difficult to triage and debug.

Brett Cannon Exactly. But I think that's a good point to me, Calvin. It's like, I think this is what's going to start happening is people are going to start using free threading, especially in the libraries where you directly don't have to maintain or manage the complexity and it will take care of it for you. In which case, I think things start to open up a bit under these new free threading builds.

Calvin Hendryx-Parker And IO is always a big one, right? How could we massively split apart a file, the giant file and do something fast with it with Python? So these benchmarks, I'll also note, this was post reading it into memory and then doing the processing timing started. So it was all in memory and then processed. So there was no IO from disk involved in those benchmarks.

Carol Willing Is there a similar library in Rust that maybe got compared to this? Because it seems pretty cool, but it seems like a natural intention would be to do something similar in Rust.

Michael Kennedy Oh, our JSON might be Rust. That was in part of it. It was in the second part.

Calvin Hendryx-Parker It was in the second part. They'd benchmarked it. This one is C++.

Carol Willing Right.

Calvin Hendryx-Parker Yeah.

Carol Willing It's only a matter of days, right?

Calvin Hendryx-Parker Then this will be rust.

Brett Cannon Yeah.

Calvin Hendryx-Parker I'll just tell my agent to go port it right now.

Brett Cannon Yeah. Like I'm sure someone's wrapped, maybe, or Jason's wrapped around Surday or something, because I know today's a big one. Or Armin just wrote, Armin Roenacker just released a new, Jason, a new alternative to Surday for very specific reasons. Yeah. It'd be interesting to know what that would be.

Calvin Hendryx-Parker We're talking tens of gigabytes per second.

Brett Cannon Yeah.

Calvin Hendryx-Parker If you have those kinds of problems, I'd love to talk to you actually, because that sounds pretty cool.

Carol Willing Very cool.

Michael Kennedy I am pretty sure that ORJSON is Rust.

Calvin Hendryx-Parker I think it is.

Michael Kennedy It's 55% Python, 44% Rust. It could be written in shell. I don't know. The core, it could be like the tight loop could be in shell. It's 1% shell, but unlikely.

Calvin Hendryx-Parker I mean, that's how we used to distribute installers was the executable compressed archives that would look like a shell script. You just, you know, sh passed the script.

Michael Kennedy That's funny. All right, well, let's get on to something totally different and talk about speed.

Calvin Hendryx-Parker Okay, speed sounds great. Let's do it, Michael.

Michael Kennedy Let's do it, speed. So I want to come back to a former fellow Portlander, Miguel Grinberg, who's now, I believe, in Ireland, Scotland, one of those two places, unless he's moved again. But he has a yearly Python performance benchmark that he puts out. So I thought, hey, it's kind of 315 week if you count seven-day rolling window instead of a calendar week.

Michael Kennedy So we just had Python 3.15 come out and he said it's time again for this. So I thought, you know what? Let's have a look and just talk real quick about it. This one will be pretty short. It's got some interesting things. It's not a super complex benchmark, so keep that in mind. But it does involve a whole bunch of versions, all the, hold on, even one of the unsupported older 3.10s.

Michael Kennedy I don't know, 3.10 sounds still pretty new to me, but it's not. And PyPy, the JIT compiled version or JIT running version for JIT. and node and rust. It also says, well, let's take the regular CPython, the one with the experimental JIT and the one with free threading, and then do all those comparisons.

Michael Kennedy So let's look through. It says, hey, we're just going to do a single threaded Fibonacci type of pretty big Fibonacci, depending on how you write it, I suppose, 40 numbers. Fibonacci gets big fast, but you can memoize it and stuff and it's a lot quicker. But I imagine this is trying to make it hard, right?

Michael Kennedy Well, yeah, because it takes 15 seconds to answer the question on Python 3.10. So there's a bunch of charts, you can go look at the article. But if you think about performance of even 3.10, which had some of that faster CPython work done to it, it's 44% as fast as today's Python. So we've gotten 56% faster.

Michael Kennedy That's a significant improvement, even just for this sort of straightforward stuff. And there's a lot of things that are not factored in here. But then 3.11 was 1.7 times faster. You'll see that 3.11 and I think 3.14 are the two that make really big jumps a lot of the times here. So we've got 3.11, which is 1.7 times faster.

Michael Kennedy And then the jump from 14 to 15 is only 3% faster. So not dramatically faster, but that's for this particular benchmark. There's other areas where it would be dramatically faster. And PyPy312, 5.5 times as fast. Node, not as fast, but almost five times faster. Rust, you know, just a little 77 times faster.

Michael Kennedy I don't know. I'll pull up the graph for you all. Quick thoughts before I go on to the next one. Anyone have thoughts?

Nick Muoh It still amazes me how PyPy consistently is, at least with these kinds of workloads, showcases how performant it is.

Michael Kennedy I know. I always think I should really check this out. But I think the challenge is then you want to go and import some library and it's incompatible with PyPy. And you're like, well, it goes from pretty, you know, five times faster to impossible and doesn't run. Like, oh, I'm not doing that, you know?

Nick Muoh I do remember announcements with the latest release of PyPy that they're trying to interface better with the CPython EBI so that external libraries can just like work in PyPy. So that's an exciting news, but still, it's so amazing. What surprises me is Node still being faster than Python. And I really, I have respect for TypeScript and JavaScript, But still, it still amazes me.

Nick Muoh It just makes me realize how much engineering went to the V8 engine. Yeah. It's amazing.

Brett Cannon It's decades of fully funded, full team support versus Python, which as Michael alluded to, right? Just started maybe five, six years ago, getting external funded, let's make it faster kind of performance stuff, right? And having people like that and stuff start to bring stuff out from Cinder and all that, right?

Brett Cannon Yeah. It's, it's, it's timelines. The other thing though, is Michael's not shown us what the JIT numbers are with the experimental JIT. So we'll also keep going. Let's keep going.

Michael Kennedy Let's see. So yeah. So we've got the, the next graph is we've got the standard, which is just what you get when you write Python. Then you've got the experimental JIT, which you can turn on and the free threading. And this is single threaded. So the free threading will not get better, but if it doesn't get worse, that's actually a huge improvement.

Michael Kennedy And I think that's actually the biggest takeaway from this one is for this Fibonacci thing. It really doesn't that much of a difference, but Python 3.13, free threading was, I don't know, 20% slower. And now free threading is actually just on par with regular CPython. That's great. That's actually really good.

Michael Kennedy And the JIT, as Brett points out, is like 20% faster.

Calvin Hendryx-Parker Yeah, I think Nick brought it up with like the compatibility. Like PyPy had problems with importing some package you want to use. Now, even the folks over at EVE Online are like, we're fast enough. finally, let's just use the box Python. And now we've got all the benefits of a giant library of ecosystem stuff.

Michael Kennedy Exactly. Guess what? If we upgrade, all right, let's go a little farther. So the next one is the bubble sort.

Calvin Hendryx-Parker That was always a sketchy path. Like they were on such an experimental version of Python with their whole production. That is impressive.

Michael Kennedy Yeah.

Brett Cannon They stuck it out with Stackless for a long time.

Calvin Hendryx-Parker Long time. Long time.

Michael Kennedy Until this year. Yeah, I just had them on Talk Python. So yeah. All right. The next one is the Fibonacci with four threads. I think this gets pretty interesting and it shows some really interesting improvements. So we've got maybe if you run four threads to answer the Fibonacci question compared to the others like JIT and standard, it's, I don't know, 20, 25% time it takes.

Michael Kennedy So that's four times faster, which if you add four threads and you get four times faster, wow, that's good.

Calvin Hendryx-Parker That's pretty good.

Michael Kennedy People who haven't done multi-threading before, you rarely get as many times improvement as you have CPUs you've added to it, right? There's a lot of coordination and other things.

Brett Cannon It is usually not linear. So,

Nick Muoh yeah, this is actually pretty impressive. Just shows like for the longest time is actually kind of amazing that the language like Python that is compared to like C or Java is not as fast, was able to like garner the attention and love of so many people. And it was good enough for so many things. And now it's just like getting better and better now. It's actually quite remarkable.

Nick Muoh Absolutely.

Michael Kennedy And also the JIT from 3.14 to 3.15 has gotten quite a bit better as well. So that's pretty interesting. What else, what else do we got to take away from here? I don't know.

Calvin Hendryx-Parker I would say. What was it, Brett, who said like Python is like the second best choice for everything. I think that's not true anymore.

Michael Kennedy Yeah. I don't think it's, I don't know. There's certainly.

Nick Muoh Well, your AI will probably always choose Python for certain projects.

Calvin Hendryx-Parker So it's really the first

Nick Muoh choice for everything.

Calvin Hendryx-Parker It's the first choice. Yeah.

Michael Kennedy Yeah, it's head-to-head on JavaScript, or if you ask it to do a web thing, it probably does JavaScript if you don't guide it. But if you ask it to do any sort of data thing, it's definitely doing Python.

Nick Muoh Yeah, playwright is Python.

Brett Cannon And to be fair to PyPy, right, they also have to keep up with the language, right, intended to change, hence why they're not on 3.14 or 3.15, while the built-in JIT just gets to piggyback on all the other work.

Michael Kennedy Yeah, 100%.

Brett Cannon JIT comparison is not a direct one-to-one that way because of that.

Michael Kennedy I also want to give a quick shout out to some of the new things we got that are utterly untested here. This is, I wrote one function, and in that one function, I ran it a bunch, sometimes with threads, sometimes with JIT, sometimes without, and it did a thing, right? What we don't see is we don't see the effect of lazy imports for really large applications or things that need super quick startup time, and then they're gone like a CLI tool.

Michael Kennedy We don't see the specialized and adaptive interpreter or even the JIT really get to kick in very much because it's one or two functions. if you had 10,000 functions and it was a big, interesting application, those could also really start to make a difference.

Brett Cannon So the PSA,

Nick Muoh guys, the PSA is just upgrade your Python and you get performance for lunch. Oh, yeah.

Brett Cannon You will save money.

Nick Muoh Yeah. This is like legitimate free lunch.

Brett Cannon Yeah, no, I've had this discussion with people like when their managers don't want to punt and put off upgrading, the way to sell it to management is you will save money. Python will be faster. we'll use less memory very likely as well. And thus we will do more with less. So either we can scale higher or we can do the same things with less machines.

Brett Cannon So why not let us upgrade, please? So it's less of a pain because we only get to upgrade every two or four or five years. And it's a big hassle. It's like, no, upgrade continuously and you'll keep getting these ones.

Carol Willing Well, and your libraries get far quicker too. Like Napari using lazy imports is far better than on a version that can't use lazy imports. So,

Brett Cannon yeah. And to quickly touch on what Michael said about the difficulty of judging performance on these micro benchmarks. Right. This is one reason PyPerformance that is used for benchmarking CPython and Python in general, tries to do benchmarks that are pulled from real world code and tries to be somewhat representative of actual work close to an extent while not taking hours and hours and hours to run.

Brett Cannon But another point that actually came up during the development 3.15 was the garbage collector, right? There was the incremental garbage collector put in. And we found out after people started to test with it, that it actually didn't work in large, certain key workloads and actually led to larger garbage collector pauses.

Brett Cannon Because I don't know how many people know this, but Python kind of has two garbage collectors, right? There's reference counting for most stuff, but then we have a garbage collector look for cycles because reference counting can't handle cycles. And we've had a generational one for a long time. and incremental will get to less pauses and hopefully better performance but we found out the one we did actually did make things better for most people but for certain people the the degenerate cases like the really bad edge case ones it was really slow and bad so we actually had to roll it back and um and mark shanning for instance currently has a proposal on how to kind of fix that but there's another point that it's really hard to measure unless people actually do this

Brett Cannon which is why we will always say as a psa from the python dev team please test the alphas and the And please, please at least test the release candidates on actual workloads to let us know where things may have gone wrong. Because if someone hadn't tested that and told us ahead of time, we would have shipped and we actually did in 3.14, a garbage collector that needed to get rolled back.

Brett Cannon So it just didn't hit people really badly.

Michael Kennedy Absolutely. All right, let's have Carol close it out.

Carol Willing And our favorite topic, artificial intelligence and tools around it. So, you know, after being in the scientific ecosystem and data science and Jupyter ecosystem, you know, I've watched the evolution of, you know, machine learning, deep learning. We call AI now. And one of the things Paul Everitt and I have been sort of talking over the past year about, hey, you know, so much of it is built on top of the work that we've done with Python, that it would be great to have a community benefit from it, not just large corporations steering the future of these tools.

Carol Willing And so back in March, Georgie and Paul and I sat down and we started talking about, hey, how could we use more local capacity? How could we improve privacy, security, not leaking your data out to other services. And Paul did a keynote back at EuroPython this year and introduced what we're calling Satyrn.

Carol Willing And really, Satyrn is looking at doing AI your way, which doesn't exclude the use of foundational models, but really emphasizes is that there's a spectrum of ways that you can use large language models and agents to suit your particular workflow because one size does not fit all. And from that EuroPython keynote, he had a call to action, mostly for the Europe community, but it has expanded out from that to kind of create a collective of individuals that are passionate about making it Python first and trying to make transparent and trusted AI.

Carol Willing So I've kind of helped with the effort to kind of get the scaffolding in place. And I'm happy to say that when 3.15 got released, there was also a model that up on hugging face that the Satyrn team has trained on 315 that can run locally as well as on other things. And I think one of the key things is while we look at local first, we're also looking at trust first.

Carol Willing And, you know, I could go back to my icon keynote back in 2023 when ChatGPT was still in beta. And one of the things that bothered me was, do I trust this large language model? Do I trust how it was trained? Do I trust it, you know, to be unbiased? And while there's a lot of value in it, you still have to verify that it's doing what you think it's doing.

Carol Willing And so I think having more options where, you know, you don't always need a sledgehammer. Sometimes a hammer is good enough. And in this case, sometimes you can get a lot of good stuff the last six months out of local models. And, you know, the other key component is one of the keys that has made Python so successful is the language, the ecosystem of libraries, but also the huge commitment the community has about sharing learning materials, educating each other, spreading the knowledge.

Carol Willing And if all Satyrn did was provide these education and learning opportunities, which is a big part of what we're taking from Jupyter, Jupyter really helped accelerate learning, sharing learning materials with folks. And, you know, there's a team around sharing educational content, both created by the team, as well as highlighting things that are available within the community.

Carol Willing So it's still in the early stages, but I think there's good energy behind it. And I would love to see it grow more and more. And the reason we kind of started in Europe was we felt like the continent as a whole was more focused on security, privacy, and the goal impact of AI.

Michael Kennedy Well, and being a European, how much do you want to say our entire AI future hangs on large American tech companies or Chinese companies? Maybe we should have some say in this, something like that, right?

Carol Willing Yeah, well, I think, I mean, everybody should have a say in it. And I think, you know, some of the large companies, let's face it, they're beholden to their shareholders or investors to maximize profits, which doesn't always align with maximizing responsibility to the community and ethics and other things.

Carol Willing So, you know, I think alternatives are always good. It helps push ecosystems forward. There's a lot of great stuff happening in bioscience and medical applications, particularly with rare diseases that the foundational models have been hugely helpful for. And so, you know, it's not one or the other. There's a spectrum of use cases.

Carol Willing There should be a spectrum of tools and approaches. And as we navigate the understanding of it, sharing that becomes more and more important, which Python bites. And Python to me for sharing this on a regular basis.

Calvin Hendryx-Parker I love the fact there's two models. You've got the smaller Ornith model and then the other one based on that Quinn 3827B powerhouse of a local model. I can't wait to try both of them.

Carol Willing Yeah. I mean, it's pretty interesting. And there's teams that, if you join the Discord, that are working on these, how do you test and train? And so we're trying to be open by default and the information and the workflows. So, you know, definitely reach out. And yeah, it's got some good energy behind it.

Calvin Hendryx-Parker Are there other languages who are interested in participating?

Carol Willing I don't know. I mean, there might be. I mean, I could see maybe Rust having some interest, but for now we've kind of scoped it to Python and, you know, trying to train something specifically on Python 3.15 and the use cases that, you know, are new with 3.15 was something that was really interesting. But that's a really good question.

Nick Muoh I wonder where my R fellas, like the R language are, that would be a good language to add under the Satyrn. You know,

Carol Willing yeah. I mean, in fact, Posit is having sort of a hackathon, I think, in November that I'm going to. So that might be a great thing to kind of kick around the tires on.

Nick Muoh Yeah,

Carol Willing I want you to say, personally,

Nick Muoh I've always had trouble running local AI models, mainly because sometimes it was always hard to know which models could actually fit into my consumer-grade hardware. And so navigating that has always been not the fun part. So I'm really looking forward to participating in this because I believe you guys will probably do a better job of discussing.

Nick Muoh These are the kind of hardware you can run. This is the kind of models that can run on that hardware. This is some use cases, something as simple as categorizing or, you know, categorizing like your files to like helping you run a small, like automated business or something. That'll be cool to see what you guys do.

Carol Willing Well, and looping back to the start where you were talking about Marimo, we've actually used some of the Marimo hub and the GPU access there to do some of this training. So, you know, so it doesn't have to be just your local laptop. It can be, you know, something that is a little beefier.

Michael Kennedy Yeah, and looking at the size of the models, they're not ginormous. No. You know, they're 10 billion parameters, 28 billion parameters. These are plausible on decent local machines.

Carol Willing Yeah. I mean, they definitely work on my GPU Linux box. You can get it to work on a Mac as well. It's a little bit, you know, a little bit harder.

Michael Kennedy Got to submit it to the app store.

Calvin Hendryx-Parker see if they approve it yeah no i think you just have to get the mlx you know version of the training done so you can accelerate it on the on the max yeah luckily i've got a Linux box here too so let's

Brett Cannon throw it on there cool let us know what you find out i just realized we're running out of planets

Carol Willing to rename with a y i did i was not the namer uh that would be paul no i'm just glad you said

Brett Cannon after jupiter yeah i mean uranus is like one of the last ones with the u in it and yeah yeah

Michael Kennedy number out yeah yeah yeah yeah good point brett it's brett it's gonna be okay we're going out to the orc cloud yeah fine yeah s2 s7 y5 i know you thought that was a u but no it's the y one it'll be good it'll be good all right well this is super interesting and the naming i guess

Carol Willing probably came off of jupiter uh that i think when paul was looking at it yeah i mean definitely some of the things that Jupyter did in terms of accelerating the community. He wanted, you know, that ability to share knowledge as well as build things. And, you know, the Y just seemed to make sense. Plus there are other Satyrns out there, Satyrn AIs and whatnot.

Carol Willing So why not add the Y?

Michael Kennedy Yeah. Why not? Why not? Cool. Well, we're just about out of time, but I've got a couple of extras i'm gonna trim mine back but i know brett you want to there's some little release or

Brett Cannon something you wanted to talk about what is this i think you already talked about it yeah 315.0 finals gone out so 310 also hit eol about a week prior i think two weeks prior i can't remember uh but yeah after the unfortunate new tradition of having a third rc happened um finals out it's good it's done uh obviously we're already working on 3.15.1 which should hopefully come out typically historically we do it in november um but then we'll be on the usual two-month cadence for bugfish releases but they're 15s out um a lot of great stuff in it as i know has been covered here

Carol Willing and download however you download your latest python i'm gonna give a huge shout out to trey hunter who has some really good what's new in 315 that, you know, web developers and folks that are maybe not as focused on some of the scientific benefits for some of the performance stuff. It's really well done.

Calvin Hendryx-Parker And Barry Warsaw's what's newt, if you want to do a dungeon crawler version of it.

Carol Willing That was so awesome. I really enjoyed that.

Calvin Hendryx-Parker That is fun. It was really fun. Agreed.

Michael Kennedy Yeah. I was thinking, could I make a visual version to overlay on that? I don't know. We'll see. I will not be doing that. But I do want to give a quick shout out to this as an extra. Have you all seen this? This is insane. This craft apps thing. I think the guy's name is Ben.

Calvin Hendryx-Parker I thought it hit the news. Yeah.

Brett Cannon Yeah.

Michael Kennedy This guy had a big falling out with Adobe over the subscription stuff. Surprise. And said, well, you know what I'm going to do? I'm going to recreate Photoshop. And I don't even know the apps that well. Let me see. I'm going to recreate Photoshop. And I'm going to create Illustrator. And a bunch of others, Lightroom, I don't know, a bunch of these, Acrobat, and recreated them.

Brett Cannon A whole creative suite.

Michael Kennedy Almost. It's missing Audition. I can't wait for him to do Audition. Let's go. Because I pay a ton of money to edit this podcast and other stuff with Audition. But yesterday, when I was like, I'm going to throw this up here as a thing they're talking about. There were 12. Today is 13. And I got to check real quick and see what the 13th is.

Michael Kennedy But it has Microsoft Word, PowerPoint, and Excel. I got the little deck craft thing. I know it's not the same, but I opened up my talk that I gave with all the animations and gradients and stuff for PiBay and it presented it just fine. I don't know. I don't know that it edits as well. But anyway, I just, I think, I wanted to give this a bit of a shout out because it's just, it's a weird time.

Michael Kennedy And I think this, you know, looking back 10 years and looking forward 10 years, like this is kind of an interesting thing at the inflection point.

Brett Cannon Well, and especially because they talked about how they tried to do this as clean room, right? I think there's no source code to look at here. They literally, I think, threw a model at it and said, here's the thing I want you to reimplement. Go reimplement it.

Michael Kennedy And here's the UI. Here's its feature list to make that.

Brett Cannon Go read the publicity material, right? There's a lot of documentation about how Photoshop is supposed to work. And if you give it access on the browser version, you can click through it and all that and crank away at it. Now, I'd be kind of curious as to how much their token budget was to pull that off.

Nick Muoh Very much curious.

Michael Kennedy High. Very high.

Brett Cannon Very high, I'm sure. Because Cloud re-implemented a C compiler for the Linux kernel, and it cost them hundreds of thousands of dollars for something.

Calvin Hendryx-Parker Wow.

Brett Cannon But it's still kind of cool that this is what you theoretically can do with appropriate budget with LLMs.

Michael Kennedy We talked about way back when.

Calvin Hendryx-Parker Yeah.

Michael Kennedy I mean, way back to March, we talked about a clean room rewrite, and this was for Chardet.

Brett Cannon Yes.

Michael Kennedy And this was like a big to-do. And this was just a library. Now we're like, oh, let's just redo giant suites of apps. You know?

Nick Muoh Yeah, it's a very interesting world we are entering for software. Very, I think a lot of the companies that their software was their moats because they put so much investment to it and the time it would take to reimplement it, deter competitors. But with AI, it's very interesting. Now, somebody could create a DaVinci Resolve specific to their own podcasting editing needs, and they don't need DaVinci Resolve or all the other ones that exist.

Nick Muoh So it's very interesting, the era of personal software we're entering into.

Michael Kennedy Absolutely. Even if I never use this, I hope this puts pressure on companies to be more on top of things, newer versions, less expensive.

Brett Cannon Yeah, and I think for desktop software specifically, right where you can have where the actual desktop app gives the model something to work against to verify that it's working appropriately and the outcomes are what you expect is of versus like i'm going to re-implement slack or something it's like well there's all back end on that one that's way more complicated to try to recreate just based on how slack looks on the front end but for photoshop on this desktop right once again if you've got the token budget it can just turn away for quite a while and eventually just get probably a good enough axillin.

Brett Cannon I mean, or you just go use GIMP. I mean,

Michael Kennedy yeah. I mean, how many features do you use of any given app? Probably 10%, right? If you just say I'm building it for me. Yeah. Like to Nick's point, just make it for you. Yep. All right. Well, that's enough of this, but I do think it's a really bizarre and interesting thing that happened this week. Anyone else got something I want to shout out before we get to the joke?

Calvin Hendryx-Parker I got a real time update for Nick. Nick asked about how he could know what models he could run on his hardware. I've got the screen up here for llmfit.org, and that's actually a TUI app that you can just load up. It detects your hardware. So, Michael, if you wanted to put that up on the screen.

Michael Kennedy All right, give me something to search for.

Calvin Hendryx-Parker What am I looking for? No, I shared. No, I shared it already.

Michael Kennedy Oh, your screen.

Calvin Hendryx-Parker Yeah, my screen.

Michael Kennedy There we go.

Calvin Hendryx-Parker So, it detects your hardware. It loads up a whole bunch of models from different providers, like Olama, Lama CPP, MLX, Docker Runner Models, LM Studios, and you just filter for what models would run best and give you scores so you can actually see where it might be better fits. I mean be careful you're downloading potentially random models from potentially random places so you probably want to be careful which providers you pull those models in from but it's a cool little tool to see like what what actually would perform and is there a better version of that model that I'm already using that I should be using based on like quantization and the MLX optimization all those kinds of pieces so I thought that'd be pretty cool for folks who

Calvin Hendryx-Parker what model should I run? And the other one I got on my extras is the, my standard uv report, UV 0.13 makes Python 3.15, the default. So we keep it right up.

Michael Kennedy Awesome. I've already run uv Python install 3.15, dash, dash, default, I'm good to go.

Calvin Hendryx-Parker Ooh, I need to do that.

Michael Kennedy That way if you just type Python, it falls to that one rather than some other system. That's what I want.

Brett Cannon Or if you're on Windows, use the PyManager, just type PyManager install 3.15. T, get the free threaded version.

Michael Kennedy Ooh.

Carol Willing Brett, one-upping.

Calvin Hendryx-Parker All right.

Michael Kennedy How about a joke?

Brett Cannon I give Steve the call out. He does all that, but I just know Windows has its own built-in manager that comes from Python.org, and Steve put a lot of time on it. And it's my North Star dream to get that on every major tier one or maybe even tier two platforms for Python someday.

Calvin Hendryx-Parker That would be awesome. Before we go on, you should give Nick a moment for at least one of his items on there. I think it's really important.

Michael Kennedy Oh, okay. I didn't know you have some, Nick. Go ahead.

Nick Muoh Oh, yeah. I just wanted to quickly call out Black Python Devs. I'm wearing the T-shirt here. One of the amazing things that one of our members, Emmanuel, is doing is taking our Python Dev student ambassadors and going across campuses in Africa. So this is a really important initiative because if you guys don't know the continent of Africa, so many countries and so many youths there, we want to promote Python.

Nick Muoh for the next generation of Python developers. I think one of the CEOs of Anaconda says that he wants a world where the next billion users are Python users, something like that. Some of those users will be in Africa. So this is an amazing campaign. And if you go to Black Python devs and the links will be in the show notes, you can support that initiative.

Carol Willing And I'm going to also shout out with Black Python Devs at PyOhio, they did a leadership summit again. And I mean, looking at the leaders that Python Devs has over the years grown, they have something really good going on and seeing those leaders emerge has been super rewarding and, you know, doing the good stuff.

Michael Kennedy Awesome.

Nick Muoh Yeah, thank you.

Michael Kennedy Yeah, thanks, Nick. Anything else? All right, I got a quick short joke here for us. This comes to us from Derek Chambers, sent us in, said, well, I felt this way at some point. So theoretically, a person's applying for a job, trying to look good. Interviewer says, says here on your resume that you're an exceptional Python developer.

Michael Kennedy Can you prove it? Oh, sure, says the interviewee. Run any of my code. It raises exceptions a lot of the time.

Calvin Hendryx-Parker Oh, I'm a sucker for a good dad joke.

Michael Kennedy Dot, dot, dot, bang.

Calvin Hendryx-Parker I love it.

Brett Cannon I also feel like I just reached dad level because I figured out the punchline before you got there. I was like, oh, wow, I finally leveled up my dad. Joke level is being an actual dad. There you go. I feel like now the new point is parenthood.

Michael Kennedy That's right. Absolutely. All right. Well, Nick, Brett, Carol, thank you so much for being here. It's really nice that you came to celebrate this. And Calvin, thanks for helping.

Calvin Hendryx-Parker Happy 500.

Carol Willing Yeah. Happy 500. And happy thank you to Brian, too.

Michael Kennedy Absolutely. Thank you to Brian. Bye, all.

Anmelden oder registrieren

Jetzt

0:00 / 0:00