 Alright, hello everyone. This is the CircuitPython Weekly Meeting for March 14th. This is the time of the week where we get together to talk about all things CircuitPython. My name is Tim. I am sponsored by Adafruit to work on CircuitPython part-time. If you don't know what CircuitPython is, this is a version of Python that is designed to run on tiny computers called microcontrollers. CircuitPython development is primarily sponsored by Adafruit, so if you want to support them and CircuitPython, consider purchasing hardware from Adafruit.com. This meeting is hosted on the Adafruit Discord channel. You can join anytime by going to ADAFRU.IT. We hold the meeting in the CircuitPython Dev text channel, as well as the CircuitPython voice channel. This meeting typically happens on Mondays at 2pm Eastern, 11am Pacific, except when that coincides with a US holiday. In the note stock, there is a link to a calendar that you can add to your favorite calendar application to get notifications about when these meetings are coming up, and especially the ones that do occur on the Tuesdays, which is what will happen if there happens to be a US holiday on Monday. I did not look at the calendar for next week, but I believe we're on Monday, and I'll take a peek at that by the time we get to the end, so in the wrap-up I will let folks know for sure if next week is the normal time or not. There's a notes document that accompanies the meeting and the recording. The notes document contains time stamps to go along with the video, so you can use the notes to view only the parts that interest you most. This meeting does tend to run 60-90 minutes, so this gives you the option to skip around. After each meeting, we will post a link to the next week's meeting notes in the CircuitPythonDev channel. Again, that's on Discord, so check the pinned messages there to find the latest note stock. You can also add your notes for next week's meeting, and I will just add you can, this note stock gets created generally shortly after the weekly meetings on Mondays, so you can actually add your stuff ahead of time. If you want to add notes in throughout the week, you can definitely do that. If you wish to participate but cannot attend, then you can leave your hub reports and your status updates in that document, and we will read them during the meeting. So, this meeting will go in five main parts. The first part is going to be community news. This is a look at all things CircuitPython and PythonOn hardware in the community. This is a preview of the PythonOn microcontrollers newsletter, which generally comes out on Tuesdays. The second part of the meeting is going to be the state of CircuitPython, the libraries in Blinka. This is a statistical overview of the entire project. It's a chance to look at things by the numbers and separate it out from the specific stuff that we're all into in our status updates and stuff like that. So the third part then is hub reports. This is an opportunity to highlight the good things that folks are doing. Take some time to recognize the awesome folks in our community. This one, hub reports, is the first of our two round robins, the next of which is the fourth part, which is status updates. This is an opportunity to sync up on what we've been doing. You can take a couple of minutes, talk about what you've done in the past week since the previous meeting and what you will be up to in the next week until the next meeting. And the fifth and final part is called in the weeds. And this is an opportunity for those long form discussions. These can come out of status updates or be something that is identified ahead of time as likely to be too long for status updates. So that covers how the meeting will go. The next up is going to be community news. Let me get a timestamp and then we will get going on that. There we go. So this week in community news, we had Circuit Python 7.2.1 released. I believe maybe that was released earlier today or possibly yesterday. So there's links here to the GitHub release and there's a short list of the notable fixes since 7.2.0. So I'll read a couple of those. We have expressive I2C pull-up detection fix. We have fixed for the SAMD 21 to improve the auto reload reliability when you save your code file or any other files for that matter. We updated the trusted certificates within Circuit Python for making HTTP requests. We fixed count IO problems when it is used outside of code.py. And then lastly it was added to the core so that we can use the from future import annotations, which is something that is typically used in CPython. So this gives us the ability to make our code compatible between Circuit Python and CPython with regards to all of the typing work that we're doing lately. So thank you to everyone who worked on any contributions to Circuit Python that got us to 7.2.1. Next up, this is the new Arduino Nikola version. The new Arduino Nikola, excuse me, vision, not version, Arduino Nikola vision. This is a new type of device. So the Arduino Nikola vision is a ready to use 2 megapixel standalone camera that lets you analyze and process images on the edge for advanced machine learning and edge computing applications. It's listed as Python and Arduino compatible. It integrates OpenMV support, excuse me, it integrates OpenMV and supports MicroPython and features Wi-Fi and Bluetooth Low Energy connectivity. Next up is, oops, let me get a time stamp here. Next up is going to be the implementation of the language 4th on the Raspberry Pi Pico. 4th is certainly not one of the most modern programming languages, but it does take into account for limited resources, and there is now an implementation of the 4th language for the Raspberry Pi Pico, and there are links there in the notes to Twitter and Hackaday, it looks like, as well. Next up is the Tom's Hardware Pi Cast is coming up with special guest Paul Cutler, which is the host of the Circuit Python show, which there will also be a new Circuit Python show coming up this week. So check out that discussion with Paul on the Tom's Hardware Pi Cast. There are links here in the notes for YouTube and Twitter. Next up, Adafruit's own Ann Borrella will be joining the Python Bytes Stream podcast this episode. Actually, yeah, I was about to say the date. I don't know the exact date, actually, but I encourage you to hit the link in the notes to find out when that will be. So let's see here. Python Bytes episode, this is going to be number 274, and includes discussion 12 questions you should be asking of your dependencies. And of course, we'll feature, as I mentioned, our own Ann Borrella, the editor of the Circuit Python weekly newsletter, which is where all of the rest of these items and many more will appear this week. A couple more we have. So let's go timestamp here. Jeff and Melissa, two of the Circuit Python developers spoke, I believe, last week or the week prior at the Dublin Linux Developers Meetup, and the video is now available. So there is a link in YouTube to catch that talk if you are interested. And then the last one, I believe this is here, is the Apoka Pi Now. The Apoka Pi Now is a logable rugged EMP proof Raspberry Pi portable. It's basically like a little cyberdeck, which I am definitely a sucker for cyberdeck. So I thought this was a really cool looking device. And so I included this one in here. And I encourage you to take a look. There are some links here to Haxter IO, Reddit, and Twitter. All right, so that is the community news. And this is all again, going to be part of the weekly newsletter. The Circuit Python weekly newsletter is a Circuit Python community run newsletter that's emailed every Tuesday. The complete archives are available at AdafruitDaily.com. There is a link in the notes if you want to hit that. It highlights the latest Python on hardware related news from around the web, including Circuit Python, C Python, and MicroPython developments. You can contribute your own news by making a pull request on GitHub under the Circuit Python weekly newsletter repository. Or you can send news to cpnews at adafruit.com. Or you could also try tagging Ann here on Discord or Twitter. But the pull request and the email I think are the sort of primary ways to get your news in the newsletter. So next up is the state of Circuit Python, the libraries and Blinka. So overall this week we had 44 pull requests merged. We had 21 authors working on all of those. I failed to go through here and pick out names ahead of time, but just skimming through right now a couple of the ones that I don't recognize are Five Tide, Bab Loak Bee, Ezio Maloti, CD Wilson, let's see Rick Sorensen, DG Rizwo, Circuit Art, WHO G Ben, Texas. Yeah, those are the names of folks that I don't recognize. So thank you to all of them. And of course, everyone else who contributed this week anywhere in the Circuit Python ecosystem. We had 11 reviewers. So thank you to all of our reviewers. Those look mostly like the usual suspects, I think. So thank you to everyone who's doing reviews for us. We had 39 closed issues by 15 people and 13 were opened by 10 people. So next up, I will pass it off to Scott, I believe to tell us about the core. Hello, so I'll read the numbers for the core. 21 pull requests merged, which is awesome from nine different authors to thank you to all of those. The new folks here in this list are Fab Rick Sorensen, Circuit Art. So thank you to those new folks in the nine authors. We had four reviewers. So thank you to all of our reviewers. We have 10 open pull requests currently. The oldest is 179 days old. And then it's kind of a smooth gradation there and not a whole lot of new stuff. So thank you to everybody for working through those. Issues wise, we had 13 closed issues by five people and six open by five people. So we're net down seven which is good for a total of 505 open issues. We're slowly growing and the number of issues but a lot of those we think are like good long term things but not super urgent. So that's okay. We're okay growing the issue count but not necessarily the pull request count. We have seven active milestones. We use milestones for triaging issues as they come in. And we have one open for 72 X and then four open for 730. So pretty good overall on the milestone front. And we'll just double check. This says we have one issue not assigned to milestone. Those are the ones that we want to make sure and get categorized and looked at. But that number might be a little bit different between me checking my email this morning and these numbers being snagged. So that's it for the core. All right. Thanks Scott. I will pass it over to Katnenex to tell us about the libraries. Thanks Tim. So 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. Across all of those repos we had 17 pull requests merged by 11 authors and nine reviewers. The oldest closed PR was 28 days old which is good. We're still getting through the older ones and that leaves us with 19 open pull requests. We had 20 issues closed by 11 people and six opened by five people leaving us with 614 open issues. 207 of those are good first issues. If you're looking to contribute to circuit Python on the Python side of things check out circuitpython.org slash contributing. You'll find all of this information and more including open pull requests and open issues. If you are interested in contributing by reviewing check out the open PRs. Leave us a comment. Let us know you took a look at it. Test it if you have the hardware etc. If you're looking to contribute code or documentation check out the 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 always available on discord to answer questions. In terms of library updates in the last seven days we had two new libraries tt211 and vl53l4 cd and then a number of updated libraries which I will not read off and that's where we are with the libraries. All right thanks catney. I will add to that briefly. I will be making my way through some more of those open PRs so if anybody listening does have open PRs on libraries and you think you need help or you just need somebody to take another look again please feel free to ping me a foamy guy on in the discord or on the the PR. And with that I will pass it over to Melissa to tell us about Blinka. Hello Blinka is our circuit Python compatibility layer for Michael Python Raspberry Pi and other single board computers and this week we had six pull requests merged by five authors and three reviewers. There are currently five open pull requests amongst other repositories and there were six closed issues by four people and one open by one person leaving a net of 69 open issues. There were 13,645 Pi wheels downloads in last month and we are currently supporting 87 boards and that's it. All righty thanks Melissa. We are marching our way up towards 100. So next up is the hug reports section. So I will start and then we will go down the list alphabetically in as the names appear in the note stock. So I'll take a timestamp for hug reports and my hug reports this week. Thank you to Liz Blitt City DIY who is joining us in the meeting here for authoring a fantastic learn guide about MIDI for makers. MIDI was something I've been sort of peripherally aware of for a little while but never knew the specifics and never really got in and played around with. Liz has a really really great learn guide in the Adafruit learn system that explains all the details of MIDI and gives tons of good examples which got me up to speed when I started playing with it last week so thank you to Liz. Everybody who tuned in or participated in the chat during my first deep dive this past Friday especially for sticking with me through a bumpy start while I figured out how to get the YouTube up and running and then lastly my hug report this week goes out to Jose David who published a little while back actually but I had not found it before a initial working version of a display ios slider widget so a little handle that you can slide back and forth sort of like a virtual version of a linear potentiometer which I found to be super useful and fun and I've got some more plans for that in the future so thanks to to Jose. So next up is BlitzCity DIY. So my hug report this week is for Katny she's been helping me out a lot today because my today is my first day full-time with Adafruit she's been helping me get to speed with all things slack learn etc so thank you Katny. Excellent thanks Liz and congratulations and welcome that's very exciting. Next up is Dan H who it looks like is not joining us today so I'll read Dan's oops let me put a timestamp so this week Dan has hug reports for Scott for the USB hostwork as well as to Shippu for supporting 9-bit SPI displays and next up is Jepler. All right I've got a few things here I want to thank Katny for getting the ball rolling on PyCon attendance to Julia Evans who I guess goes by Bork on Twitter for a recent blog post entitled celebrate tiny learning milestones. Julia constantly reminds readers that learning is a journey you should remember to celebrate your advances even in small increments rather than see failure if you didn't reach an arbitrary and distant goal and I think you should check out the rest of her blog for a very refreshing and beginner-friendly view of Linux and programming topics although Python feature is relatively rarely. Anyway getting back from the paragraph form to the sentence form thanks Dan for not only making the 7-2-1 release but also squashing that irritating and subtle bug with reload along the way and Liz I'm so happy to be seeing more of you I hope we can find the chance to do a collab project someday that's what I got. Alrighty thanks Jeff next up is Jerry who is also missing the meeting today and so I will read Jerry's let me do the timestamp and Jerry just has a group hug for everyone and so the next up is Katney. All right so first up hug report to Liz for joining Aida for full time. I'm looking forward to working with you more and excitingly I have been given the task of teaching you to do some stuff so I'm really excited about that. To Carter for help with yet another Arduino issue. To FOMI guy for the starter code for a circuit python time stamper. I built the two key version I haven't ported the code yet and to Dan for the 7.2.1 release. Right thanks Katney next up is Kmatch. Sorry Tim I was slow on the draw on the mute button so my hugs this week go to first to Kevin J. Walters also goes by KJW on discord for some improvements for display labels particularly with way of reusing memory so you don't fragment it as much probably particularly useful for the fixed fonts such as the built-in fonts for with terminal IO so thanks for that. Second FOMI guy thanks to you for the display IO and widget livestream especially looking at all the different slidey switches and things that you had in in there. My last hug goes to Wirehead Seagrover for some tips on i2c pull-ups particularly with the Stemma QT spec and especially for Carter and their awesome i2c guide on on the learn system so thanks everybody. All righty thanks Kmatch and yeah I'm glad you mentioned Kevin J. Walters I actually forgot to put a hug report in there so I will add one for next week but I definitely echo the sentiments of Kmatch. Kevin J. and Walters gave us some nice improvements in the Adafruit label library which I'm always excited to see and then next up we'll pass it over to Melissa. Hello I wanted to give a hug report to Liz for our first full-time day with Adafruit and joining the team make your project everyone else. All right thanks Melissa next up is Mark Gambler who is lurking today so I will read the hug reports for them. First one to Katny for let's see. Notice that I had hug reports in the status updates last week in the in the meeting note for last week. Hug report to me, Foamy Guy for the first deep dive and continuing the weekend streams and a group hug to everyone. Next up is Tammy Mix Things. Thanks so I have a hug report to Foamy Guy for the deep dive on Friday it was great. Late breaking hug report to Liz for joining Adafruit full-time and then a group hug for the community. All right thanks Tammy and next up and the last one in the hug report section will be to Scott. Thanks Foamy Guy. First hug report to you for the first deep dive of yours and also thank you to everybody who joined to watch I really appreciated that. Oh and second hug report to K-Match for working on the RGB LCD displays that look really neat and if you look in the show and tell channel you'll see the difference in speed ups that K-Match managed to get going over the weekend which is very impressive. Exciting stuff in the display world. All right so the next section is going to be status updates this is our time to sync up on what we're doing. This section is also held as a round robin where I will start and then we'll go through the list alphabetically giving everyone a chance to participate. When I call on you you can take a couple of minutes tell us about what you've been doing since the last meeting and what you are going to be doing in the next week until the next meeting. This is also an opportunity to provide tips and tricks relevant to what people are working on and if a discussion becomes too much then we will move it down into the weeds section if we need to. So I will get started first. Let me take a time stamp here so my status updates this week. So last week I didn't do too much in circuit python land. I was enjoying a small but much enjoyed and very pleasant vacation. But this week I've got a couple of things that I'm about to jump into which are a typing page in the learn guide. This will be the creating and sharing a library learn guide. We talked a little bit about that in the meeting last week. I will be updating the display io slider widget that I mentioned a little bit before. It needs a couple of updates for the latest versions of circuit python. I also have some ideas to extend the functionality and a couple things I want to refactor in order to get different names on stuff. And then once I've done all of that I think we will publish that over in the circuit python org bundle. After that I am going to be looking to use that new slider widget in a pr for another new example in the async io library. This is another example that is showing folks how to use async io with display io interfaces. This example has pulls together a slider widget, a couple of round switches, a label, and also importantly this one connects up to some external and built-in sensors, i2c sensors to read data. So bring in all of those things together and making them all play nicely with async code. And then the last thing I have for this week is like I mentioned just a little bit before I'll be diving back into prs for reviews. So if you have any of the older prs open or if you'd have any pr on a library and you don't know what the next steps are or you need help or you just need someone to take a look again please feel free to ping me on discord or in the in a comment on github on the pr and I will be taking a look at that stuff this week. So next up Dan H who is missing the meeting so I will read. So today released circuit python 721 and fixed and auto reload issues which took two prs and perhaps made it a little less likely that there's file system damage. Now a write to the file system causes the program to stop immediately and then wait for three quarters of a second before restarting. Previously we used to be waiting only for half of a second so we've got an additional quarter second in there now. And so there were some cases previously where that half second was not quite enough and it was causing a little bit of trouble. And then Dan's other note here in status updates we'll be working on making a wi-fi HTTP operations more robust by catching errors in our example scripts. And so next up I will pass it over to Jeff. Oh hello again. So last week I found what I hope was the last problem with reading and writing apple to floppies with it a fruit floppy flux engine and a pc five and a quarter inch disk drive. It was a command line usage error and the flux engine author intends to make a change to make it better. There were two settings that had to match and they didn't and it caused problems. I also got a fruit floppy and flux engine working together with an apple disk to drive mechanism reading flux and this is great because it offers the possibility of doing a full archive of copy protected apple disks including quarter tracks. This is down the line to get all the things lined up to make that happen so that brings us to this week. I want to get writing to the apple to the apple disk to with my custom pcb working or else figure out why it's not there's a possibility that an ic on the drive is damaged or that it's a wiring problem or that it's a coding problem and when I got to this point late last week my brain was kind of fried and I'm hoping that coming out at fresh today will let me sort it out. So anyway subsequent to that there is a related pull request in a fruit floppy and in flux engine those have to be finished and also I need to coordinate with the maker of the grease weasel devices and grease weasel host computer software. Basically we need to allocate some small integer numbers to identify these apple style floppy drives as distinct from a pc style floppy drive. So all those things have to happen before this chapter is fully closed but hopefully that's requiring less of my active time and attention and it's just getting some prs done. Then after that I'll work on implementing a format called dot was which is named after of course Steve Wozniak. It is a raw for a raw flux format that's used by apple emulators and I would add it to the flux engine host software so we can at least read it out of floppy's into dot was format. Then I will get some photos and text for the disc two revolution sensor modification to go in the upcoming floppy guide and last on my list this is a lot for one week investigate whether the recently added flex engine GUI can replace some of the command line usage that we are showing again in the same upcoming floppy guide. A flux engine added a GUI looks like you can choose a lot of things but whether you can do quite all of the command line stuff isn't clear and that is what I'm up to. Alrighty thanks Jeff. Next up is Jerry who is missing the meeting so I will read Jerry's let me put a timestamp here. So Jerry implemented a machine learning core capability for the LSM 6DSOX IMU and added that to the library for that device. LSM 6DS is the name of the library and also added an example of that usage. And next up is Katny. Hello. All right so last week I finally finished the TFT feather guide after so many bugs. I added the new templates that were created for the TFT feather guide to the Feather ESP32S2 guide. I started and finished the Feather ESP32V2 guide which was held up by some issues but not nearly as bad as the Feather TFT guide. And I submitted my first PR to MicroPython to expose pin 20 on the ESP32. I am unclear as to why it was not exposed but it's used on the Feather ESP32V2 and Damian agreed that it was fine to expose it for all ESP32 so I put in that PR. This week we began working with Liz on creating new breakout guides and updating guides for STEM acute breakout revisions and this morning already went over a new breakout guide and provided my documentation on creating a new guide. The new guides that we will be working with are the this this is actually a wrong part number the VL53 I think it's L4CD. I have written down wrong. The MCP 23017 and the 1.47 and 1.9 inch PFT breakouts and then the STEM and QT update that we have to work on is the ADXL 343. I will be meeting with along with Tim with Eva this afternoon to learn how to do adibot patches as Eva is currently the only one of us who knows how to do them. There's some various miscellaneous on my list. I need to do the essentials template for async.io which I may be doing in between working with Liz so that may get done sooner rather than later and then I want to eventually look into getting pre-commit going on the learning guides repo. The only thing it will be doing is pylint but I think it could be useful so that's not really a high priority but it's on my list and that's what I've got going on. Nice thank you Catney. Next up I will pass it over to Kmatch. Thanks one again. So the past few weeks I've been looking at using the new port of the circuit python that now somewhat supports the ESP32S3 chip and development board. I'm particularly interested in the capability it has for driving displays particularly fairly simple displays without controllers that sometimes called RGB displays and to support that I have a display that I scavenged from something else but I had a giant mess of wires that came loose a bunch so I took a diversion into QCAD and actually ordered my first PCB to hopefully make that connect without a bunch of janky wiring so I hope that'll make it more reliable for the development and see how that comes out. So my next thing I've been working on related with my janky wiring intact is learning how to use the existing ESP IDF code for bitmap drawing. I learned quite a bit over the weekend of what's necessary and what's not how to make that work so I'm pleased with the progress and particularly figuring out how I can translate from the example code and actually take those pieces and make it work inside a circuit python so that'll be my next task for the coming weeks. I'll keep exploring that and see how that fits in and how to fit it in with circuit python and something else I've started on but haven't finalized is some updates to Cartesian widgets so you can draw a bunch of lines rather than just signifying. So I need to package that and get that into a PR. So that's what I've got for this week. Nice, great stuff. Thank you K-Match. Next up I will send it over to Maker Melissa. Hello, last week I updated the web serial ESP tool to work with the ESP32 C3 and I've only tested it with the dev kit because I don't have the QTPI C3 yet and tested out trying to get python working with lib camera on bullseye but it's still quite a process at this point and doesn't work too well. I just did a bunch of other miscellaneous code requests and created a new example for the Mactake library. This week I'm working on a new potential workaround for requests not working on the matrix protocol in certain situations and it may start a new grade because it's been a while. That's it. Nice, thank you Melissa. Next up is Tammy makes things. All right, so last week I worked on some technology issues with my streaming setup and I was able to do two streams on Wednesday evening and Sunday morning Arizona time. I also figured out the cause of the issue I was having with the PICU tool complaining about the board being too big when you try and use it to install code on Raspberry Pi Pico. So this week I've got two more streams planned. I'm trying to figure out a regular streaming schedule although my work schedule might change in a few weeks when I start my new job so I don't know that may change again. I want to figure out a way to actually fix the issue with the PICU tool now that I've figured out what the problem is and if I have time this week I'd like to tackle a few more of the outstanding issues around type annotations in the libraries. That's what I got. Excellent, thank you Tammy. Definitely appreciate all of your work on those. Next up and the last one for status reports will be Scott. Hello. First the start of the USB host API is merged in. This matches a subset of Pi USB. We aren't actually able to talk to devices yet but we can at least see what's been enumerated and get their USB, VID, PID, manufacturer, product name and serial number. I'm waiting on TAC to do more of the low-level tiny USB work for me to be able to do actually the endpoint reading and writing but every every day I get up and check out tiny USB and he's making progress so that's really cool. I added support for the TT20 211 100, I don't know 21100 touchscreen driver which is used on the ESP32 S3 box which is a kind of dev device from Espressif. It has a nice screen so I got that working. I made a PR to update the IDF but I need to double check that it doesn't reintroduce the Wi-Fi slash USB concurrency issues. So I'll do that before I update it but the IDF update does fix the pin alarm bug with pin alarm working in light sleep and fake deep sleep. So I'm going to take a look at that and I've got some tabs open to do PR reviews and stuff as well. If you don't know, I'm expecting my wife and I are expecting a baby in 11 days so that's a week from Friday so I'm not trying to get into anything super large because at any point the baby could arrive at this point. So that's me. All right thank you. And sorry, I should say if you need anything from me now's a great time to reach out and tell me because at some point I'm going to disappear for six weeks. Yep, all righty, thanks Scott. Thank you. So that rounds out the status updates. The next section that we have is called in the weeds. In the weeds is an opportunity for more long form discussions. These can be things that come out of status updates or be identified ahead of time. If you've got any in the weeds topics, please go ahead and add them now. If you haven't already done so, you can just stick them at the bottom there and we'll go through them in the order they appear. So the first one was one that I had added. I will paste a link to this PR. I saw this PR go by I think a week or two ago and there was some question as to whether we wanted to revert some of the changes in it or not. And then I also thought it would be good if we wanted to, if anybody knows of some already published guidelines or if we want to maybe put together some guidelines around editing the device info that ends up being shown on the downloads page on circuitpython.org. So I know, I think, let's see who was it. I don't remember exactly. I think it was Dan mentioned, putting it up here as well, mentioned suggesting to revert this, some of the changes from this PR, some of them were all right, but some of them were a little bit more in depth. And I think the gist of it is essentially, you know, do we want people copy editing the information that's on the .org downloads pages or are we okay keeping whatever the original author put there, even if it is, you know, contains a little bit of extra information or maybe is not worded in the most clean way and stuff like that. So I figured I would drop this one here and just get the opinions from the community. Yeah, I think the high level is that we need to have kind of a like policy about this. Like I think we need to, I appreciate that this person is coming along and doing lots of the typos and stuff. Like I approve some of those PRs, but the marketing stuff, and I think it might have been this Shippu or somebody else pointed out that like, they might, like, you're changing the way someone else's board is worded and is that your right to do that. And then we also got a request for somebody to like clarify what board info there is. Like this board doesn't have this and doesn't have that. And so I think having some guidelines and some standards for this would be good. I think Dan is being involved in this discussion, so it's probably not worth having a detailed discussion about it now. I think it's worth it. I think we need to avoid becoming the wiki for all things as well, which is kind of the latter person of wanting to add notes and example scripts and stuff. It's like, that's not what it's for either. I think we need to draw the line of like that stuff that the manufacturers should provide and the downloads page is not the place to have a collection of random stuff. Like we could, if somebody put like, oh, I put this all on GitHub and I want to link to that from here, I think that's okay, but having the content there directly is kind of inappropriate. So I looked at what we do with Adafruit products and my impression is that we do basically take the marketing copy from the storefront and put it on circuitpython.org. So I think clearly we've established that some amount of what is more marketing speak than technical speak is appropriate, but it also looked like this particular board was maybe the most flowery and lengthy or at least it was right up there among stuff I had read. So yeah, I think establishing guidelines, maybe there's a length suggestion or something, but ultimately the board makers should have the room to say the things about their product that they want and we're working with them and they're working with us. So I would probably be in favor of going ahead and reverting kind of the more style and wholesale removal of copy, but leave the stuff like that pull request also cleaned up like spacing and spelling and things like that. And it's good to keep that and good to recognize that there were good parts of this pull request. So that's kind of my... And I've seen ones from this person that are like standardizing headers and things like that. Like that is helpful in my mind. They do seem to have done a lot of cleanup work as well, but a little bit in that PR like Jeff was mentioning, but I think there's also been other PRs and they've been doing lots of good, lots of cleanup stuff as well. It's probably worth reaching out to them to bring them on the Discord as well to be a participant in this conversation. Yeah, I agree. Which I could do. That's good, yeah. Okay, all right. Thank you to everyone. And next up, our other in the weeds topic today is for Mark. Mark, perfect. Uh, just a quick couple of questions on the vein of Ask Scott, while he's still here. For the zip pull request, they did some more digging. The GZIP-C Python is actually written in Python, just taking advantage of the ZLIB module itself for the... To do the actual compression. On top of that, I did find a good explanation. I could include on what the W bits are. It's basically, are you compressing using deflate, ZLIB, or GZIP methods? So there's a sort of a standard we can tell people, use this for this type of compression. So based on sort of those two things, I think the best path forward might be to have ZLIB have the decompress method and then that's compatible with C-Python and we can expand on that as time and want permits. And then to have the GZIP one, I can take some of the code from the C-Python one, but the way they take advantage of ZLIB is some of the areas that we won't have implemented right away. But parts of it can be and it can be from a API point. Identical and then use that for the streaming file part of it. So keep both modules in there, but keep them identical to how C-Python does, because I think that gives us that future expandability to the best. Yeah, I have no issue with that. If you want to do ZLIB.decompress and then I think what we'll want is the GZIP file or whatever it's called. Yeah, whatever the IO thing is right now. It's just, yeah, it was lazy on their part. Yeah, that makes sense. I think it should be stored as such. Okay. Now that I just dug through all the C-Python code, I figured it gives a little bit more clarity. Yeah, yeah. The only thing that GZIP does is compresses the file. It does not, you know, ZIP actually will take a group of files, combine them together and then with compression. Right. That's under Linux and Unix. It's normally done by using tar with a switch that says also GZIP the tar file. So there are two different things there. Right. We're only talking about ZLIB and GZIP here. Okay, that's why I wanted to make sure I understood. Thank you. Yeah, we're not talking about ZIP files. Okay, that was just a quick check. I figured it was easier to talk for two minutes and go back and forth and I'll write a summary into the PR2. Jeff is giving them more credit than I'm giving them credit. Jeff says I suspect MicroPython deliberately made trade-offs that are different and I wouldn't call it lazy. In particular, I looked at what they did and it looked like they were taking care to, you know, avoid the access memory allocations and all those things that they prioritize a great deal and that we prioritize a lot less than compatibility. So it's the usual and both are valid and we're right to do what we're going to do. Yes, my, yeah. Sorry, I just, you know. No, no, it's good. It's good. We need to not say things like lazy. We need to write different trade-offs. That's all. Yeah, well, they could at least name it something else. And being lazy is a great trade-off too. They technically did name it something else. It's just deceiving. But yeah, thank you for calling me out on that. All right, so I think Mark has the path forward there. And that was our last item for In the Weeds. I will take a timestamp here and do a wrap up. So this has been the Circuit Python weekly meeting for March the 14th, 2022. Thank you to everyone who participated. If you want to support Adafruit and Circuit Python and those of us that work on Circuit Python, please consider purchasing hardware from the Adafruit shop at adafruit.com. The video of this meeting will be released on YouTube at youtube.com slash Adafruit. The podcast will be made available on major podcast services. This will also be featured in the Python for Microcontroller newsletter, which is coming out tomorrow. You can visit adafruitdaily.com to subscribe for that. The next meeting I did look up is going to be Monday at the standard time. So that's Monday the 21st. It would be at 2 p.m. Eastern time, 11 a.m. Pacific. So that will be our next meeting. We encourage all of you to join us again. Let's see here at this meeting, it's going to be held on the Adafruit Discord server just like we are today, which you can join at adafru.it slash discord. And if you do get added to the Circuit Pythonistas rule, that also comes with the benefit of you will get notification in Discord the morning of the meeting. We usually send it out about an hour before. So I encourage folks to do that. And yeah, we hope to see you all next week. Thank you to everyone.