# CircuitPython Weekly Meeting for October 16, 2023

Video is available [on YouTube](https://youtu.be/RA4vVJrvXPU).


Join here for the chat all week: http://adafru.it/discord.


The CircuitPython Weekly happens normally at 2pm ET/11am PT on Mondays. Check the #circuitpython channel on Discord for notices of change in time and links to past meetings. Meeting times are also available in [iCal format](https://raw.githubusercontent.com/adafruit/adafruit-circuitpython-weekly-meeting/master/meeting.ical) for use with standard calendar applications and can also be viewed [in your browser](https://open-web-calendar.hosted.quelltext.eu/calendar.html?url=https%3A%2F%2Fraw.githubusercontent.com%2Fadafruit%2Fadafruit-circuitpython-weekly-meeting%2Fmain%2Fmeeting.ical&title=CircuitPython%20Meeting%20Schedule&tab=agenda&tabs=month&tabs=agenda).


If you want to be able to participate in the meeting by speaking, you will need to be added to the @circuitpythonistas role on Discord. Please ask any one of the moderators or admins to add you if you’d like to join.


CircuitPython development is sponsored by Adafruit. Please support them by purchasing hardware from https://adafruit.com.


Reminders: Podcast available on most services. Let us know if we’re missing some.
## 2:25 Community News
### 2:45 Bookworm — the new version of Raspberry Pi OS
Bookworm is the name of the new version of Raspberry Pi OS referred to in all the Raspberry Pi 5 discussions - [Raspberry Pi](https://www.raspberrypi.com/news/bookworm-the-new-version-of-raspberry-pi-os/).
> Debian Bookworm itself is mostly made up of incremental updates of the software that was in the previous Debian Bullseye release. There are a few small changes — have a look here for the list — but they mostly won’t affect Raspberry Pi users. So Bookworm itself really hasn’t resulted in many changes.<br>&nbsp; <br>However, for the last year or so we have been working on some major architectural changes to the Raspberry Pi Desktop, and these are launched for the first time in the Bookworm release.
Some of the changes under the hood include Wayland as the default display system for RPi 4 and 5, use of the PipeWire audio system, and Firefox as a supported alternative browser to Chrome.
Importantly for the use of Blinka, there are changes to [how Python modules are installed](http://rptl.io/venv).


### 4:43 Raspberry Pi Pico with CircuitPython, a Primer


DroneBot Workshop has developed a detailed primer on using a Raspberry Pi Pico with CircuitPython - [DroneBot Workshop](https://dronebotworkshop.com/pi-pico-circuitpython/) and [YouTube](https://youtu.be/07vG-_CcDG0).
### 5:10 Newsletter Details
The CircuitPython Weekly Newsletter is a CircuitPython community-run newsletter emailed every Monday. The complete [archives are here](https://www.adafruitdaily.com/category/circuitpython/). 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 next week's draft [on GitHub](https://github.com/adafruit/circuitpython-weekly-newsletter/tree/gh-pages/_drafts) and [submit a pull request](https://help.github.com/articles/editing-files-in-your-repository/) with the changes. You may also tag a tweet with #CircuitPython on Twitter, or email cpnews@adafruit.com.
## State of CircuitPython, Libraries and Blinka
**This report contains information from the previous seven days. Any changes (PRs merged, etc.) made today are not included in this report.**
### Overall
* 20 pull requests merged
  * 19 authors - makermelissa, gfghjjk, heygauri, jins-tkomoda, BlitzCityDIY, tirtharajsinha, bablokb, minordemon, timonsku, michalpokusa, CedarGroveStudios, tannewt, UnexpectedMaker, mmontol, Ryzer58, hexthat, lynt-smitka, FoamyGuy, dhalbert
  * 7 reviewers - BlitzCityDIY, jepler, FoamyGuy, makermelissa, ladyada, tannewt, dhalbert
* 8 closed issues by 4 people, 9 opened by 9 people
* Assigned Hacktoberfest label to 0 issues.


### 8:10 Core
* 7 pull requests merged
  * 9 authors - gfghjjk, UnexpectedMaker, heygauri, jins-tkomoda, tannewt, hexthat, tirtharajsinha, lynt-smitka, minordemon
  * 3 reviewers - ladyada, tannewt, dhalbert
* 20 open pull requests
  * https://github.com/adafruit/circuitpython/pull/6555 (Open 468 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7440 (Open 278 days)
  * https://github.com/adafruit/circuitpython/pull/7618 (Open 238 days)
  * https://github.com/adafruit/circuitpython/pull/7675 (Open 226 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7711 (Open 219 days)
  * https://github.com/adafruit/circuitpython/pull/7811 (Open 200 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7997 (Open 150 days)
  * https://github.com/adafruit/circuitpython/pull/7996 (Open 150 days)
  * https://github.com/adafruit/circuitpython/pull/8033 (Open 143 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8095 (Open 118 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8100 (Open 116 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8233 (Open 78 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8262 (Open 71 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8285 (Open 61 days)
  * https://github.com/adafruit/circuitpython/pull/8349 (Open 46 days)
  * https://github.com/adafruit/circuitpython/pull/8457 (Open 13 days)
  * https://github.com/adafruit/circuitpython/pull/8468 (Open 7 days)
  * https://github.com/adafruit/circuitpython/pull/8467 (Open 7 days)
  * https://github.com/adafruit/circuitpython/pull/8476 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/8479 (Open 1 days)
* 6 closed issues by 2 people, 3 opened by 3 people
* Assigned Hacktoberfest label to 0 issues.
* 725 open issues
  * https://github.com/adafruit/circuitpython/issues
* 6 active milestones
 * 8.2.x: 11 open issues
 * 9.0.0: 54 open issues
 * Libraries: 22 open issues
 * Long term: 611 open issues
 * Support: 19 open issues
 * Third-party: 8 open issues
 * 1 issues not assigned a milestone
### 9:45 Libraries
* 9 pull requests merged
  * 8 authors - dhalbert, CedarGroveStudios, makermelissa, tannewt, BlitzCityDIY, bablokb, FoamyGuy, michalpokusa
  * 5 reviewers - BlitzCityDIY, jepler, FoamyGuy, tannewt, dhalbert
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_PCF8523/pull/30 (Days open: 255)
    * https://github.com/adafruit/Adafruit_CircuitPython_asyncio/pull/47 (Days open: 56)
    * https://github.com/adafruit/cookiecutter-adafruit-circuitpython/pull/232 (Days open: 28)
    * https://github.com/adafruit/Adafruit_CircuitPython_HTTPServer/pull/70 (Days open: 14)
    * https://github.com/adafruit/Adafruit_CircuitPython_LIS3MDL/pull/25 (Days open: 12)
    * https://github.com/adafruit/Adafruit_CircuitPython_AD569x/pull/1 (Days open: 6)
    * https://github.com/adafruit/Adafruit_CircuitPython_asyncio/pull/49 (Days open: 2)
    * https://github.com/adafruit/Adafruit_CircuitPython_FocalTouch/pull/27 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/438 (Days open: 1)
  * 40 open pull requests (Oldest: 424, Newest: 1)
* 2 closed issues by 2 people, 4 opened by 4 people
* Assigned Hacktoberfest label to 0 issues.
  * 653 open issues
  * 19 good first issues
* https://circuitpython.org/contributing
#### Library PyPI Weekly Download Stats
* **Total Library Stats**
  * 60738 PyPI downloads over 314 libraries
* **Top 10 Libraries by PyPI Downloads**
  * Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 6923
  * Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 6342
  * Adafruit CircuitPython Register (adafruit-circuitpython-register): 1905
  * Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 968
  * Adafruit CircuitPython Motor (adafruit-circuitpython-motor): 862
  * Adafruit CircuitPython PCA9685 (adafruit-circuitpython-pca9685): 816
  * Adafruit CircuitPython Pixelbuf (adafruit-circuitpython-pixelbuf): 735
  * Adafruit CircuitPython NeoPixel (adafruit-circuitpython-neopixel): 707
  * Adafruit CircuitPython ServoKit (adafruit-circuitpython-servokit): 614
  * Adafruit CircuitPython binascii (adafruit-circuitpython-binascii): 552
#### Library updates in the last seven days:
* **New Libraries**
  * [adafruit/Adafruit_CircuitPython_AD569x](https://github.com/adafruit/Adafruit_CircuitPython_AD569x)
* **Updated Libraries**
  * [adafruit/Adafruit_CircuitPython_HTTPServer](https://github.com/adafruit/Adafruit_CircuitPython_HTTPServer)
  * [adafruit/Adafruit_CircuitPython_asyncio](https://github.com/adafruit/Adafruit_CircuitPython_asyncio)
  * [todbot/CircuitPython_PS2Controller](https://github.com/todbot/CircuitPython_PS2Controller)


### 12:55 Blinka
* 4 pull requests merged
  * 4 authors - Ryzer58, makermelissa, timonsku, mmontol
  * 1 reviewers - makermelissa
* 3 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 978 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 738 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/299 (Open 141 days)
* 0 closed issues by 0 people, 2 opened by 2 people
* Assigned Hacktoberfest label to 0 issues.
* 73 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI downloads in the last week: 10011
* Piwheels Downloads in the last month: 4663
Number of supported boards: 121




## 14:00 Hug reports


14:26 @danh (hosting)
* @tannewt for running the meeting last week and picking up extra tasks while I was away unexpectedly
* @eightycc for detailed diagnoses of the macOS Sonoma problem


14:53 @CGrover (text only)
* @eightycc and @danh for continuing analysis and efforts to address MacOS delayed save/reload issues.
* @foamyguy for illuminating how RTD and sphinx work to build code documentation. Very enlightening.


15:15 @eightycc (text only)
* I’ve been hanging around this project for the past several weeks and I want everyone to know how refreshing it is to find such a fine group of people to play with. A big hug to everyone!


15:30 @deshipu
* @tannewt for code reviews


15:55 @foamyguy
* @makermelissa for a point in the right direction on Blinka_DisplayIO / PIL interoperation
* @toddbot for a reminder to update cookiecutter along with the change discussed in the weeds.


16:25 @Liz
* @carter for working with me on the AD5693 CircuitPython library. I appreciate your patience and excellent feedback
* @tannewt for assisting with adding the AD5693 library into the bundle and all set on RTD


16:50 @RetiredWizard
* @tannewt for the work he’s done on pysigrok. The ability to see digital signals makes troubleshooting issues that were previously next to impossible for me to solve accessible.
* A group hug for a community that’s always quick and happy to lend a hand and especially all the Adafruit folks.


17:25 @tannewt
* @FoamyGuy for filling in on deep dive.
* @danh for tag teaming the 1.20 merge.


17:45 @todbot (text only)
* @Neradoc for helping me understand `circup`-related library packaging setups and custom bundles. (“circup add-bundle” can be really handy!)
* @deʃhipu & @danh for talking through comparative data struct efficiencies
* @FoamyGuy for helping me be less dumb when adding library to Community Bundle
## 18:15 Status Updates
18:56 @danh (hosting)
* Continuing on MicroPython v1.20.0 merge. I think all the ports now have boards that build. We’ll be ready for a draft PR soon.
* Will do a CircuitPython 8.2.7 release soon.
* Looking at macOS Sonoma problem. https://github.com/adafruit/circuitpython/issues/8449


21:20 @CGrover (text only)
* Submitted the Chime synthio voice helper library to the community bundle. Working on two more voice classes, String (plucked, bowed, and hammered lutes, zithers, and harps) and Aerophone (flutes, etc.). Strings are a particular challenge because the string waveshape gradually changes after the string starts oscillating. The objective is to simulate instrument voices using overtones and envelopes rather than samples since samples become unwieldy for overtones that are not integer harmonics of the root note’s frequency. For example, an open tubular chime’s second overtone is 5.4 times the root frequency.
* Built and tested a custom PCM510xA I2C Stereo DAC breakout PCB. It’s a replacement for the discontinued Adafruit UDA1334 using currently available and stocked chips on an @OSHPark board. A Playground article is in the works.
* Developing a generic accelerometer tap detector library for sensors without built-in tap detection. Have working test versions for the BNo055 9-DoF and Nunchuck sensors. The BNo055 is sensitive enough to detect single or double taps on any axis. The less-sensitive Nunchuck sensor works best if only the x-axis is used.


23:00 @deshipu
* got the positions on qrcodes out, getting the pull request code to be nice
* looking into Micro:bit's "speech" module and how to port it to CircuitPython
* no progress on touch keypad


26:00 @eightycc (text only)
* Other priorities have cut into the time I’d rather spend on CP, so no real progress on either of the CP related tasks to report this week. The items I’m working on are _bleio support for Pico W and a MacOS workaround for the Sonoma filesystem synchronization problem.


26:25 @foamyguy
* “Finishing Touches” on the Template Engine library, mostly fixes for RTD and then release and PR to add to bundle.
* During that process, noticed a change in RTD that resulted in our builds failing inside of their system. Eventually found an RTD blogpost detailing what they changed and have tested out a fix in our TestRepo (more in the weeds)
* Working on FunHouse IoT web dashboard that uses HTTPServer and the new Template Engine library
* Working on changes for PyGameDisplay to work with new Blinka_DisplayIO, getting closer but not working yet. I’ve managed to get colored images out, but they aren’t the colors expected based on the input. I think that it will need to handle the 565 format more explicitly, I’ve found some reference code but haven’t attempted it yet. I also intend to explore the possibility of cutting out PIL and going straight from the new Blinka_DisplayIO into PyGame directly without the intermediary, that could simplify the code, and improve performance potentially.


28:37 @Liz
* At the end of last week, I worked on a CircuitPython driver for the HUSB238 breakout. This involved looking at a ChatGPT-4 log that ladyada had started a few weeks ago and referencing the existing Arduino library. I also wrote some project code for this week’s project from the Ruiz brothers. It is a prop from the 5 nights at freddy’s games, which I have never played before, but luckily Pedro’s son was able to offer guidance on the prop’s functionality and he is having fun with it now.


29:18 @tannewt
* Booting back up after long weekend. Should be around all week.
* Working with Dan to finish up 1.20 merge. CI is close and will smoke test some boards as well.
* Maybe getting to 1.21 merge?
* Some SiLabs presentation practice. Talking about CP on their BLE chip: https://www.silabs.com/about-us/events/tech-talks-wireless-technology-training/bluetooth?source=Partner-Customer&detail=Aadafruit&cid=prt-ada-blu-102623
## 30:45 In The Weeds
@foamyguy - RTD builds failing for libraries with:  ModuleNotFoundError: No module named 'sphinx_rtd_theme'


Here is an example of the failure log output: https://readthedocs.org/projects/adafruit-circuitpython-testrepo/builds/22138786/


This blogpost explains why they are failing now: https://blog.readthedocs.com/defaulting-latest-build-tools/


In the past certain requirements were pegged to specific versions based on the project creation date within RTD. Starting 10/3 they changed it so that creation date is irrelevant and all projects use the same defaults which notably include no longer installing some libraries that used to get installed automatically.


`sphinx_rtd_theme` being one such library that we are depending upon. In the past this was installed automatically when running inside of RTD, but now it no longer is.


In order to get our docs build working we need to add it to our docs/requirements.txt file at whatever version we want.

<s>@todbot – not sure if I can make the meeting in person but… why the heck is the Community Bundle failing to build for me? I added a new library, PR #188 (and 185 & 186 sigh) and CI errors with `build.sh gawk error: "warning: regexp escape sequence `\:' is not a known regexp operator` and `Failed to generate versions file. Its likely a library hasn't been released yet`</s>
<s>Even though it has been released. I opened issue #187 for further discussion.  What am I doing wrong?</s>
Update: Nevermind, I am dumb with covid brain, thanks @foamyguy! CI works now. I had fat-fingered the “git submodule add”

Also @foamyguy: I also need to add `sphinx_rtd_theme` to “docs/requirements.txt”. Perhaps that change should also be in “cookiecutter-adafruit-circuitpython”?


## 37:35 Wrap-Up

Next meeting is Monday, October 23, 2023.
