 Hello everyone. Welcome to the CircuitPython Weekly Meeting for today, October 31st, 2022. We've got a special Halloween edition, a spooky meeting going on today. This is the time of the week where we get together to talk about all things CircuitPython. My name is Tim and I am sponsored by Adafruit to work on CircuitPython. CircuitPython is a version of Python that's designed to run on tiny computers called microcontrollers. The CircuitPython development is primarily sponsored by Adafruit, so if you want to support Adafruit and CircuitPython, consider purchasing hardware from them at adafruit.com. This meeting is hosted on the Adafruit Discord server. You can join anytime by going to adafruit.it.discord. We hold the meeting in the CircuitPython Dev Text Channel as well as CircuitPython Voice Channel. This meeting typically happens on Mondays at 2pm Eastern Time, which is about what time it is right now. 11am Pacific, but if that coincides with the U.S. holiday, U.S. holiday where businesses are closed, I should say, since today is Halloween, which is sort of holiday-ish, but not necessarily a day where lots of things are closed. So we're at normal time today, but for kind of calendar holidays, so to speak, that are officially recognized, sometimes we'll get moved, and then it will occur on Tuesday instead of Monday in those instances. Keep an eye on the Discord room as well as the calendar link, which is in the notes, if you want to get updates about those upcoming meetings, if they should need to move. We'll also ping the CircuitPythonistas role over in Discord in the event that the meeting moves as well. So if you get that role, that's the same role you need in order to speak in this meeting, so it's good for you to have that if you'd like to participate. You'll also get notices about any changes to the meeting. Like I mentioned before, there is a notes doc that accompanies the meeting and recording. The notes document contains timestamps to go along with the video, so you can use the docs to view only the parts that interest you most. Meeting tends to run about 30 to 60 minutes, depending on how many people we have, so you can use the notes doc as well as the timestamps in it to skip around if you like. After each meeting, we'll post a link to the next meeting's notes doc in the CircuitPython dev channel on the Adafruit Discord. You can always check the pinned message in the CircuitPython dev channel in order to get the link to the latest notes doc, and those links tend to go up within a day or so after the previous meeting, so you can also put your notes in ahead of time. You don't have to wait until Monday morning if you don't want, if you think of a report or a status update throughout the week, you can hit that pinned link and put those in ahead of time. The meeting will be held in five parts. The first part is going to be community news. This is a look at the CircuitPython and Python on hardware in the community. It's a preview of the Python on microcontrollers newsletter. The next part will be the state of CircuitPython, the libraries and Blinka. This is going to be a statistical overview of the entire project, the chance for us to look at the project by the numbers separate from what we're all working on. The third section of the meeting will be the hug reports section. This is the first of two round robin sections. This is an opportunity to highlight the good things that folks in our community and beyond are doing. Take a moment to recognize awesome folks in our community. The next and fourth section is status updates. This is the second one of our two round robin sections. Status updates is an opportunity to sync up on what you've been up to. Take a couple of minutes to talk about what you have been doing since the last week and tell us what you'll be up to over the next week until the next meeting. The fifth and final part of the meeting is the in the weeds section. In the weeds is an opportunity for more long form discussions. These discussions can come out of status updates or they can be identified ahead of time as too long for status updates. If you do have in the weeds topics, I know there are a couple down there towards the bottom of the notes. Go ahead and scroll your way down there and enter any ideas that you do want to discuss for the in the weeds section. So that covers how the meeting will go. And so next up we will get into community news. Scroll up a bit here this week in community news. Time stand for this one. The first item is the Halloween roundup. This Halloween, which is today, of course, October 31st. Happy Halloween to everyone. There has been a bonanza of maker projects uploaded online that use Python, MicroPython and CircuitPython. So check out the newsletter this week. There are many, many gifts and videos and links to Halloween themed projects. So check those out in the newsletter. You can see that ahead of time now as a draft on GitHub. And then of course, if you are subscribed, then you'll receive that letter in the mail tomorrow. Next up in community news is CircuitPython 8.00 beta 4 has been released. There is a link here to the Adafruit blog with the release notes. The notable changes since beta 3 are the ESP32 C3 builds are now working again and the Raspberry Pi Pico can act as a server as well as allows the use of a static IP address on that device. A quick warning for anybody, though, if you are going to be updating to beta 4, the flash partitioning has changed between beta, see, I believe it was between betas 2 and 3 and then also between betas 1 and 2. So we are on 4 is the new one that's coming out. If you're already on 3, then I believe you have nothing to worry about. But if you are on a version older than 3 at this point, when you flash the new beta, it will wipe your CircuitPy drive. So make sure you back it up before you do that. Keep a copy of anything important on there on your PC before you make that update. Next up in community news this week is little bug, I guess, has come up on macOS Ventura. So macOS Ventura, that's the a newer version of macOS. I'm not exactly sure when that released. But it turns out there was a problem inside of that version that has caused an issue with copying UF2 files to microcontroller boards, which of course is how we typically load CircuitPython devices. So this is quite an issue for us. At present time, if you copy with the Finder, copying with Finder, which is the file explorer application, I believe, if you copy it with Finder, then it results in a cryptic error, unfortunately, instead of copying successfully. If you are comfortable with the terminal, you can use cp-x command in order to copy the UF2 file and that is working. A number of maker companies are jointly reaching out to Apple to seek a fix. Raspberry Pi has stated they'll make a blog post about the issue and its current status on November 1st. So we have that to look forward to an update from the Raspberry Pi Foundation, sounds like tomorrow. But otherwise, if you use a Mac, just be on the lookout for that. If your OS has updated to Ventura, then for the time being, you'll need to use terminal or some other program to copy your UF2 files. Next up is the Oshua has announced new board members. The Open Source Hardware Alliance, or Oshua, has announced their 2022-2024 board members. Congratulations to Thea Flowers, David Silk, Ginger Zing, let's see, Alu Watabi, Yanola, and Michael Leinberg. So congratulations to those folks, and head over to the link on the Oshua page if you'd like to learn more about that organization or its new board members. A few more here. Next one is from the Raspberry Pi Foundation again. This is a page that contains some tutorials essentially for learning how to program with Python, but also specifically how to teach others to program with Python. So if you're new to teaching programming or you're looking to build or refresh your programming knowledge, the Raspberry Pi Foundation has a free resource called Learn to Program in Python, which is an online course pathway. It's for educators who want to develop their understanding of the text-based language Python. Each course is packed with information and activities to help you apply what you learn in your classroom teaching. And there is a link there, again, over to the Raspberry Pi Foundation webpage. And then in projects this week, there were lots and lots and lots of great projects in the newsletter, both Halloween and otherwise. But one of the ones that really caught my eye was this barcodes in Python and CircuitPython projects. So this was published recently on Twitter and GitHub. This user created a library that makes code 128, which is a specific barcode format, specific style of barcodes. This library makes those barcodes for you. And there are actually two different variations of it. One of them runs on CPython and uses PIL. And then one of them runs on CircuitPython and uses DisplayIO to draw those barcodes. So I am always a sucker for DisplayIO stuff. And barcodes are actually something that I got super duper interested in at one point as well. So this is about the perfect intersection of those two interests of mine, so I couldn't resist showing this one. And that is it for our preview items from the weekly newsletter. Just a reminder, the CircuitPython Weekly Newsletter is a CircuitPython Community Run newsletter, which is emailed every Tuesday. The complete archives are available on AdafruitDaily.com. This newsletter highlights the latest in Python on hardware related news from around the web, including CircuitPython, Python, and MicroPython developments. If you'd like to contribute your own news or projects, you can edit this week's draft on GitHub and submit a pull request with your changes. You can also tag a tweet with hashtag CircuitPython on Twitter or email to cpnews at Adafruit.com to submit those projects and newsletter ideas. All right. So that will bring us to the state of CircuitPython, the libraries, and Blinka. And so overall stats this week, let's get a timestamp in there, overall this week we had 36 pull requests merged. Those were by 24 authors, which is great to see a couple of names of folks that are perhaps newer or less frequent contributors or just folks that maybe I didn't recognize, who maybe knew, but maybe just have escaped, you know, recognition from me before. And if so, I apologize for that. But the couple of those names are RTWFruity, PIIT79, George Bow, let's see, Cenurus, CS10Camp. And then the last one I had highlighted there was Gustavo MFB. So again, thank you to those folks for contributing, you know, potentially for the first time or the first time in a while over on GitHub. Thank you of course to everybody else who contributed as well, all of our normal contributors. And anybody who I may have missed, we definitely appreciate contributions from everyone. So thanks loads to anyone who submitted anything across the libraries or the repos this week. For those 36 pull requests, we had eight reviewers. So thank you to our reviewers. Looks like the usual list of folks there. So thank you of course for continuing to review so that we can get new code into the libraries and projects. We had 31 closed issues by 11 people and 19 opened by 12 people. So we are net down by about 10 issues overall, which is nice to see. And that is it for the overall stats. So to talk about the core, I will turn it over to Dan if you are available to tell us about that. Sure, thank you. So in the last week, we've had 23 pull requests merged by 13 authors. Chuck Juan is a new contributor. Thank you very much. There were four reviewers of those pull requests. We now have 22 open pull requests. This number goes up and down a lot every day. There are some really old ones there that are waiting, mostly waiting third party things. There were 16 issues closed by six people and six opened by six people. There are now 562 open issues on the Circuit Python Core. They're categorized in various ways. There are 28 open issues which we'd like to fix or we'll triage for the 801 release. There are 13 open issues that we'd like to fix sometime in the 8XX release cycle. There are 20 open issues that have to do with libraries. There are 498 issues that are long term, which are enhancements or minor bugs. And there are two issues that are labeled support. Those usually are eventually passed off to Discord or the forums. And one issue we need to triage still. So that's what we've got for the core. Thank you. Excellent. Thanks, Dan. Next up, I will send it over to Katnie to tell us about the libraries. Thanks, Tim. This section applies to all of the Adafruit Circuit Python libraries, which is everything that starts with Adafruit underscore circuit Python underscore, as well as a few extras such as our cookie cutter and our community bundle. Across all of those repos, we had 11 pull requests merged by 10 authors and six reviewers. Anecdata is not often in our reviewer list for the libraries. More often on the course, so that's good to see. And a number of the new names that Tim listed off earlier are also in this list. So I'm really glad to see those too. And our oldest pull request merged with 63 days, so that's really great to see we're still trying to get through older PRs and leaves us with 38 open pull requests. We had 13 issues closed by seven people and 12 opened by six people, leaving us with 576 open issues. 103 of those are labeled good first issue. If you're interested in contributing to Circuit Python on the Python side of things, take a look at circuitpython.org contributing. You'll find all of this information and more, including the list of open pull requests and all of the open issues. If you're looking to get into reviewing, check out the open pull requests. If you have the hardware test it, if you don't, take a look at the code and leave a comment. Let us know that you did, if it looks good to you or if you find an issue. Once you're comfortable with that, we can talk about leveling you up to the review team. If you're interested in contributing code or documentation, check out the open issues. If you're new to everything, good first issue is a great place to start. We have a guide on contributing to Circuit Python using Git and GitHub, and we're also always available on Discord to help out. We want you to be able to contribute in a way that works for you. In terms of library updates in the last seven days, we have one new library, Adafruit Circuit Python Pastebin, and a number of updated libraries that I will not read off. That's what we've got. Excellent. Thank you, Ketney. Next up, we will hear from Maker Melissa to tell us about Blinka. Hello. Blinka is our Circuit Python compatibility layer that runs on MicroPython and single board computers such as the Raspberry Pi. This week, we had two pull requests merged by two authors and two reviewers, leaving a net of seven open pull requests. There were two closed issues by one person and one open by one person, leaving, and there are now 83 open issues amongst other repositories. There were 11,337 PyWheels downloads in the last month, and there were 31,465 PI downloads in the last week, which is actually a lot more than used to seeing. There are currently 98 board supported, and that's it. Awesome. Thanks, Melissa. That rounds out our overview of the status of the libraries and core as well as Blinka. Next up, we'll move on to the first of our two round robin sections, the hug report section. As a reminder, hug reports is a chance to highlight folks in the Circuit Python community and beyond for doing awesome things. I'll start, and then we'll go down the list as they appear in the notes document to give everyone a chance to participate. If you're text only or missing the meeting, but you put your hug reports in the notes document, then I'll read them off for you once we get to your turn. Otherwise, if you are here and speaking, then I'll call on you and you have a few minutes to tell us about your hug reports for the week. I will get us started here. I'll take the timestamp, and so my hug reports this week. Thank you to DJ Devon who submitted some new examples to the request library that show how to make authenticated API requests to various services. I think that's a great addition to the examples in that repo to show folks how they can interact with real world services that they're interested in. Thank you to C Grover who has recently submitted lots and lots of helpful utilities to the community bundle. A number of those are stuff that I find interesting in the display world, but a number of them are also other stuff that I have not found personally useful, but do look quite handy. So thank you, C Grover for making all of that stuff and getting it all published. And then thank you to Tectric who will be streaming later on tonight, a special spooktacular Halloween edition of the Community Help Desk. So if folks are interested in getting involved with contribution but need help or need someone to look over something or show you the ropes on how to use Git or anything like that, if you just have questions, head over this evening to that stream, the Help Desk stream and Tectric will be around I'm sure with some candy. Unfortunately we can't pass it out over the stream, but you can enjoy candy yourself and Tectric will be working on some Circuit Python libraries and things this evening. So check that out. And thank you again to Tectric for doing that. Next up, we will hear from Dan. Okie doke, thanks. Thanks to Paul SKPT for testing and documentation of various issues. A lot of like background on things that was helpful to get to figure out what was going on. Thanks to Johnny Bergdahl for pointing out an issue, a translation issue where we made it difficult to translate something because it was a sentence fragment and it doesn't always work in a different language. And Nerodoc fixed that. That's great. Turned it into a complete sentence. And thanks to Jeff for continuing to add things to the PyPico W network support. Okie. Awesome. Thanks Dan. Next up, we will hear from DJ Devin 3. Thank you. I have a lot. I've been busy this week and I've gotten a lot of help from other people this week. So I have a list. Thank you. A hug report to Todd Bott for setting up his personal repo for Hacktoberfest. So my Gatorize PR could be counted for the Hacktoberfest. Big hug to FOMI guy for taking on the review of my social media API PRs. That's going to be kind of involved. It's not difficult, but it's involved because you have to register for each, a developer account for each service, which is a little tedious. But if FOMI guy is taking it on, I know he'll get it done. A hug report to Melissa for reviewing and approving a PR for the 7th Segment Display Library. To DigiKeys' Kevin Walseth, Ali Webber, and Ajay for their positive reactions to my Hackapumpkin 2022 entry. Even though they incorrectly identified out-of-fruit nudes as Yale wire, it was still very worth the effort. And those two are easily confused, so no big deal. To Gambler for his 3D Pumpkin printing bonanza for Halloween. Brilliant display and some new code for iDisplays for the RP2040. To Ann Borrella for the amazing blog posts and social media every single day. Their constant source of inspiration and wonder. To Tectric for finding a potential new bug in the QDPI S2 Wi-Fi scanning and ANiC data for helping us with bisecting beta tests for that. We're still not quite done with that, so Jerry's still out on that one. To Dan H and Jepler for the amazing core developments and bug fixing happening every day, and congratulations for the beta 4 release. I still haven't installed it and I'm looking forward to it. To Katny for being the documentation, learn guide, and GitHub captain of the ship. Your direction is always on point and always appreciated. To Paul Cutler for showing me how magical repositories actually work. And that's it, thank you. Awesome, thank you DJ Devin. Next up is Jason P who is missing the meeting, so I will read theirs. They have a hug report to Paul Cutler for bringing the Circuit Python show podcast to town last month and featuring the River Prairie Trolls in this week's episode. It was great meeting you in person and talking Circuit Python and enjoying some beautiful fall weather for a couple of hours. And then next up is Jeff. Hello, I've got a couple of hug reports. Congratulations on hug report to our very own star girl for election to the Oshawa board. To Katny, thank you for reminding me to fill out my hug reports and also for sharing a few photos this weekend. Dan, thank you for the latest beta, so hug report to you. Hug report to George Boe for fixing the same Wi-Fi bug a second time. There was a problem in the core that made MQTT work unreliably. This GitHub user fixed it first for the PicoW and now for the expressive boards and that second fix is in the latest beta. Last up, we're at the end of the month, so a big hug to all the Hacktoberfest participants, including new and occasional contributors. I hope you met your goals. And finally, a hug for Liz for undertaking another PicoW guide to be published when it's ready. Excellent, thank you Jeff. Next up is Katny. Hello. So thanks to Liz for helping create a fritzing object that I absolutely couldn't get to work properly even when I tried to do exactly what she did. That was pretty rough and I would probably not have ever sorted it out if Liz hadn't stepped up and been amazing. To Keith the EE for helping me figure out what turned out to be a completely obvious thing if I had read it properly in the first place, but I didn't. This was unbelievably helpful. It was information I needed to be able to do something for a guide and had initially panged a little more about it, but the question I would have asked would have been incredibly dumb. So I was very grateful that I was able to take a better question to Lamor instead of the very, very wrong one. To Carter for bumping an Arduino library for me after I added new examples. To Lemon from the Python Discord for explaining one of their features to me. To Tectric for prototyping what we need to do to get PyPI download stats on the libraries and get doing it quickly so we can hopefully present it sooner rather than later. To all the folks in the live broadcast chat during Tim's most recent deep dive for trying to help me figure out if there's a good mnemonic for remembering cathode versus anode on an LED spoiler. I still don't have one and we'll be continuing to Google it every time. Another hug to Tectric for always being up for picking up new things and a group hug for all. Excellent. Thank you, Catney. Next up we will hear from maker Melissa. Hello. I wanted to give a hug to Lamor and BT for being supportive while I was out sick. A hug to DJ Jim and three for adding more characters to the seven segment by four circuit by thumb driver in a group of different us. So thanks, Melissa. Next up is Paul Cutler. I've got a hug for C Grover for helping fix the audio in today's podcast episode. I wasn't really prepared to go outside and he saved the episode. I'm Jason Peacore who mentioned me earlier for reaching out about the River Prairie Trolls. I don't know if I would have ever heard about that project if he hadn't contacted me about being on the show, which was kind of cool. And I'll talk about that in my status update. Thanks. Excellent. Thanks, Paul. Next up and rounding out the hard reports is Tectric, who is not present. So I will read. Tectric has a hug for DJ Devon three and Antic Data for helping confirm and test a bug on the Qtpie S2. Hug report for Katny for helping me get set up to work on a bunch of new things and helping to unblock anything in the way. Another hug report for Katny and Jeff for the interest and help in vetting new library CI composite actions. And then a group hug for everybody from Tectric. All right. So that is all of our hug reports for this week. Next up will be the status updates section. Status updates is our time to sync up on what we're doing. I'll start and then we'll go through the list as they appear in the note stock to give everyone a chance to participate. When I call on you, take a couple of minutes, talk about what you've been doing since the last meeting and what you will be doing until the next meeting. That's also an opportunity to provide tips and tricks relevant to what people are working on. If a discussion becomes too much for status updates, then we can move it down to the in the weeds section that follows. So I'll kick us off with status updates this week. I have been doing PR reviews and testing as well as I made a sweep through all of the PRs that were opened at any point this month and added the HectoberFest accepted label to them, which if I understand right is one of the things that can be done to make them officially count for that. So if you are a person who is working on issues or PRs related to HectoberFest and you have a PR open and it does not already have that and you think it should, please ping me on the Discord or GitHub and I will get that in for you, but I believe we are all caught up there at least on the library side of things is where I went through mostly. Some other stuff that I worked on this past week, I added some kind of finishing touches to the trivia game UI, cleaned up a couple of things, added some visual elements that make it easier to know which buttons go with which answers and things like that. On that same project for this PicoW trivia game, I also got a cowbell prototype board and soldered some headers onto that and kind of cleaned up my whole circuit by moving it off of a breadboard with a bunch of gnarly wires everywhere over to using the proto board and some nice evenly sized jumper headers that just run in one big kind of bundle and so that's been nice to get that a little bit more manageable, but still also be non-permanent. I'm not necessarily committed to the exact way that it's wired just yet. I want to still be able to swap it around if a need arises. So this turned out to be a nice in-between step with this cowbell proto board. I also modeled a case for that trivia device which was adapted from the an old Etch-a-Sketch project that had a pie portal inside of it. The TFT that I'm using is not quite the exact same size and shape as the pie portal but it's pretty close so that served as a good starting point for this trivia one. And then the other thing I did was in the core track down a few more info or help tutorial type links for some of the built-in modules. There's a issue open on the core where we are slowly amassing kind of the best reference links for each built-in module and getting those put in so that they'll show up on the actual docs pages. I hunted down a few more of those on Friday's deep dive. And that is it for me, so next up we will hear from Dan. All right, thank you. Okay, so as mentioned, I released sort of Python 8.00 Beta 4 on Sunday and if you've been trying to use it with ESP32 C3 builds, those are fixed and there are a bunch of additions and fixes. There's still a lot more to do but it's better to keep up. This was only a week and I think there were something like 37 pull requests to report on in the release notes so if I get behind the release notes become very voluminous. And thanks to Jeff, I forgot to say in the hug reports, thanks to Jeff who did a quick review on Sunday so that I could finish the release off. The thing that I fixed was retrieving the sleep alarm after deep sleep. That seems to work better now. There are still other alarm problems but I'll be working on them. I fixed the build for the ESP32 S3 box which is an expressive kind of like thing development module. It's a board with a touchscreen and a plastic case and it was a SPIRM problem. It kind of has a kind of unusual internal hardware configuration. I'm working on the LC799203F issue on the ESP32 S3. That's the onboard ship that measures the battery level on various feather boards and it doesn't work well on the S3 but some users seem to have workarounds that maybe we can add to the library for that. That would be great. And I will continue working on bugs. There are various expressive network problems that need tracking down and there are other sleep issues unrelated to the alarm retrieval that also need tracking down. Plus plenty of other things but those are kind of the categories of things that I'd like to work on in the next few days. Okay. Excellent thanks Dan. Next up I will send it over to DJ Devin3. I've got quite a lot. I've been busy again. I've now started using GitHub desktop more often instead of using the web uploads for even for my own repos and my understanding of GitHub was way off and Paul showed me the difference between working directories and how efficient GitHub is versus using web uploads. So I'm transitioning off of web uploads like using GitHub the way it's meant to be used is way better. Pre-commit and black are still a constant struggle and I'm thinking about writing a small script or right click context menu helper to automate that because GitHub desktop does not have like plugins for black or or pre-commit. Even though I think when I initially installed it it should but yeah they don't they don't work. So I still have to do that in CLI. I showed off my Guy Fawkes Stitch Pirate Pumpkin on Bo Show and Tell and Digikey's Hack of Pumpkin 2022 challenge and I made the pumpkin for that the Digikey challenge. By far it was the best pumpkin I've ever done and all the compliments were truly appreciated. I finished the seven-segment social media tracker project and Tim said he'll be reviewing the PRs for those. Having examples for the social media APIs directly from the Request Examples library will help all Wi-Fi anyone doing any kind of Wi-Fi project with APIs hit the ground running much faster if they you know just want like a simple example. I've actually enjoyed working with CircuitPython and API so there will be many more coming in the future. If you have any suggestions for an API you'd like to see which doesn't require a paid account feel free to ping me or DM me anytime. Instagram and Octapart have been requested so those are next on my list. I got a PR approved for the seven-segment display library now you can use almost any alphabetical character with the regular clock backpacks except M, W, X, and Z and it used to be only A through F so all the rest of the alphabet like you couldn't do so I put in a PR and fixed that and Melissa approved it good to go and then I submitted a Gatorize demo to Todd Botts display repo which he graciously gave me the Hacktoberfest label for and hopefully maybe that will swim upstream into the community bundle as an I example and that's all I got this week. All right thank you DJ Devin next up is Jeff. Oh there's that pesky unmute button so I'm happy to announce that by late last week I was finally feeling over COVID in terms of energy level and thanks again to all who's in their well wishes to me and I went back and rechecked thanks to other bug fixes the SSL server support for PicoW works now the PR is in I think actually the PR has been merged but I didn't double check for my notes on the weekend I investigated some micro optimizations to display IO there is a draft PR but it needs more work before it's ready to go in and you might notice my face looks a little bit different I changed my discord avatar for to a spooky owl generated by stable diffusion my branch the branch that I use is called invoke AI and I also created a background slash banner image for my profile the same way I really can't stop playing with this text to image technology I think I'll go back to the regular owl next week though that one was an actual photograph anyway this week the next keyboard guide for real this time it's been over a month since the last one so my goal for the week is to get the guide written for the IBM PCXT to USB HID adapter and but I will also be doing issues and reviews as needed by Dan and you know as circumstances arise that's what I got awesome thank you Jeff next up is catney hello so last week the PCF 8575 guide was finished up and put into moderation that was pretty much it um probably a bunch of misc but I don't remember and I created the pie cowbell proto guide which is up next so this week assembled without soldering the pie cowbell proto in the four possible ways and send images to la more to verify I understand her intentions properly before I solder them all up because I really don't want to desolder them once approved I need to solder up three to four picos I have one that's already soldered I might just use and then four pie cowbells I need to get four images minimum of each soldering each one up to show how to do it orientation is of huge importance because unlike the feather or Arduino both sides of the pico are the same so you can easily add the pie cowbell backwards or upside down then I'm going to start putting together the pie cowbell proto guide will likely be mostly assembly photos but also including I squared C scan code on the how to use I squared C scan code on the pico to find whatever stem a sensor you plugged into the cowbell for both Arduino and circuit python um meeting with Alec this evening to unblock him on the pie pi staff project meeting with Tim this afternoon to walk through setting up our TD and a new library and then I need to at some point do a fritzing object for the Q spy breakout boards that are in the new products list still um only one is needed only one fritzing object because they're all the same board with different chips and this past weekend lost four hours of my life to a combination of usb being a jerk and mac os being equally jerky I finally moved my second display from usb c to my htmi 4.2 matrix box or four by two matrix box and added a thunderbolt four hub and everything else about my us send me back yes I am sorry my uh discord tab crashed on me there unfortunately um sorry I did not you cut off about when you were starting to talk about audio drivers for me did you finish up with the last of your status reports and um either way do you want to just recap it so it will end up in the recording if nobody's doing yeah sure um basically it took four hours but I'm using a completely different usb 3 hub plugged into the thunderbolt hub via usb c adapter because apparently the usb a side of my brand new thunderbolt hub refuses to mount drives including circuit pi which is an option sometimes I hate computers maybe more than sometimes that's what I've got thank you catney hopefully fingers crossed I've got a new computer coming so it'll be exciting to set everything up again and hopefully we are just not going to be having any kind of issues anymore with this gordon um next up though is uh maker melissa hello uh actually it's kind of ironic that your computer crashed when she's talking about hitting computers um but for my status update uh for the last two weeks I was out sick due to covid and I finished writing up the clue robot guide for my secret python day live stream uh it's in moderation at this point uh I helped to try and troubleshoot a funhouse board for a user and I worked on updating the google assistant guide and went through and created open issues for the circuit python code editor this weekend finishing updating the google assistant guide and then I need to update any missing boards from the circuit python beta 4 release and then um probably work on catching up on some good habit issues that's our map excellent thank you melissa next up for status updates is paul cutler I do not hear paul I'm here sorry tim you cut out on me oh I got you yep I apologize and no worries um new episode of the circuit python show came out today with jason picoar and the river prairie trolls um there's a park just outside of Eau Claire wisconsin and I dropped um a link to the photo gallery that you should check out because like I won't do justice explaining them but there's three trolls in this installation that kids can play with and they light up and make sounds and I talked to jason about how it came to be and how you circuit python to build them and the proof of concept and how they survived the weather so really neat interesting episode that's kind of different um and I really like the fact that he reached out to me because I probably would have never heard of that installation so that's what I got awesome yeah that sounds super cool I'm interested to to learn more about those thanks paul um and I did get a note I was cutting in and out a bit just to make sure before I read the next one am I here and audible and such sounds good now okay thank you appreciate the heads up uh so then next up for status updates is tech trick who is not present so let's see tech trick status updates last week uh submitted a new library to the bundle called adafruit paste bin uh this is a library for using paste bin services like paste bin dot com i get up just and even adafruit io um i had no idea adafruit io had a tech storage thing that's pretty cool thanks for the tip tech trick uh my goal was to oh i disappeared again and then back again yeah i apologize folks i don't know uh i'm afraid to touch anything too much um stop at the top of tech trick you can hear me now though should i keep going or yes okay let's see where was i okay so paste bin library new library from uh tech trick for paste bin and similar services uh my goal was to have a library that would help transmit potentially large amounts of information uh or saving exception tracebacks when a device isn't hooked up to a screen or via serial uh in order to print it out um got started on reintroducing blinka and library pi pi download stats to adabot and the weekly report using google's big query uh and then rolled out a new rolled out the new composite actions to one of the libraries with no issues uh for this week uh under tech tricks status updates streaming a very scary community help desk this evening from 7 p.m to 10 p.m eastern time where i'll help anyone uh with anything they have uh or take a look at reviewing prs or otherwise uh anything that's a part of hactober fest so folks be sure to tune in uh tonight for that at 7 p.m eastern time uh next up is uh tech tricks looking looking to have a prototype for the pi pi download stats done this week so the report for the next weekly meeting will have it generated automatically uh it was added manually this week and then uh lastly tech trick mentions hoping to roll out the new composite actions across all the libraries and follow through with any cleanup after the fact and that gets us to the end of the status updates so let me take a time stamp for in the weeds introduction and then scroll just a little bit here and read that portion of it so thank you to everyone who participated in our round robin sections our reports and status updates uh to round out the meeting today our final section is in the weeds this is an opportunity for more long form discussions these can either have come out of status updates or they can be identified from ahead of time um if you have any in the weeds topics please go ahead and make sure they get added down at the bottom of the note stock we have a couple in there so we'll talk about those uh but you want to make sure to get yours in before we catch up because we don't necessarily tend to just wait around for topics to pop up so get those in early as soon as you think about them um and for the first topic uh we have one from DJ Devon 3 so I will pass it over to you if you want to tell us what your ideas about thank you I'd like to code a library specifically for request apis called api land but it's above my skill level right now I'm not good with libraries functions I can do but libraries and classes are still kind of out of my realm uh this leaves the door wide open for someone to improve the examples I submitted to be even easier for beginners and I know that portal base tried to do something like that but I'm looking for something that's easy for beginners as well as maximizes compatibility across all boards um that plugs directly into the request api library and just makes things much easier um the api examples that I coded are more of what I expected when I first came into circuit python to have available to me but it just didn't exist uh if anyone wants to take a shot at helping evolve the api examples while maximizing compatibility and keeping it inviting to beginners it would be greatly appreciated um so that's that's my idea I don't I don't know if it's a valid idea or if it's something even a wild like I have no idea I think I do agree with what Tektrick mentioned here I think this would make a pretty good sense in the community bundle or the circuit python org bundle if you intend to have other folks um from the community help out and support it in the in the long term um personally I would say I think that the examples in the request library honestly are a really good spot for those things um a separate library um I'm not fully opposed to it but I don't necessarily see the full I guess picture because all apis are different so any kind of library that interacts with a bunch of different apis is kind of going to be a almost like a bunch of separate libraries um in my mind it would almost make sense like if you want a discord library that does the discord api then that's like the discord library rather than a general api library that does um a handful of different apis that's kind of the way that my brain um breaks it down at least is each one because they have different apis specs and like you know you have to attach your token in a slightly different way or you have to send it a different type of request or different json body or whatever um because they're all slightly different I think it kind of makes sense to keep them all separate with the exception being that the intersection is the request library and the examples there I think are definitely beneficial to have um that show all of those things that makes absolute sense yeah because all of the requests I just don't want to code up like start coding a whole bunch of different examples for different apis and then have a list of like 30 api examples with underscore api instead of like trying to combine that some you know more efficiently into like a library package that's more trim and neat and tidy like everybody else is like coding libraries that I can't do kind of thing I mean I would say I mean definitely feel free to to make an attempt at it and and add it to the community bundle or anything like that again I'm definitely not opposed to it I think the um the lots of examples though I don't look at it as a problem um it can become a problem if they're super disorganized and they are difficult to find what you're looking for I would say another potential solution to that is add like a add a folder potentially inside the examples directory and then put like a markdown file as sort of a a read me for that one section of the repo and then you could have links um and you know sentences or whatever that explain what each one of them is if there is a need for additional organization that can be done inside the examples folder as well I think okay I'm just starting out so there's only four right now but you know I plan to do a bunch more um so I'll just keep coding api examples and if someone wants to take that someday and then do something with that then maybe I'll just do that and just let somebody else do that and I'll just keep doing what I'm doing okay yeah cool thank you uh thank you again for working on all this and um yeah feel free to submit submit more uh PRs once you got more of those knocked out if I could just jump in for a second I want to say I think something that you were getting at Tim but didn't say it explicitly when we talk about a circuit python library that's something that either all of it or none of it is copied onto your device so it's taking up room on the circuit python drive at a minimum and so if you put 50 different apis in one library support for 50 different web apis in one library then you've got like 50 files that you copy to circuit pi and for your project maybe you only use two or three of them and so the right kind of organizational thing to put those in when you're not going to use most of it is not one library it's some other organizational feature and I left right to what I think you were saying Tim which is multiple libraries one per api or maybe there's some commonality to pasting libraries like Tectric found but the default wouldn't be to put every web api in one library because they're just so different and there's potentially so many of them that makes complete sense and I would just end up causing the exact issue that I wanted to simplify in the first place thank you yeah for sure thanks Jeff definitely appreciate it and DJ Devin as well next up was one from me this was a link I'll drop the link in the discord as well to a PR that was opened in the request library and this is a user who's interested in getting the ball rolling on asynchronous support for requests and so the core of this question boils down to if someone is going to work on asynchronous requests or really at this point someone has started working on it do we think that we would want that asynchronous supporting version so to speak inside the same repo and it would get converted to a directory instead of a single file or would it make more sense if there's like an async requests library that gets created that's its own thing that houses the new version that supports async so I started working on this yeah I think this person kind of picked up where you left off right right and it actually I think what I wrote worked even though I hadn't tested it or it almost worked the issue there are a couple issues here and I had discussed this with Scott and Lamar when I worked on this which is like months ago now the way async works it's really hard to factor out the async parts because anything that is async has to be an async routine so you end up duplicating a lot of code and there probably could be some refactoring to share some code but in many cases it's not possible so the problem really is they suggested that I make it a separate library even though it's mostly sort of copied code with some minor changes if it was in the same library and it were a separate file that might be okay but then the problem is that it's this is frozen into a few places like the matrix portal and there isn't enough room to add a whole bunch of more code so those are all kind of like only practical considerations as opposed to I logically I would think it would be maybe in the same library if it were very similar but that's not true of like AIO, HTTP and some other ones also but they're not as much like requests as this one might be got you okay so I think it doesn't make sense to have a new library but the maintenance of those two libraries needs to go in lockstep if you add an API to one it should be added to the other and if you fix a bug in one it should be fixed in the other physically tied together so maybe yeah make the new one and then make it real clear in the readme some are very prominent maybe even I don't detect this is maybe something to look into with CI stuff as well maybe even we could set it up to where any PR that comes in it could automatically post back a comment that's like just FYI this this library is supposed to stay in sync with this other one so there should probably be a PR over there as well yeah or even just in the source code might be good enough okay so yeah all right definitely appreciate the the thoughts in the discussion I will read a response back on that PR to let them know that it sounds like new library is probably the way to go and I'll point them in the direction of how they can get set up to do that okay and I think that library should be maintained by us okay I don't think it should be a community library in terms of naming if anyone has preferences it's just Adafruit Circuit Python async requests or do we have something else in mind you don't remember what I called it I actually went through I thought about that for a while and the name I came up in my I'll I'll post I'll post the link to my branch for this okay okay thank you Dan and then our last in the weeds is from Tektrick maybe text only Tektrick if you want to give that a try or let me know either way and I'll I'll read it text only okay sounds good Tektrick's in the weeds topic says there were a few issues like this one submitted recently about tightening up the requirements for some libraries and Tektrick want to ask what are other thoughts about these so this is a link to a PR that's in the Neopixel library this one is however I think it came from a some kind of automated thing so I think we saw these across a few different libraries potentially and it's I have not read the whole issue personally or PR but I believe it's something to do with different versions of the requirements if I understand correctly Tektrick goes on to mention his thoughts are that I don't think pinning a maximum revision is beneficial for our use case because it wouldn't matter for microcontrollers if the users are drag and dropping from a downloads bundle folder pinning Blinka also means that people won't automatically get updated versions of it anymore if they want to use specific libraries the risk of interdependent api's breaking is low with the only one that particularly would likely cause issues being Blinka itself and then this also competes with another set of PRs I'm hoping to look at when the pendabot can understand compatibility syntax the tilde equal sign which would better help us manage when to upgrade major revisions so the core of this is about basically pinning the versions it sounds like today we don't pin the versions in the requirements and then this PR opens it up to say that you should pin the versions and the requirements and so we kind of decide do the benefits of pinning are they enough for us to want to do that or do the benefits that we get by not having it pinned outweigh whatever gain we would get and I will say personally I don't I don't necessarily know too much about it however the one that Tektrick mentioned which I it seems at least on the surface to me like I would agree with is the idea of if we pin it then we have this thing where either people are steadily using a version that's more and more out of date or we have to go make a sweep across all the libraries to update the version that it's pinned to which I think we have done stuff like that before so that's certainly not the end of the world but if it could be automatic and just on like the newest version or whatever then I think that skirts around that issue and we don't tend to really have API breaking stuff that I know of too much like Tektrick mentions as well so personally I would kind of lean that way but I do definitely own up to being not very knowledgeable on the topic so open to ideas from anybody else I personally would not rush to implement this person's suggestions it looks like they have some kind of project you know that they're running on on projects to to figure out these things and they're just filing a bunch of automated PRs this does not correspond to a real problem that we need to solve for our users this is somebody who thought it would be fun to open up 150 bug reports 150 issues across github and create work for people and that's a little bit of an uncharitable way to put it but that's what I'm seeing when I look at the activity of this github account called pie depths I wouldn't rush to do anything because of this issue I would probably just close it okay all right anybody anybody else have any thoughts or ideas um I responded on one on the blanket one and it was just like it's just going to create a lot more maintenance and overhead um then and it doesn't actually solve any problem that exists okay so yeah I agree that closing it is probably the right move okay awesome thanks thanks for the input folks um I would agree with Adam I'm definitely fingers crossed hoping that they mean well but yeah in this case it does um does not necessarily help us out too much um all right uh so we got no other in the weeds topics so that gets us to the end of the meeting let me find the wrap up section here we are wrap up I will take the last time stamp uh so this has been the circuit python weekly meeting for october the 31st excuse me october the 31st happy halloween to everyone thank you everyone who participated if you want to support aida fruit and circuit python and those of us that work on circuit python consider purchasing hardware from the aida fruit shop at aidafruit.com the video of this meeting will be released on youtube at youtube.com slash aida fruit and the podcast will be available on major podcast services the this meeting will also be featured in the python for microcontrollers newsletter uh which gets mailed out on tuesdays you can visit aidafruitdaily.com to subscribe to that the next meeting will be held I believe monday at its usual time at 2 p.m although I'll admit I did not look at the calendar so somebody uh correct me if I'm wrong there but I believe we're on for monday normal time next week um it'll be here on uh discord same place as we are now you can join anytime by going to adafru.it slash discord you'd like to get notified about the meeting and any upcoming changes you can ask to be added to the circuit python easter's role on discord um and that's going to do it for today thank you for participating everyone and we'll see you all next week thanks thanks everyone