# CircuitPython Weekly Meeting for June 6, 2022


Welcome to the CircuitPython Weekly meeting notes! Feel free to add your Hug Reports and Status Updates early. During the meeting, we go through them as a round robin sorted by username. If you can’t make the meeting and would still like to participate, add your notes with a “(missing meeting)” after your username and we’ll read them off for you. 


Add any longer-form discussion topics or general questions you have to the “In the weeds” section. 


Thanks! We hope to see you in the meeting!


Tim is hosting.


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


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.herokuapp.com/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.
## 03:21 Community News
### 03:24 The Latest Python Developers Survey Results Are Out
The Python Software Foundation (PSF) announced the results of their fifth official annual Python Developers Survey. The work is done each year as a collaborative effort between the PSF and JetBrains. Late last year, more than 23,000 Python developers and enthusiasts from almost 200 countries/regions participated in the survey to reveal the current state of the language and the ecosystem around it. https://pyfound.blogspot.com/2022/06/python-developers-survey-2021-python-is.html


### 04:03 Python 3.11 is up to 10-60% faster than Python 3.10
Python 3.11.0 has reached beta 1 status and is close to release. It is up to 10-60% faster than Python 3.10. On average, developers measured a 1.25x speedup on the standard benchmark suite. How is this being done? Python 3.11 is the first release to benefit from a project called Faster CPython, where CPython is the standard version of the interpreter. Faster CPython is a project funded by Microsoft, whose members include Python inventor Guido van Rossum
https://www.analyticsinsight.net/welcome-python-3-11-an-upgrade-to-counter-decades-long-speed-issue/


### 05:01 Life as a Python Software Foundation Director
Life as a Python Software Foundation Director is a YouTube video window into what it takes to lead the foundation responsible for guiding Python
https://www.youtube.com/watch?v=ZLKj6FaQA4M


### 05:23 Google's Plan to Make Chip Development More Like Open Source Software
The Google Hardware Toolchains team is launching a new developer portal, developers.google.com/silicon, to help the developer community get started with its Open MPW shuttle program. This will allow anyone to submit open source integrated circuit designs to get manufactured at no-cost  Google Open Source Blog via Slashdot.


### 06:02 Make: Boards Guide Review: Adafruit Feather RP2040
The Make Boards Guide reviews the Adafruit Feather RP2040 - Makezine.
### 06:22 Macropad Mod
An Adafruit MacroPad mod, with 2 encoders and a 14 segment display added over I2C. A 3D printer case in TPU. It runs on CircuitPython
https://www.reddit.com/r/MechanicalKeyboards/comments/v2rusx/first_build_adafruit_macropad_added_2_encoders/




### 07:10 Newsletter Details
The CircuitPython Weekly Newsletter is a CircuitPython community-run newsletter emailed every Tuesday. 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.
## 07:57 State of CircuitPython, Libraries and Blinka
### 08:07 Overall
* 35 pull requests merged
  * 18 authors - simallaire, weblate, dhalbert, Lisapple, jepler, NathanY3G, tekktrik, djairjr, FoamyGuy, bablokb, gamblor21, tannewt, ajs256, awordforthat, Neradoc, fabaff, SimonVail, makermelissa
  * 6 reviewers - tannewt, ladyada, dhalbert, kattni, tekktrik, makermelissa
* 21 closed issues by 11 people, 13 opened by 9 people


### 09:23 Core
* 11 pull requests merged
  * 12 authors - gamblor21, tannewt, ajs256, weblate, Neradoc, dhalbert, Lisapple, jepler, NathanY3G, fabaff, SimonVail, FoamyGuy
  * 3 reviewers - ladyada, dhalbert, tannewt
