 Welcome to the CircuitPython Weekly Meeting for August 28th, 2023. This is the time of the week where we get together to talk about all things CircuitPython. I'm Paul Cutler and I'm a member of the CircuitPython community. What is CircuitPython? It's a version of Python designed to run on tiny computers called microcontrollers. CircuitPython development is primarily sponsored by Adafruit, so if you wish to support Adafruit and CircuitPython, consider purchasing hardware from Adafruit.com. This meeting is hosted on the Adafruit Discord server. You can join anytime by going to adafruit.it-slash-discord. We hold the meeting in the CircuitPython Dev Text Channel and the CircuitPython Voice Channel. This meeting typically happens on Mondays at 2 p.m. Eastern and 11 a.m. Pacific, except when it coincides with a U.S. holiday as it will next week when we'll have the meeting on Tuesday at 2 p.m. Eastern. In the note stock, there's a link to a calendar that you can view online or add to your favorite calendar app. We also send notifications about upcoming meetings via Discord. If you'd like to receive these notifications, ask us to add you to the CircuitPythonista's Discord role. There is a notes document to accompany the meeting and recording. The final notes document includes timestamps to go along with the video, so you can use the doc to skip around and view the parts of the video that interest you most. The meeting tends to run 45 to 60 minutes. After each meeting, we post a link for the next week's meeting notes document on the CircuitPythonDev channel on the Adafruit Discord. Check the pin messages to find the latest notes doc so you can add your notes for the following meeting. If you wish to participate but cannot attend, you can leave hug reports and status updates in the document for us to read during the meeting. This meeting is held in five parts. The first part is community news. This is a look at all things CircuitPython and Python on hardware in the community. It's a chosen set of items from our Python on Microcontrollers newsletter. The second part is the state of CircuitPython, Libraries, and Blinka. This is a quantitative overview of the entire project. It's a chance to look at the project by the numbers separate from our status updates. The third part is hug reports. Hug reports are an opportunity to highlight the good things folks are doing, taking the time to recognize the awesome in our community. The fourth part is status updates. Status updates is an opportunity to report on what we've been up to. Take a couple of minutes and talk about what you've been doing in the last week and what you'll be up to over the next week. And the last and fifth part is in the weeds. In the weeds is an opportunity for more long form discussions. These discussions can come out of status updates or be something that you've identified ahead of time is too long for status updates. And that's how the meeting will go. With that, we'll get started with community news. This week's newsletter is jam packed and I'm just grabbing some of the bigger headlines and highlights from it. Please subscribe to the newsletter because it's a great one this week. PyCon AU was held just over a week ago and there's two talks to check out. The first is open source communities and 10 years of MicroPython from Damien George, the founder of MicroPython. It's a great talk. It's a non-technical talk. It's about things that can help your community and the social aspects of engineering. I'm almost done watching it and highly recommend it. The second one is from Matt Trentini. You can't do that in MicroPython. Matt's talk at PyCon AU 2023, MicroPython is great for hobbyists. You can control LEDs and motors. It's so easy, but you wouldn't use it for anything serious, right? Surely not. It's too slow. You can't use all the features of a microcontroller. It consumes too much power. You don't have control over memory. Hint, all of this is wrong. You can do so much more as Anne says. I'll be watching that video next. Next up is Python in Excel. Microsoft combines the power of Python and the flexibility of Excel. They've announced a new analytical capability available within Excel with the release of a public preview of Python in Excel. It makes it possible to natively combine Python and Excel analytics within the same work group with no setup required. With Python in Excel, you can type Python directly into a cell. The Python calculations run in the Microsoft cloud and the results are returned to the worksheet, including plots and visualizations. You can check out the Microsoft Excel blog or the Verge has a story on it as well. Python creator Gito van Rossem shared that he also helped the Excel team with this initiative on Twitter. And the last headline is CircuitPython 8.2.4 was released in the last week. This is a bug-fix revision of CircuitPython. A couple of fixed boards and improved messages and documentation were the notable changes. CircuitPython Weekly Newsletter is a community-run newsletter emailed every Monday morning. The complete archives are linked in the notes document. It highlights the latest Python-on-hardware-related news from around the web, including CircuitPython, Python, and MicroPython developments. To contribute your own news or project, edit the next week's draft on GitHub or take it on Maston or Twitter with Pound CircuitPython or email cpnews at Adafruit.com. And that's community news. This is the status CircuitPython, the libraries, and Blinka. This is a quantitative overview of the entire project. It gives us a chance to look at the health of the project separate from our status updates. We'll talk about the project overall, then separately discuss the core, libraries, and Blinka. So overall last week, in the last seven days, we had 26 pull requests merged. Some names that are new to me. I apologize if I missed anyone else, but Estrelia, C. Cattuto, and Jim McCown were some of the 17 authors. We had seven reviewers with the familiar names and nine closed issues by three people with 14 open by 11 people. And with that, I'll turn it over to Scott for the core. Thanks, Paul. Okay, now numbers for the core. We had 20 pull requests merged, which is awesome. 12 different authors, so lots of folks. Thank you to those folks. We had five reviewers. Some infrequent reviewers are MicroDev and Gambler. 21, so thank you both. We have currently 31 open pull requests, which is more than my one-page gut check, but a bunch of those are super... Let's see. Six of them are a day older or less, so that's the weekend. We should be able to catch up and get under that 25 pull request mark to be on a single page. Issues-wise, we had seven closed issues by three people and nine open by seven, so we're a little up. We're a total of 698 open issues. This is... The little up tends to be the trend and the way that we prioritize the work for these issues for Adafruit-funded folks is through the milestone system. As I tried to imply that if you are... For community members, we encourage you to work on any issue that seems interesting to you, but for Adafruit-funded folks who tend to use milestones. These milestones reflect... tend to reflect versions. So, 8.2x has seven open issues, and these are things that we'd like to get fixed into a stable release sooner rather than later. And then we have 49 open issues for 9.0, and that's the longer term, new major version stable release that will happen probably in a number of months, not weeks. And then we have long term, which is 597 support, and also mainly we have four issues not assigned to milestones, so these are things that we want to take a look at and not urge issues that we need to take a peek at first, and that's it for the core. Thanks, Scott, and now I'll turn it over to Katnie for the libraries. Thanks, Paul. This section covers all of the CircuitPython libraries, which is everything in the community bundle and everything that begins with Adafruit underscore CircuitPython underscore. Over the last week, we had six pull requests merged. Two of the names that were read out earlier are new, which is great to see. In terms of merged pull requests, four of them were 23 days or older, the oldest one being 131 days, so we're still getting through some older pull requests, and we are down to 46 open PRs. We had two closed issues by two people and four open by four people, leaving us with 636 open issues, and we have 20 good first issue labels. If you're interested in contributing to CircuitPython on the Python side of things, check out circuitpython.org slash contributing. You'll find all of this information and more. You can get started by reviewing. You can get started by contributing documentation or code. There's tons of options available, and we have a guide on contributing to CircuitPython using Git and GitHub, which includes two sections on reviewing, and we're always available on Discord to help out. We would like you to be able to contribute in a way that works for you. For library PyPI Weekly download stats, this week we had 139,174 downloads, over 312 libraries. The top 10 are listed in the notes as usual. In terms of library updates in the last seven days, we had four updated libraries, but no new libraries, and those are also in the notes if you are interested. And that's what I've got. Thanks, Katny. Now I'll turn it over to Makar Melissa to talk about Blanka. Hello. So the section covers Blanka, which is our CircuitPython compatibility layer for MicroPython, RaspberryPy, and other single board computers. And this week we had zero pull requests merged. There are currently five open pull requests amongst other repositories. There were zero closed issues and one open by one person, leaving a net of 103 open issues. There were 10,576 PyPI downloads in last week, 10,361 PyWheels downloads in last month, and we are at 119 boards. And that's it. Thank you. And that is the state of CircuitPython, the libraries in Blanka. Next up is Hug Reports. Hug Reports is a chance to highlight folks in the CircuitPython community and beyond for doing awesome things. I'll start and then we'll go down the list alphabetically to give everyone a chance to participate. If your texts only are missing the meeting, I'll read your notes when I get to them in the list. And first up, I have a group hug for everyone. And next up is C Grover, who is text only. He has a hug for Liz Clark for an excellent Synth.io examples and musical concepts scattered throughout the fascinating circle of fifths learning guide. Special hug to Jeff Epler for the impressive Synth.io core module that just works and keeps on giving. Next up is David Glauda, who's text only. He's got a hug for Dan and Jepler for releasing 8.2.4 and backporting many features or many fixes and board support. And after that is DJ Devon 3, who is also text only. He's got a hug for C Grover for the Palette Fader Library and the Help in Discord. It's exactly what he was looking for in a project. A hug for me, Paul, for the advice to use Palette Fader. Hug for Todd Bot for a really neat Synth.io wavetable visualizer on the Pi Gamer this week. Even if you don't intend on using it, I recommend everyone listens to it. It sounds beautiful. Lady Aida and PT for a particularly informative desk of Lady Aida this week that included a sneak peek at a new octal PS RAM version of the ESP32S3 in 40-pin TFTs of all shapes and sizes. And last, a hug for Foamy Guy for two weekend streams on creating a red team capture the flag style challenge with intentional exploits to find. And with that, I'll turn it over to Foamy Guy. All right, thanks, Paul. Harg reports for me this week. Thanks to Mark McGookin on GitHub and also has a blog under the same name. They have a very helpful blog post and helpful helper library that is published on GitHub that makes it super easy to work with AESIO module, which is cool because I didn't know that exists and it's got some ins and outs that you got to do in order to use it. And this person made it a lot easier. So thanks to them to Michael Pocusa for reaching out about looking into even more improvements in HTTP server before I could even get all of my thoughts around what I thought would be cool. Michael's already on it, so that's really cool. I appreciate that a lot. And then the last one for me this week is on GitHub, the user BJAP for supporting a submitting, I should say, a fix in the core for the GZIP module. It turns out that I had stumbled upon an issue a while back and put some information about it in an issue comment and this person has a much better understanding of what is actually going on and has now submitted a fix for that. So that was really cool to see as well. Thanks. Thanks, Foamy Guy. Next up is Jepler. I just have a group hug today. Thank you. Thank you. And I'll turn it over to Katny. Hello. I also have a group hug today. Thank you. Maker Melissa. I also have a group hug for everyone. Love all the group hugs. All right. Next up is Scott. First, a hug to Bill88T for the PicoW Wi-Fi improvements and then also to Dishapoo for helping folks in the Help with Circuit Python channel. Thank you. And last we have Todd Bot who is text only. He's got a hug for Dan H for all the Circuit Python releases. A hug for Clever and Circuit Python Dev for helping me try to understand and characterize quad SPI flash performance on an RP2040. A hug for Katny, Dan H, and Jepler for helping me understand Sphinx Read the Docs and Jepler for a patch in Circuit Python CI that I could use to fix Read the Docs builds for my libraries. A hug for Josh Marinacci for a CP Synth project that reminded me about the PyGamer and Adafruit Bitmap Saver to save screenshots. And lastly for Jepler for adding socket constants useful for multicast UDP. And that was status updates. That was hug reports. Next up is status updates. Status updates is our time to tell the folks what we're up to individually. I'll start and we'll go through the list alphabetically. When I call on you, take a couple of minutes to talk about what you've been doing since the last meeting and what you'll be doing until the next meeting. This is also an opportunity to provide tips and tricks relevant to what people are working on. If a discussion becomes too long for status updates we can move it to in the weeds. With that I'll get started. I was trying to replace a self-hosted MQTT broker this weekend and use Adafruit IO instead and just couldn't get it to work. I came across the Adafruit-IO module or library that's in PyPI for CPython. Installed that, it was just a piece of cake. Didn't even know that existed so there's a little tip and trick if anyone wants to use MQTT with Adafruit IO and CPython. That's all for me. Next up is Cgrover who is text only. Putting the finishing touches on the first version of the IoT-based Windlass Garden Chimes project running on an ESP32S2 feather with a Max 98357A I2S amp. The chime physics and waveform harmonics are sounding like the real thing. All that's left for version 1.0 is to model the wind speed probability scheme to create realistically weighted random playback. Version 2.0 will encompass simultaneous wind chimes of various materials and scales. My favorite scale so far is an ethnic minor key just in time for Halloween, leaning towards camouflaging the electronics in a garden gnome. The reintegrator direct input PCBs just arrived from Oshpark to be assembled and tested later this week. This is a self-powered Class D speaker output with an audio line level signal converter called the DIM Pro AudioSpeak. It pirates the power needed for its dual op amp analog circuitry from the incoming Class D speaker signal. Looking forward to directly connecting the speaker output from a Pi Portal or Pi Badge or Pi Gamer to a guitar amp or my DAW using this device. Thank you Cgrover. Next up is David Glauda who is text only. Wanting to make noise with Synth IO without involving my soldering from last week, I used my Pico DV from Pimeroni that adds DVI plus SD card plus I2S plus 3 button to a standard Pico. After hours of testing with two separate Picos and the firmware could not load, I decided to file an issue. Dan quickly found the bug, fixed it while Retired Wizard confirmed it working. The PR is now in 8.2.4. Tested a few code samples from Todd and implemented my Pico DV based 3 button drums with a list to the GitHub gist. But it's mostly using Gambler 21's drums.py. Thank you. Next up is DJ Devon 3 who is text only today. He's got four matrix panels up and running with the Matrix Portal S3 this week. It's 128 by 64 squished down version of the Feather Weather script. The highest bit depth I could achieve without artifacts is a four bit color background image. I don't think a single Matrix Portal S3 will drive more than four panels with a little bit depth for displaying an image. I'm not even close to approaching the RAM limitation so it has to be a CPU or bus limitation. Plan to experiment with an IMX driving the panels next. Finally had a reason to use Seagrovers' Palette Feather Library to dim an image layer with Display.io. I'm sure it works amazing on TFTs but also works pretty well on Matrix panels too. And with that, I'll turn it over to Foamy Guy. All right. Thank you, Paul. Oops, I have scrolled to my hub reports so I'll just take one second here. There we go. Okay. In the past week or so, I was in particular over the weekend on the stream a couple of times. I was working on a capture the flag type of exercise that's web based, which is basically like a small web application that is intentionally made vulnerable in certain ways. And the player or the person using it to practice can go and look for those vulnerabilities and find some little flags that are scattered throughout. This is a common type of exercise in the kind of cybersecurity circles. And so I thought it would be fun to make one with the HTTP server library, which is always gaining new functionality. And so it was a good kind of excuse to build something a little bit more complex with that. So I had a lot of fun with it. I have been getting back into library reviews more over the past week. I tested out a couple that were new examples, which is great to see. I always love to see new examples popping up in various libraries this morning. I started digging into an issue I saw on one of them where the builds inside Read the Docs are failing. I thought it was a particular library and I thought it was actually due to a change that I had made but digging a bit further. And after submitting a fix for that, I found out it's actually a different kind of situation going on in some more libraries as well. So I've got to dig some more into that, but something is going on weird with the themes in Read the Docs when it tries to do builds, it seems like. I am also this week following up on typing PRs. There's some that got submitted and then had reviews but then kind of got stalled a bit after that. So I'm going back through those to try to get them finished up. And then I have to look at a little while later on this afternoon I want to get a chance to look at the GZIP PR which was put in the core to fix the way that GZIP works on certain types of files. And then last thing I have for the week is I'll be filling in on Friday for Deep Dive so folks want to stop by on Friday afternoon and catch the stream. I will be there this week. Thanks. Thanks, funny guy. Jepler, you are up. Hello again. So my main work last week and continuing this week is to create a circuit python driver for these LCD dot clock displays and that is still at a stage of it doesn't work yet and it's hard to tell when it will. It's maybe a subtle single bug or it's maybe several problems in my work in progress code but I've got to keep working on that. The stuff that I did accomplish last week though I did some documentation build fixes in circuit python I improved the documentation for RGB matrix in the can IO module I added a pointer for people particularly with the feather can which does not use can IO it uses an external module that you load with circuit or from the bundle zip file I created a PR to merge version 8.2 to main although that already needs to be done again because the bug fix for dock building wasn't in there and as Todd mentioned I added some constants to socket pool to enable something called multi-cast UDP and the final thing I did was merged and reviewed PRs and that's what has been going on. Thank you. Thanks, Jepler. I'll turn it over to Katny. Alright, so this week last week the Metro ESP32S3 guide went live there may still be a couple tweaks because the boards went out we made the guide live before moderating it so if there's a couple issues bear with us we'll probably catch them and then next up I'm going to be doing the guide for the iSpy Pi beret which is a little Pi add-on that allows you to connect iSpy displays so, by the cable that's what I'm working on. Thanks. And you're up, maker Melissa. Hello. So last week I worked on my message board guide and so we're going to finish up the guide and then work on various GitHub issues. That's it. Thanks. Next up is Michael Pacusa who is text-to-only he says that improvements to Adafruit HTTP server 301 and 302 redirects form data dot files support for multiple headers with same name and cookie support for request and response. Very cool. Thanks for working on that. And lastly is Scott. Hello, so on my deep dive on the deep dive on Friday I was investigating the issue Katni found about the S3 Metro just like hitting the timer watchdog and realized this morning and confirmed it talking a little more that we had the problem that the 8 megabyte PSRAM uses more pins because it's set up to be in octal mode and those pins are being reset right now. So basically after you use them your PSRAM doesn't work anymore and you have problems. So I'm going to figure out why we allow you to mess those pins up so why is the pin and use check not working. With that we're going to try switching the S3 Metro to quad set up so that those pins can be used. So on the Metro right now they're used in the SD card and the spy pins and we're not going to be able to do that. So when we're pulled the board so you won't be able to buy it and we're going to do a rev as well. But we'll get a build that hopefully will work still just not in octal mode. I was also working on updating SDK configs and the updater script for the IDF5PR. Once I finish that I need to do smoke tests on the IDF5PR particularly around HTTPS connections because I've saved a bunch of space by turning a bunch of TLS options off. So it's unclear whether we're going to need to turn some of those back on. I'm comfortable being pretty aggressive and emerge into 9.0 because we have a lot of time before that's stable. This is a holiday weekend so I'll be out Friday and Monday but also I get keys to a new office space on Thursday and the internet install is set up to be Thursday as well. So I'm going to be pretty busy this weekend moving into that new space. The goal is to work from there next Tuesday if the internet is working and I can get my computer and stuff moved over. I'm going to have a lot of other stuff to move like all my dev kits and stuff but that's going to be less urgent. And I got kind of obsessed with how I want to store dev boards in this new space. I've kind of pieced mealed together some options but I think I settled on using custom sized cardboard boxes so they're going to be like there's an IKEA Calyx bookshelf which if you think of IKEA bookshelf you're probably thinking of that one where it's like 13 inch square cubbies and it's like you know 2x4 or 2x2. I ordered some custom cardboard boxes to go that will fit should hopefully fit into each of those cubbies so you can stack as many as 10 of them in a single cubby so that you get like really shallow cardboard boxes so you can just have like one layer of dev boards to go in there and then because they're cardboard you can just write on the side what's in there. So I ordered some of those I'm pretty excited about it and probably I don't know it'll be like a week and a half until I get those but I'm excited about it too. So that's my update. And if you have a metro S3 and need the status updates let me know. Anyway thanks Paul. Thanks Scott. You'll have to give us a show us around in one of your deep dives and show us the cardboard boxes sometime that sounds pretty cool. Yeah yeah I'm considering putting it behind me so it'll just be there in like in the background. So we'll see. Cool. And that was status updates. Next up is in the weeds. In the weeds is an opportunity for longer form discussion that come out of status updates or that folks have identified ahead of time. Today we have two in the weeds and I'm going to read the summary of the first one. David is proposing that we have a simple test like we do in libraries but for boards called simple test underscore dot pi that with every board you get a piece of code that gives you a working demonstration of the sensor the LED the buttons etc whatever is available on the board that file should cover all of the board hardware features that it might have from a micro SD card to audio or whatever it might have. So that's the summary I'll let folks take a minute if they want to read through that but I'll turn it over to for discussion. So the board's ship obviously with code on them that is a demonstration of everything when there's multiple things on the board. It is Arduino the reason for that is the testers which are what the boards all go through being tested before they get shipped and they get flashed with this demonstration code and it is frustrating I guess and much more difficult to do this with circuit python and so that doesn't really happen I understand where you're going with this however it it adds it adds a pretty big extra step for us to do to be able to translate that so oh I see David says it's not for an in factory solution but for first time user after flashing so the I think what we do in place of that is we do the guides which obviously have demos that work with everything that's on the board that is not an all in one solution though it's not an all in one circuit python solution because it's obviously broken up by thing I could see if there was somebody in the community who wanted to take this on we could create a repository to keep them in so that there's a central place to go but I don't think this is something that Adafruit is going to be able to take on necessarily just due to cycles at this point this is an excellent idea I definitely if someone's interested in doing it we would be willing to help out in whatever way we can that's I think where we're out with it David said it is a seed I am planting it the idea will grow and I think that's completely valid and an excellent way to be looking at it so I think I think that's a good I think it's a good idea I think we just need to figure out implementation in a way that works for everybody involved so that's what I've got for it I would be happy to see people to have like simple test files checked into the board directory in the circuit python refill I think that would be fine so that when people add new boards they could add a simple test there that doesn't affect anything else because it's just a file that gets ignored by building and so on maybe we'll have to exclude it from python checks or something but we could put it there I think that's a good spot because that means that you only have to make one new PR for a board well you already have to do it in two places you can do it in circuit python and circuit python.org yeah but I think it's probably better to put it in the circuit python repo given that like if we need to change APIs or anything like they're all be in there and we can do those sorts of changes at the same time I think there's a little bit of weirdness and that like those sample files will probably want to reference libraries and I don't think we want to have explicit dependency listings there but circuit does a good job based on imports anyway right so I think that would be fine David also makes a point about these like super portal libraries and I agree with you the big do everything libraries are great if you want to do what they do but it would be good to have examples that work at the lower level as well so yeah I would say like if we want to have a standard simple test for different boards then doing it in the board directories would be fine that handles the cases where the board needs more functionality than what we do in the native C board for example but as catney says like we may not do that for for 804 boards immediately but that doesn't mean that that doesn't mean that other people couldn't add the simple tests for 804 boards that'd be fine but yeah I like Jeff Jeff also suggested having a standard way to link to the documentation for a board from circuitbython.org and I think that's a really good idea too it could be in like the metadata and have like an explicit button for it rather than just being in the text on the left hand side for example that's worth doing too so are there any next steps around this is this something that needs further discussion that we would want to open an issue for as an example or I think there's two pieces one is if David agrees with the idea of putting the sample code in the circuitbython repo just starting to make PRs that do that and then I think for the redesign of circuitbython.org to link to the documentation for a board we'll have to define like what the the metadata name is and then we'll need to get a slight like change to the site design so we can an issue on the circuitbython.org repo would be good because then we can pull in Tyler to come up with how how to make that look and once we can make it look then someone like Melissa could add it to the gears or how to define boards thank you so we'll wrap up the first one and we'll talk about the next item in the weeds from Michael Pacusa I apologize if I'm not saying that correctly but the idea is for a .py file that would automatically be imported and executed on control C when entering the REPL similar to a bootpie or safemode.py which run during specific events so that's the summary there's a couple bullets underneath that outlines some of the pros and there's some of the risks as well I have often wished for a feature like this in python on standard python you can set that variable which names this file each time the REPL comes up the content of that file is executed you can use it to import things it's very handy so after I read this I've been kind of working on prototyping the addition of this feature I don't think it's too hard so I might put in a PR later today but if I don't it's because I'm doing other stuff the work I should be doing instead of the work I'm excited about doing because I'm easily distracted and you can so there's the run file from list or whatever and I was going to try just putting that before it actually drops into the REPL so you initialize the VM you have this new code that checks for REPL.py file and runs it if it's there and then it continues to run into the REPL to let you do stuff David in the text chat says can we do import REPL.py and have the same effect you could say from REPL import star or whatever file you want and that would run the lines in that file in a module and then import every name in that module into the REPL and so yeah this is something that I do a lot I have a file called go.py and I'll say from go import star and that will set up whatever it is I keep running over again in the REPL very handy and kind of a workaround for not having a feature like this so in CPython you said that you have to set an environment variable is that something that we should do in settings.toml instead of having a magic file name maybe I'm just thinking like trying to make it just like CPython I could try writing it that way if that seems better I don't know what do people think I see at least three people who also want this besides Michael so I'm happy to see it added I just wonder if is REPL.py how we want to do it the Python environment variable is like I didn't know you could do that and see Python is Python start up I guess we could just say that defaults to REPL.py and if you put it in settings then it overrides the file well I think in case you want to use REPL.py for something else if you specify a Python start up for a file that doesn't exist standard Python prints an error file not found so I think if that was specified you'd have to specify it so that would mean there's two things to do as opposed to having a default I would have said maybe this was a Python 2.7 thing that there was a standard file for this but I may just be mistaken if so they abandoned that a long time ago and you can only enable it by setting the environment variable I guess my concern is like whenever we have special file names you end up having conflicts like secrets.py like is it bad to gate it behind a settings up Toml file or not like it may not be yeah in standard Python there are things like site.py and a lot of stuff I will look more into the history of the of this setting in standard Python and see if I can figure out what is best or what my suggestion would be but I would love this feature and I'll stop talking now awesome well it sounds like we know what next steps are for that one with that I'll wrap up unless anyone else has any additional comments this has been the circuit Python weekly meeting for Monday, August 28th, 2023 thank you to everyone who participated if you want to support Adafruit and Circuit Python consider purchasing from the Adafruit shop at adafruit.com the video of this meeting will be released on YouTube at youtube.com and the podcast will be available on all major podcast services it will also be featured in the Python for use letter visit adafruitdaily.com to subscribe the next meeting will be held on Tuesday September 5th at the normal time due to the US Labor Day holiday weekend this meeting is held on the Adafruit discord which you can join by going to adafruit.it slash discord to be notified about the meeting and any changes to the time or day you can ask to be added to the circuit pythenesis roll on discord we hope to see you all next week thanks everyone bye