 Hello everyone and welcome to the Circuit Python weekly for September 27th, 2021. This is the time of the week we get together to talk about all things Circuit Python. I'm Katny and I'm sponsored by Adafruit to work on Circuit Python. Circuit Python is a version of Python designed to run on tiny computers called microcontrollers. Development is primarily sponsored by Adafruit so if you want to support them in Circuit Python consider purchasing hardware from Adafruit.com. This meeting is hosted on the Adafruit Discord server. You can join any time by going to adafru.it-discord and we hold the meeting in the Circuit Python DevText channel and the Circuit Python Voice channel. This meeting typically happens on Mondays at 2 p.m. Eastern 11 a.m. Pacific except when it coincides with the US holiday. If the meeting time has changed we'll notify you via Discord. If you wish to be notified about the meetings we can add you to the Circuit Pythonistas Discord role. There's also a calendar that is available so we try to keep that updated and you can subscribe to that. This meeting is recorded. We record the audio from the voice channel and video of the text channel. If you would rather not have your voice recorded you are still welcome to participate. The video of this meeting will be posted to YouTube and the audio released as a podcast. If you find this podcast is not available on your favorite podcast service please let us know. There is a notes document to accompany the meeting and recording. If you wish to participate but can't make it to the meeting you can leave hug reports and status updates for us in the document and we'll read them off during the meeting. The notes document also contains timestamps to go along with the video so you can use the doc to view only the parts of the video that interest you. The meeting tends to run 60-90 minutes so this gives you the option to skip around. A link to the notes document is posted to the Circuit Python dev channel in the Adafruit Discord every week. Check the pinned messages to find the latest notes doc. This meeting is held in five parts. The first part is community news which is a look at all things Circuit Python and Python on hardware. It is a preview of our Python for microcontrollers newsletter. The second part is the state of Circuit Python libraries and Blinka which is a statistical overview of the entire project. A chance to look at the project by the numbers separate from what we're all up to. Next up is hug reports. Hug reports is an opportunity to highlight the good things folks are doing taking the time to recognize awesome folks in our community. The fourth part is status updates. Status updates is an opportunity to sync up on what we've been up to. Take a couple minutes and talk about what you've been doing since the last meeting and what you'll be doing until the next meeting. The fifth part is in the weeds which is an opportunity for more long form discussions. These discussions sometimes come out of status updates or are something that folks identified ahead of time is too long for status updates and that covers how the meeting will go. So with that I will move on to community news. So first up, 31,000 thanks. The Adafruit Discord community where we do all of our Circuit Python development in the open reached over 31,000 humans. Thank you to everyone who has joined. Adafruit believes Discord offers a unique way for Circuit Python folks to connect. Join today at adafru.it-slash-discord. Next up, sound reactive glasses. A work in progress by that dragon guy on Twitter. Sound reactive blinky glasses. Werewolf for scale. Programmed in Circuit Python and Micro Lab for Adafruit's LED glasses. And there's a link to Twitter. Next up, emulate a vintage ROM or EEP ROM with a Raspberry Pi Pico. The Apple IIe uses a custom microcontroller and ROM chip to put ASCII values from the keyboard into the computer's memory. How can this function be emulated? The bald engineer tries to use an Arduino Mega 2560 and the Teensie 4.0 before finding the inexpensive Raspberry Pi Pico up to the task. Programmed PIO handled the tight timing while Circuit Python controls the data flow and allows for quick programming and debugging. There are several links available there. Next up, Python 3.10 RC0 is available with helpful error text. Python 3.10 is scheduled to be released on October 4th. Luciano R on Twitter summarizes a great new feature. I love Python's new user-friendly error messages. For example, name error. Name result count is not defined. Did you mean result count? Thanks so much to Pablo Galindo and everyone else who is contributing to make Python more and more friendly. Apparently, the user-friendly messages were inspired by Rust, which was inspired by Elm. Next up, building a battery-free electronics device with Circuit Python. Computer engineers from Northwest University and Delft University of Technology introduce a new platform, Be Free, that enables building battery-free electronics devices that run with intermittent harvested energy. It uses the Be Free shield and a power-failure-resistant version of Circuit Python. There are multiple links there to check out as well. Next up, EuroPython talks are finally being posted. EuroPython has released the first batch of edited videos from EuroPython 2021. Currently, all the videos are the first day, Wednesday, July 28th. More videos will follow in the coming weeks. So if you missed EuroPython, check that out. So this has been a preview of the Circuit Python weekly newsletter, which is Python for microcontrollers newsletter. The complete archives are available at AdafruitDaily.com slash category slash Circuit Python. It highlights the latest hardware-related news around the web, including Circuit Python, Python, and MicroPython developments. You can contribute your own user project by editing the next week's draft on GitHub and submitting a pull request, or you can tag a tweet with Circuit Python on Twitter or email cpnews at Adafruit.com. And that is community news. Next up is the state of Circuit Python, the libraries and BlinkUp. This is a statistical overview of the entire project. It gives us a chance to take a look at the project by the numbers and get a feel for the health of the project while checking out where things are at. So I will talk about the project overall, and then I will kick it to Scott to talk about the core. I will talk about the libraries, and then Melissa will talk about BlinkUp. So first up, overall, we had 46 pull requests merged by 22 authors, including three names I don't recognize, which is Mish Tom, the endless River 13, and Leo Lee 51. And we had 14 reviewers, which is also a pretty high number. There's a couple people in here that I don't see very often, but they're not new, but thank you to all of our reviewers. Without you, we could not support this many authors. And we had nine closed issues by eight people and eight opened by seven people. So overall, we are net down one. We'll see where that one ended up. And with that, I will turn it over to Scott to talk about the core. Thanks, Scott. All right, next up is the libraries. So this refers to all of the Adafruit Circuit Python libraries, which is everything that begins with Adafruit underscore circuit Python underscore, as well as a few others, including the community bundle and our cookie cutter repo. So we had 24 pull requests merged from 12 different authors, including Mish Tom and the endless River 13. And then we had 12 reviewers for those 24 pull requests. That's excellent to see. The oldest one was 107 days old, which is good to see that we're still plugging away at trying to get through some older PRs. And that leaves us with 55 open pull requests. We have five closed issues by five people and one opened by one person for 344 open issues. For those are currently labeled good first issue. If you're interested in contributing to circuit Python on the Python side of things, consider going to circuitpython.org slash contributing. You'll find all of this information and more, including open pull requests and open issues. If you're new to everything, you can search for good first issue. If you want something a little more complicated, you can search bug or enhancement in the issues. If you are interested in reviewing, you can check out the PRs. If you have the hardware, test it. If you don't, you can check out the code for syntax, et cetera, and let us know that you did. And once you're comfortable with that, we can talk about adding you to our review team. I will say that our issue numbers are going to, spoiler, be totally blown out next week. I put out a call to folks to add good first issues for us in general to have and also with Hacktoberfest coming up. We stepped up to the plate, and we now have a lot of good first issues. So that will be great to see. That means we have an opportunity for folks who are new to things to be able to contribute. Our current good first issues are not well curated. Well, they are now, but as of an hour ago or so, they were not. And so it's really good to see that we've done that because I know there are a lot of people who would like to start contributing but don't know where to start and we are struggling to find them a place to start. So check that out and be on the lookout for all of that and some new folks to be joining us. So in terms of library updates, in the last seven days, we had one new library, UC 8, 8151D, and a number of updated libraries that I will not read off. I already kind of covered where we're at overall. So I will hand it over to Melissa to talk about Blinka. All right, thanks very much. And that was the State of Circuit Python, the libraries and Blinka. Next up is Hug Reports. Hug Reports is an opportunity for us to highlight the great things that folks are doing in the community. It's a chance for us to highlight what we think is going well. It's sort of our counter to bug reports because it's important to be able to highlight positive things. So that's what we do. This is held as a round robin where I will start and then I will go through the list alphabetically, leaping back to the top. And if folks have notes, I will be reading those notes. And otherwise I will call on folks to read off their own Hug Reports. So if I miss you because you're not in the document, please let me know so I can go back and make sure we catch you as well. All right, I will get started. So first up, a group hug to the community for continuing to be amazing. I missed Monday last week and it's just good to be able to miss a day and not be worried about keeping things going because everybody just sort of does it. Hug Reports to Jeff for a lovely chat. To Dan for some help with some guide feedback. And to Foamy Guy for putting together a bunch of good first issues for folks. Next up is Melissa. Excellent. Next up, I have notes from Mark Gambler. He says, Hug Reports to Dan H, Microdove, Naradok, Carter, and probably someone else I'm missing for helping me review a pair of Bust Device PRs. And to Mish Tom for their first PR for a feature edition in Bust Device. Next up is Scott. Thanks. All right, next up is Dan. Excellent. Next up is Foamy Guy. Excellent. Thank you. Next up is Jeff. All right, thank you. Next up is Jerry. Excellent. And that rounds out Hug Reports. Next up is Status Updates. This is also held as a round robin in the same way where instead of Hug Reports we talk about what we've been up to from the last meeting and what we will be up to until the next meeting. I will once again read off folks notes if there are any people who submitted notes who aren't attending or who are text only. Otherwise I will call on people to go through their own status updates. And with that I will get started. So I missed last week. I think I put notes in last week but the quick summary is that I finished the IS-31FL-3741 guide after learning how to add a library to the Arduino IDE spoiler. It's super simple when they aren't having backend issues. When they are it is delayed infinitely. So it took a while for that to get fixed but it's finally added and so I was able to finish that and I started the proximity trinky guide. Also on Saturday I got the flu shots, the pneumonia vaccine, and tetanus booster. I don't know that I recommend getting all of those at once. It could have been any one of them that sort of laid me out but I definitely was not doing well and that was why I missed last week's meeting. So definitely feeling better now but that took quite a bit to get over. So last week with circuit python 7 released it was time to remove all instances of wheel and references to pixel buff underscore pixel buff or eta fruit pi pixel buff imports and replace them with rainbow IO. I put in a huge PR 72 files to the learning guides learning system guides repo and then went through the bundle to find all the difference all the references and example code and updated those repos individually. There are three files left in learn repo that have a wheel definition in them because it was modified to work with rgbw neopixels and rainbow IO does not currently support rgbw future plans for that. So moving forward we can suggest folks using from rainbow IO import color wheel and instead of using the color wheel definition in the code. I'm particularly excited about this because this was both my first code contribution to the core and my first blink of contribution was rainbow IO. So it's my little personal awesomeness that I am excited about. So that's why going through all that was tedious but fun because you know using your own stuff and I continued the proximity trinky guide this week. I got through guide feedback especially because I missed the last couple weeks go at it. There's two I have to wait on because I don't have the hardware for them here not a big deal. And then I plan to finish up the proximity trinky guide the only thing left is to do the demo pages for circuit python and arduino and the code's already written so there's not a whole lot left on that. All the fiddly stuff is done. And then next up is the ANO rotary encoder guide. It's a rotary encoder similar to the old I mean not analog but old iPods that had like a physical rotary encoder on them versus touch and we're going to do a quick guide on that. That one shouldn't take too long. There's various miscellaneous stuff for me to do and then beyond that will be more guide work as time goes on. So that's where I'm at and we'll be at for the next week. So next up is maker melissa. Thanks very much. Next up is scott. Thanks. Next up is dan. Thanks dan. Next up is foamy guy. Regarding github inbox spam if folks are using a gmail based email address for github I have a very complex set of filters because github does not make it easy to filter. So if anybody is dealing with that and has google based email and wants to try out filters let me know because I can very easily export them and get them to you and you can import them into the gmail interface and then it propagates to any mail application that you're using locally just an fyi. So next up is jeff. That is status updates if I can remember the name of the section. Next up is in the weeds. In the weeds is an opportunity for us to have more long form discussions things that don't make sense for status updates and turn it over to folks who have added topics with four topics for today and first up is dan and the project bundler does as well. No I think melissa can go first. I don't think it's a problem. So melissa you are up next. Okay foamy guy is that something you would be able to to test? Perfect. Okay so foamy guy as long as you're here can you explain the story behind the need? Oh go ahead. Go ahead. You are welcome. So finally is a topic from me and this came up on discord the rp20 pio channel or whatever it's actually called on discord is a host to mostly orphaned rp2040 questions at this point. It's really like folks are not asking or rarely very rarely asking pio questions. The question is should we rename the channel perhaps to remove the rp2040 reference and just add pio and then leave the channel up and then obviously folks who are using the pio will recognize that and you know know what it's for or should we just archive the channel entirely so that those questions get routed to channels that make more sense. Yeah that was sort of my feeling as well but I wanted you know I just wanted to put it out there for for folks to comment on. Okay then I will take care of that sometime this week and I think so I think we'll put a final comment in there and pin it not that it matters that it's pinned it'll just be the final comment that indicates the ideal channels to choose. Okay now that's excellent feedback thank you. Okay um so with that I am going to wrap us up uh this has been the Circuit Python weekly for September 27th 2021. Thank you to everyone who participated. If you want to support Adafruit and Circuit Python and those of us that work on Circuit Python consider purchasing from Adafruit.com. The video of this meeting will be released on YouTube at youtube.com slash Adafruit and the podcast will be available on major podcast services. It will also be featured in the python for microcontrollers newsletter visit adafruitdaily.com to subscribe. The next meeting will be held on Monday as usual at 2 p.m. eastern 11 a.m. pacific um as far as I know and this meeting is held on the Adafruit discord which you can join anytime by going to adafru.it slash discord. To be notified about the meeting or any changes to the time or day you can ask to be added to the circuit pythonista's role on discord and we hope to see you all next week thanks everyone