* 15 open pull requests
  * https://github.com/adafruit/circuitpython/pull/5352 (Open 263 days)
  * https://github.com/adafruit/circuitpython/pull/5999 (Open 116 days)
  * https://github.com/adafruit/circuitpython/pull/6037 (Open 110 days)
  * https://github.com/adafruit/circuitpython/pull/6119 (Open 92 days)
  * https://github.com/adafruit/circuitpython/pull/6217 (Open 65 days)
  * https://github.com/adafruit/circuitpython/pull/6247 (Open 61 days)
  * https://github.com/adafruit/circuitpython/pull/6256 (Open 60 days)
  * https://github.com/adafruit/circuitpython/pull/6349 (Open 32 days)
  * https://github.com/adafruit/circuitpython/pull/6397 (Open 22 days)
  * https://github.com/adafruit/circuitpython/pull/6410 (Open 17 days)
  * https://github.com/adafruit/circuitpython/pull/6442 (Open 9 days)
  * https://github.com/adafruit/circuitpython/pull/6450 (Open 5 days)
  * https://github.com/adafruit/circuitpython/pull/6453 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/6458 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/6460 (Open 1 days)
* 6 closed issues by 5 people, 4 opened by 4 people
* 512 open issues
  * https://github.com/adafruit/circuitpython/issues
* 5 active milestones
  * 7.3.x: 2 open issues
  * 8.0.0: 43 open issues
  * Libraries: 21 open issues
  * Long term: 448 open issues
  * Support: 0 open issues
  * -2 issues not assigned a milestone


* Core download stats available at https://circuitpython.org/stats


### 11:04 Libraries
* 16 pull requests merged
  * 6 authors - dhalbert, bablokb, tekktrik, makermelissa, awordforthat, Neradoc
  * 5 reviewers - dhalbert, kattni, tannewt, tekktrik, makermelissa
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_Debouncer/pull/39 (Days open: 31)
    * https://github.com/adafruit/Adafruit_CircuitPython_Logging/pull/28 (Days open: 12)
    * https://github.com/adafruit/Adafruit_CircuitPython_ESP_ATcontrol/pull/59 (Days open: 10)
    * https://github.com/adafruit/Adafruit_CircuitPython_HT16K33/pull/100 (Days open: 3)
    * https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/pull/166 (Days open: 3)
    * https://github.com/adafruit/Adafruit_CircuitPython_Motor/pull/64 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_RSA/pull/32 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel/pull/128 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE/pull/167 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE/pull/166 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE_BroadcastNet/pull/30 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_BLE_BroadcastNet/pull/29 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_DS1307/pull/25 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_WSGI/pull/18 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_IL0373/pull/26 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_FeatherWing/pull/77 (Days open: 1)
  * 22 open pull requests (Oldest: 615, Newest: 1)
* 11 closed issues by 8 people, 9 opened by 6 people
  * 640 open issues
  * 185 good first issues
