 Well, let's do some Python marker. All right. So a little bit of reminder, I put this in the chat. Don't forget, Scott, tomorrow at 9 AM, a central time, Bluetooth app development with Circuit Python. Do check that out. We have a bunch of stuff. Let's see how many are left. 90, OK. You guys are ticking down. Yep, tick, tick, tick, tick. Our Circuit Python on a hardware newsletter. We do this every single week. Some Pi 5 details, some Raspberry, sorry, some Circuit Python 8 updates. Yeah, we're going to go for 9 out of us. Yeah, I was about to say 9. Yeah, numbers. Well, we'll do the 8s while we prepare for this. Yeah, so Circuit Python 9 is coming, but we have the 8 to 7 release. There's a couple more boards. Some really neat projects this week. This is MicroPython Calculators. Really cool. We're going to start adding some of the 8-of-3 Playgrounds. These are notes, guides that anyone can make. We'll talk about that later on in the show, but we're going to have that in the newsletter since there's a lot of Python-based ones. And then check out just the menagerie of projects. Hackaday, a site I counted a million years ago, have nothing to do with now, but I like seeing things that's why I started the site. This is the type of stuff I wanted to see. They have a Hackaday badge for SuperCon, and you can do MicroPython stuff. It's a cute looking badge. I like the little joystick. There's a screen on it, and I like seeing my logo. My logos. I like the combination of big and small buttons. I like seeing it. It still works. And it works great on a round display. Yeah. So check out all the projects and more. However, this week what we're going to talk about is there's a bunch of stuff going on in the world of Python. So we've got the virtual environment usage, and then on Playground we also have the comparing the GIO stuff. Which we don't want to talk about first. I don't know. Do you want to just talk about what the issue is and then instead of being jerks on GitHub or social media, we're just going to help solve it and do good done production? That's our idea. So what it is, that's our idea. It's our day. Well, we're also going to hang back. Basically, as a bookworm, which is the latest release of the Raspberry Pi operating system, which is also going to be the it's going to be the operating system that's required for use with the Raspberry Pi 5. They've changed. Debian has changed to how they do Python package installation, which everyone always makes fun of Python packaging. Because they're using Python as part of the operating system and utilities, they don't want you to be able to mess up that install. And so instead of letting you just do pseudopip and install into the root or main site packages folder, they're kind of requiring every user to make a virtual environment that will then keep all your packages in your home directory, for example. And this is technically correct. You technically should do that. It is the right thing to do. It's not very punk. And we're kind of punk. And we're still kind of investigating, you know, even that's the right thing to do to have a virtual environment. There's about a decade's worth of Raspberry Pi tutorials that don't. And don't talk about that. And nobody's going to go and update all of them. Like, we're happy to update all of the Adafruit guides. But there's just no chance that every Instructible and every Hackster and every Element 14 and every blog post is going to be updated. A lot of people use PIP. And what you're supposed to do is set up your environment beforehand. So, you know, I think there's some discussion about it. Raspberry Pi folks, you know, have some opinions, other people have opinions. We haven't yet decided what we're going to do because it's a big decision. We don't want to make decisions and then take it back. There's a couple of things. One, we could just tell people, hey, just disable this inability and just like install pseudopip anyways. We could have our Blink-a-script automatically set up your virtual environment in your bash profile. So, it always gets configured when you start up. We could update every tutorial to say, hey, you know, here's what your virtual environment should be and you'll just have to turn it on before you begin. There's no real right answer. It's definitely going to be a bit of a mess. We kind of want to see what other folks want to do because each one has pros and cons. And honestly, I just can't make that decision right now. I'm just a little too tired with the baby. So, to that end, we have a guide that Carter wrote. I assume to write it. And Carter's one of our best guide writers for beginner topics about virtual environments and how it affects the Raspberry Pi specifically. There's lots of guides about virtual environments, but because you might be using pseudo to do NeoPixel stuff in particular, it's important to kind of know the intricacies of setting up this virtual environment. So this guy talks about that and specifically talks about how to do it with pseudo and what doesn't work and what does. So the answer is no answer, but we at least have a guide that we can reference to. So thanks, Carter, for writing it. Yeah. So we'll see how things go, but generally speaking, maybe our community, which I think is pretty big can kind of set a good example. Stuff's gonna come up and the last few years, people are just rewarded for being terrible to one another. So I would just say, especially for open source maintainers, a lot of people are demanding. There's mean people, they're like, do this now for me. They're basically like, I wanna speak to your manager and treating us and others like customer service. It's the type of person that if you're at a restaurant and they're yelling at the wait staff, like no one likes that. Don't be that person. I think we're just gonna try to figure out what's the best thing we can do. So we started writing guides. That's what we always do. Like when it's open. I'm just exploring what we need to solve this. Because I was like, I don't know how it like, this is even with NeoPixels and Pseudo and how is that gonna happen? So we have, so we got that. And then did you wanna talk about this other? This other stuff here? Yes, sorry. And then on the other side, we want to make sure that Blinka, so one of the really good decisions that we did make, that's like some decisions I'm putting off and some decisions I made that I'm glad I did. So having Blinka as our interface library so that we can have the CircuitPython API available on CPython, the Raspberry Pi has been a really good idea because historically we, a very, very long time ago before Blinka, we used RPY GPIO for all of our Raspberry Pi GPIO toggling and tweaking. And turns out that as with the Raspberry Pi 5 because of the new RP1 chip, GPIO zero, sorry, RPY.GPIO no longer works. And it's unclear if they're going to update it to work. And so because we happened to have been supporting Blinka and other single board latest computers and those were using LibGPIOD, which is the new kernel module that is recommended for GPIO interfacing, we already had support for LibGPIOD in Blinka and Melissa was able to turn it on fairly quickly in a day, not in like weeks. And so Blinka has been updated to use LibGPIOD. One thing that I didn't notice a while ago was that GPIOD was not as fast as memory mapping, which RPY GPIO does. Memory mapping is always going to be the fastest, but it requires permissions and it's like kind of dangerous and you're like prodding memory and it's like you're kind of poking into somebody's brain. And so I asked Melissa, could you please check GPIO zero, which is kind of like the official Raspberry Pi GPIO interface library for Python and the GPIOD Python bindings and compare them. You can scroll down and she did a great job and keep going, keep going, keep going and even posted up the Sele outputs. So basically it turns out that GPIOD can go up to about like 550 kilohertz toggle speed. The up and down is going to be 280. So you double that to get the toggle speed because there's two toggles per frequency. And then on LibGPIO, it's in GPIO zero, it's about 200 kilohertz. So you're going to get like about three times speed with GPIOD, 600 kilohertz is pretty good actually, considering it's going through this like secondary chip, 600 kilohertz. It's not fast enough to do neopixels but you wouldn't do that anyways. You would use like the PIO sub capability but basically just documenting this and if other people, because I knew somebody was going to say, hey, why don't you use GPIO zero? And it's like, have documentation now. So what we're doing is documenting. Yeah, so that's what we're doing while people are just robbing insults at each other about all this stuff. So that is our Python on hardware, lots of stuff going on as you can tell. Yeah. So just stay tuned to all of our documentation updates, stop by the shows. We'll tell you what we're up to. But that's our plan is to just do great documentation and great products and... Oh, there's a little bit of a rant. Yeah, whatever. Sorry, it's okay. I'll keep going. We send out this newsletter every single week. Adafruitdaily.com. It's a completely separate website because we hate spam even more than you do. And you can sign up there as nothing to do with your Adafruit store account. You can subscribe on, subscribe anytime. You don't even have to subscribe to the newsletter. You can look at a standalone page that's a permalink that doesn't have any tracking. Oh, so it's a github. It's on github. It's an RSS feed. Wow. That's someone saying that like tracking, it's like we have every way for it to be the best privacy saving way. We have to use tools like MailChimp that send out things and there's links that you can't stop tracking. We have other ways to read the newsletter. My favorite is some people like, oh, what's so hard? Why can't you just send out a couple hundred thousand emails? I'm like, have you actually tried some more than a thousand emails? It's really hard. So that's why we jump through all these hoops. And like I said, if you want to, you don't ever need to even subscribe to the newsletter. You can just go to the page and we've been de-googlifying. Nothing against Google. Well, besides some other, I do have some Google issues. But you can just go to Adafruitdaily and you can just read it every single week. We have the link right here. Yeah, it's cool. Okay, it's great. Okay, anyways, that's the newsletter.