* https://circuitpython.org/contributing
Library updates in the last seven days:
**Updated Libraries**
 * [Adafruit_CircuitPython_floppy](https://github.com/adafruit/Adafruit_CircuitPython_floppy)
 * [Adafruit_CircuitPython_Wiznet5k](https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k)
 * [Adafruit_CircuitPython_VL53L1X](https://github.com/adafruit/Adafruit_CircuitPython_VL53L1X)
 * [Adafruit_CircuitPython_JWT](https://github.com/adafruit/Adafruit_CircuitPython_JWT)
 * [Adafruit_CircuitPython_HT16K33](https://github.com/adafruit/Adafruit_CircuitPython_HT16K33)
 * [Adafruit_CircuitPython_ESP32SPI](https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI)
 * [Adafruit_CircuitPython_BLE](https://github.com/adafruit/Adafruit_CircuitPython_BLE)
 * [Adafruit_CircuitPython_DS1307](https://github.com/adafruit/Adafruit_CircuitPython_DS1307)
 * [Adafruit_CircuitPython_Logging](https://github.com/adafruit/Adafruit_CircuitPython_Logging)
 * [Adafruit_CircuitPython_Debouncer](https://github.com/adafruit/Adafruit_CircuitPython_Debouncer)
 * [Adafruit_CircuitPython_ESP_ATcontrol](https://github.com/adafruit/Adafruit_CircuitPython_ESP_ATcontrol)
 * [Adafruit_Blinka](https://github.com/adafruit/Adafruit_Blinka)
 * [Adafruit_Python_PlatformDetect](https://github.com/adafruit/Adafruit_Python_PlatformDetect)
 * [CircuitPython_Community_Bundle](https://github.com/adafruit/CircuitPython_Community_Bundle)


### 13:16 Blinka
* 8 pull requests merged
  * 4 authors - djairjr, dhalbert, makermelissa, simallaire
  * 4 reviewers - dhalbert, kattni, makermelissa, tekktrik
* 4 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 481 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/496 (Open 315 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 241 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/201 (Open 181 days)
* 4 closed issues by 1 people, 0 opened by 0 people
* 75 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* Piwheels Downloads in the last month: 8788
Number of supported boards: 89




## 14:03 Hug reports
@foamyguy (hosting)
* Scott for reviewing tilegrid.contains() pr and sharing ideas for Group interactivity
* @CGrover for testing many devices with a custom build that changes the display brightness PWM frequency and leaving notes and info about results
* @makermelissa for reviewing some of my recent PRs
* Group hug


15:19 @CGrover (text only)
* Group hug


15:45 @danh
* @tannewt for big space savings on ESP32-nn boards by changing how translations are compiled
* @dsohrabian for lots of testing and dialog trying to narrow down an ESP32SPI problem
* @foamyguy for a big PR to add PWM frequency arg to display initialization


16:36 @g3holliday (lurking)
* Group hug
* Scott for tilegrid work       


16:47 @kattni
* @Mark(Gamblor) for helping me out over the weekend with trying to get some code going on a personal project
* @jerryn for writing the code and helping me along the way with hardware etc.
* @danh for jumping into the project thread to attempt to help with a code issue that involved pin.alarm and deepsleep
* @tekktrik for helping me with figuring out a simple MicroPython thing that I was struggling to find an example of.
* Group hug!


17:22 @makermelissa:
* @simallaire for adding a new board to Blinka
* @tinue for fixing the SPI port setting for the Raspberry Pi on Blinka
* Group Hug


17:49 @Mark(Gamblor) [ lurking ]
* @tannewt and @anecdata for PR reviews


18:06 @tammymakesthings
* Group hug!


18:19 @tannewt
* @foamyguy for keeping deep dives going.


18:36 @tekktrik (text-only / not present)
* @neradoc for help with understanding a cookiecutter issue
* Group hug!
## 18:59 Status Updates
19:35 @foamyguy (hosting)
* Update devices with built-in displays to use a new constructor argument for pwm frequency internally within the core
* Tweaks to circuitpython.org: adding a note about how to get to bootloader on picosystem and making the search box autofocus on the downloads page
* Trying out the tilegrid.contains() function with a touch version of a slide puzzle application
* Working on simple text scroller for Matrix Portal easily configurable with a txt file on the CIRCUITPY drive


22:11 @CGrover (text only)
* Submitted a PR to add a global NeoPixel brightness getter/setter to the NeoTrellis/MultiTrellis library. The PR was approved yesterday and is waiting for an independent test.
* Still working on the displayio-based brightness algorithm for the MatrixPortal and other RGB matrix displays. The prototype code is working nicely but needs to have the controlled displayio objects and palettes defined in advance. The continuing challenge is to figure out how to make the algorithm autonomously discover and control all displayio objects. 
* Display brightness is my life now.


23:05 @danh
* Finish CircuitPython 8 API change: moving `OneWire` from `busio` to `onewireio`. Required CircuitPython, Blinka, and library changes.
* Reviewed @tannewt’s build save-spacing PR, with an eye to build time.
* Added and tested board definition for latest Feather ESP32-S3 (4MB flash, 2MB PSRAM)
* Debugging ESP32SPI problems: have a reproducible test case for problems when displayio is used with ESP32SPI on Matrix Portal.
* Probably make an 8.0.0-alpha.1 release soon


25:12 @kattni
* Last week:
   * Did the final testing on PyLeap and greenlit it for release. 2.0 is live!
   * Got a series of GIFs of double-tapping reset to get to the bootloader on different boards for the WipperSnapper app documentation
   * Continued QT Py Pico guide
* This week:
   * Finish QT Py Pico guide now that I have hardware
      * I have MicroPython NeoPixel blink going, so that’s a good start.
   * GitHub fancy profile guide
   * GitHub Actions status light guide
* This past weekend:
   * Worked on the mailbox project. I still need to set up the RPi, which I do so rarely, it’s always a huge pain to do it when I need to.
   * Everything is soldered and assembled, but there’s something up with the code. Need to do a bit more testing, but it might be a bug.
   * Soldered a chonky LED to the Pi LoRa Bonnet with some creative use of mounting holes and unconventional wiring. No idea yet if it works, but it looks really nice from the top. I’ll use this one in the final project rather than try to do this again.


29:23 @makermelissa
* Last Week:
   * Added issue tags to circuitpython.org open issues
   * Fixed various eInk issues and added new features
   * Updated the PiTFT installer script with some options to allow it to work in ubuntu better
   * Went through guide feedback for Programming an Arduino using Raspberry Pi GPIO guide
   * Started with looking into getting the TSC2007 touchscreen breakout to work with the kernel drivers
   * Organized and Closed a bunch of Blinka Issues
* This Week:
   * Continue looking at the touchscreen stuff
   * Possibly look at some of the HT16K33 library issues


30:30 @tammymakesthings
* This week: Starting to dig out of the backlog with my job! Did one [Twitch](https://twitch.tv/tammymakesthings) stream on Sunday, working on the displayio part of my card deck library finally. Tried to do a second stream earlier in the week,but was thwarted by repeated Cox internet outages.
* This week: hopefully back to more regular streaming. Working on the displayio card deck library, and maybe adding a useful debugging helper for `TileGrids`. Also hopefully some PR reviews (still hoping!) and more type annotation stuff.


31:58 @tannewt
* Translation optimization was merged in.
* Now back to working on wifi auto-join. Will talk with Brent about their approach in wippersnapper.
* https://mapnote.dev/#v=0&lng=-122.331549&lat=47.603840&z=12.00


35:29 @tekktrik (text-only / not present)
* Last week
   * Finalized getting `adafruit_logging` 4.0.0 deployed
   * Flagged libraries with potential problems due to the logging upgrade
   * Spent time with my girlfriend and her parents, so light week!
* This week
   * Working on address library and Learn example repo changes resulting from the new logging upgrade
   * Applying manual patches for the .pylintrc upgrade from a few weeks ago
   * More some more debugging on the Bluefruit Connect image transfer feature addition


## 36:36 In The Weeds
tekktrik:


        adafruit_logging is now a subset of CPython’s logging module, with differences hidden under the hood.  One such difference is that a Handler takes messages and log levels directly instead of a LogRecord object, so those methods have been made private.  One Learn example (and potential use case) is that people wanting to create their own handlers for loggers need to define those methods: Custom Logger Learn Example


        Pro of current:  Not a lot of overhead for what the typical case would be (Logging to sys.stderr or possibly an external file), so it’s lightweight and simple to understand.


        Con of current:  Can’t “easily” define custom handlers, and those handler’s methods would take different arguments than their CPython equivalents.  LogRecord would need to be implemented but could be an inexpensive solution like a namedtuple.


Is it worth exposing the methods of Handler to allow for customization?


## 45:09 Wrap-Up


Next meeting is June 13.