# CircuitPython Weekly for November 15, 2021


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!


Dan is hosting


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


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.
## 2:25 Community News
CircuitPython 7.1.0 Beta 0 is Available
 CircuitPython 7.1.0 Beta 0 

CircuitPython 7.1.0-beta.0 is available, the initial beta release for CircuitPython 7.1.0. It is relatively stable, but contains issues we may still address for 7.1.0 - GitHub.
Notable additions to 7.1.0 since 7.0.0:
* keypad.Events now include timestamps.
* The Espressif port now provides I2CPeripheral, WiFi monitor mode, ESP32-C3 support, and ParallelmageCapture.
* bitmaptools: dithering and alphablend are new.
* Preliminary support for asyncio is included. Use the CircuitPython asyncio library.
* gifio.GifWriter is new.
* HID now provides boot device and feature report support.
* rotaryio now allows setting the divisor of counts per transition.
* The SAMD port now provides watchdog and alarm with sleep.
* The STM port now provides STM32L4R5 support.
* MicroPython 1.17 has been merged in.
4:50 Make Magazine Issues now on Internet Archive
 Make Magazine 

Make is an American magazine published by Make: Community LLC which focuses on Do It Yourself and/or Do It With Others projects involving computers, electronics, metalworking, robotics, woodworking and other disciplines.
Now past issues of Make Magazine are available on The Internet Archive for Controlled Digital Lending - Internet Archive and Adafruit Blog.
The Pi Cast: Booting CircuitPython On Raspberry Pi
 The Pi Cast 

 The Pi Cast 

Adafruit's CircuitPython lead developer Scott Shawcroft joins Tom's Hardware Pi Cast to talk about a new version of the programming language that boots up on bare metal Raspberry Pi, no host OS required. Les Pounder also shows off the new Raspberry Pi OS Bullseye - YouTube.


## 6:05 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.
## 7:00 State of CircuitPython, Libraries and Blinka
### Overall


* 122 pull requests merged
  * 19 authors - tekktrik, wtuemura, urfdvw, jepler, ladyada, bergdahl, kattni, dhalbert, dherrada, rezaalmanda, EmergReanimator, FoamyGuy, mafiltenborg, fivesixzero, labrusca, zebular13, weblate, nosferatujr, microDev1
  * 10 reviewers - jepler, FoamyGuy, ladyada, KeithTheEE, kattni, dhalbert, dherrada, tannewt, makermelissa, microDev1
* 17 closed issues by 12 people, 13 opened by 9 people


### 7:50 Core
* 17 pull requests merged
  * 11 authors - wtuemura, urfdvw, jepler, ladyada, bergdahl, labrusca, dhalbert, rezaalmanda, weblate, EmergReanimator, microDev1
  * 5 reviewers - tannewt, jepler, ladyada, dhalbert, microDev1
* 15 open pull requests
  * https://github.com/adafruit/circuitpython/pull/5298 (Open 72 days)
  * https://github.com/adafruit/circuitpython/pull/5352 (Open 60 days)
  * https://github.com/adafruit/circuitpython/pull/5422 (Open 43 days)
  * https://github.com/adafruit/circuitpython/pull/5453 (Open 35 days)
  * https://github.com/adafruit/circuitpython/pull/5491 (Open 24 days)
  * https://github.com/adafruit/circuitpython/pull/5519 (Open 19 days)
  * https://github.com/adafruit/circuitpython/pull/5551 (Open 9 days)
  * https://github.com/adafruit/circuitpython/pull/5565 (Open 4 days)
  * https://github.com/adafruit/circuitpython/pull/5571 (Open 3 days)
  * https://github.com/adafruit/circuitpython/pull/5582 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/5580 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/5579 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/5578 (Open 2 days)
  * https://github.com/adafruit/circuitpython/pull/5584 (Open 1 days)
  * https://github.com/adafruit/circuitpython/pull/5585 (Open 0 days)
* 6 closed issues by 5 people, 7 opened by 4 people
* 450 open issues
  * https://github.com/adafruit/circuitpython/issues
* 6 active milestones
  * 7.1.0: 0 open issues
  * 7.x.x: 22 open issues
  * 8.0.0: 7 open issues
  * Libraries: 17 open issues
  * Long term: 398 open issues
  * Support: 5 open issues
  * 1 issues not assigned a milestone


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


### 9:00 Libraries
* 104 pull requests merged
  * 8 authors - tekktrik, FoamyGuy, mafiltenborg, kattni, fivesixzero, dhalbert, dherrada, nosferatujr
  * 7 reviewers - dherrada, tannewt, jepler, FoamyGuy, KeithTheEE, kattni, dhalbert
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_PyBadger/pull/48 (Days open: 107)
    * https://github.com/adafruit/Adafruit_CircuitPython_MacroPad/pull/31 (Days open: 44)
    * https://github.com/adafruit/Adafruit_CircuitPython_AirLift/pull/6 (Days open: 7)
    * https://github.com/adafruit/Adafruit_CircuitPython_APDS9960/pull/36 (Days open: 6)
    * https://github.com/adafruit/Adafruit_CircuitPython_AVRprog/pull/28 (Days open: 5)
    * https://github.com/adafruit/Adafruit_CircuitPython_AVRprog/pull/27 (Days open: 5)
(full list available here: https://adafruit-circuit-python.s3.amazonaws.com/adabot/bin/reports/circuitpython_library_report_20211115.txt)
  * 58 open pull requests (Oldest: 696, Newest: 1)
* 10 closed issues by 7 people, 6 opened by 6 people
  * 627 open issues
  * 259 good first issues
* https://circuitpython.org/contributing
Library updates in the last seven days:
**Updated Libraries**
 * [Adafruit_CircuitPython_PyBadger](https://github.com/adafruit/Adafruit_CircuitPython_PyBadger)
 * [Adafruit_CircuitPython_AVRprog](https://github.com/adafruit/Adafruit_CircuitPython_AVRprog)
 * [Adafruit_CircuitPython_CircuitPlayground](https://github.com/adafruit/Adafruit_CircuitPython_CircuitPlayground)
 * [Adafruit_CircuitPython_TMP117](https://github.com/adafruit/Adafruit_CircuitPython_TMP117)
 * [Adafruit_CircuitPython_AirLift](https://github.com/adafruit/Adafruit_CircuitPython_AirLift)
 * [Adafruit_CircuitPython_APDS9960](https://github.com/adafruit/Adafruit_CircuitPython_APDS9960)
 * [Adafruit_Python_PlatformDetect](https://github.com/adafruit/Adafruit_Python_PlatformDetect)
 * [CircuitPython_Community_Bundle](https://github.com/adafruit/CircuitPython_Community_Bundle)


Overall: We finished a series of library updates including an update to Pylint to run 2.11.1, an update that forces older libraries Read the Docs to run the latest Sphinx, an update to the pre-commit config to include disabling Pylint `consider-using-f-strings` and `duplicate-code` for examples and tests. Where necessary, we also disabled `duplicate-code` for the library code as well. We reverted the increase of the `min-similarity-lines` so we know where there are duplicate code issues and can address them at a later date. A community member is still going through the type hint issues, so expect to continue seeing those. We shouldn’t have to do another massive update like this for a while, but that’s how it goes.


### 12:00 Blinka
* 1 pull requests merged
  * 1 authors - zebular13
  * 1 reviewers - makermelissa
* 3 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 278 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/496 (Open 112 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 38 days)
* 1 closed issues by 1 people, 0 opened by 0 people
* 64 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* 3Piwheels Downloads in the last month: 13372
Number of supported boards: 77


## 12:50 Hug reports


13:00 @danh
* @tekktrik for all kinds of library and documentation fixes
* @jepler for a flurry of PR’s before he’s away for a bit


@foamyguy (cannot attend today)
* Jeff for finding and reporting an issue with the library example screenshot utility and DanH for reviewing the PR to fix it
* Github user @tekktrik for continuing to submit PRs for typing information and other things
* Github user  @fivesixzero for submitting typing information for APDS9960 and working through feedback on the PR
* @kattni for looking into an issue with pylint config, testing out some solutions and providing guidance
* @MarkGamblor for working on displayio support for LED matrix glasses


14:36 @jerryn
* Hug to all involved with the BLE workflow, PyLeap and Glider - very cool stuff!
* Adafruit for the new esp32s2 feathers
* All involved for the 7.1 beta release!


14:55 @kattni
* @dherrada for getting through the Pylint update
* @Tekktrik for a ton of help with getting the libraries that were missed in the patch updated with the patch code, for being so patient with learning our CI and processes, and for working through the type hint issues
* @foamyguy for thoroughly reviewing the type hint PRs, and asking thoughtful questions
* @KeithTheEE and @mark[Gamblor] for helping with reviewing the final Pylint PRs
* @PT and Adafruit IT for getting me setup with an Adobe Stock subscription to make doing up guide images in a non-potential-copyright-violating way much simpler.
* @jepler for writing me a script to combine the two CSV files available for my Adafruit order history (order history, products history), so I have a way to go through and identify every product shipped to this specific address.
* @jepler for teaching me how to do nested `with` statements.


17:10 @MakerMelissa
* Group Hug


17:20 @Mark(Gamblor) (lurking)
* PaintYourDragon for all the original IS31 code I learned from
* Group hug because I know I am forgetting others


17:40 @tannewt
* Kattni for the Welcome to CircuitPython revamp and jumping in to help with PyLeap content.
* Trevor and Antonio for their work on PyLeap and File Glider
* MakerMelissa for all of the work on code.circuitpython.org


18:30 @anecdata (lurking)
* @microDev1 for completion of Monitor PR, ESP32-S2 safe mode fixes, and review of mac address PR
* @jepler for help with type hints, and finding a bug while doing so


18:50 @CGrover (text only) 
* To the team for the 7.1 beta release.
* Group hug to the team and community.


## Status Updates


19:06 @danh
* Made CircuitPython 7.1.0-beta.0 release.
* I have started a asyncio guide with an overview and examples.


19:45 @foamyguy(cannot attend meeting today)
* Reviewing more typing PRs
* Debugged and fixed an issue resulting in extra blank lines in the library example screenshots.
* Outside of CircuitPython: Diving into Phaser3 Javascript game engine a bit. Ultimately hoping to use what I learn to make a game that is played in a browser on a PC and controlled by a PyGamer connected via USB.


20:20 @jerryn
* Still very limited time due to work “callback” -- hopefully wrapping up soon.
* Played with PyLeap and Glider - worked great
* Just tried new esp32s2 feathers -- FYI -- they do not appear to have a UF2 Bootloader and I had to erase the flash before loading CP -- this has been common with esp32s2…
   * I’m intermittently seeing an “OSError:  [Error 19] unsupported operation” error when accessing the onboard bme280…seen on multiple boards …  still investigating.
* Spent some time trying to check out the impacts of RaspberryPi Bullseye -- Blinka is OK, but the Braincraft Hat (pitft) is not due to changes in the camera support. Broke lots of other stuff….raspistill and raspivid are gone... Beware if you are upgrading.
   * Lots of info here and a potential workaround - have not tried it yet. https://forums.raspberrypi.com/viewtopic.php?t=323390




23:11 @kattni
* Last week:
   * Finished the Welcome to CircuitPython guide
   * Updated cookiecutter to include the Read the Docs fix
   * Worked with Dylan to patch the libraries with the RtD fix
   * Put in a few Pylint PRs (and learned something new in the process! - thanks again to Jeff)
   * Started the guide for the new monochrome 1.12” 128x128 OLED 
   * Approved the final Pylint PRs
   * Identified seven CPB examples that would be ideal for PyLeap. Submitted all the code to the Learn repo, and started working on guides for each of them (3/7 done)
* This week:
   * Finish up the PyLeap guides
   * Start the Feather ESP32-S2 guide
   * Finish the monochrome OLED guide
   * Make sure existing PrettyPins diagrams are in the guides and repos they are supposed to be
   * Update PrettyPins README to include instructions for using PrettyPins
   * Get Dylan spun up on doing PrettyPins and creating Fritzing objects


26:00 @MakerMelissa
* Last Week:
   * Fixed the PiTFT installer for the updated Raspberry Pi OS Bullseye Release
   * Wrote a guide for using the new CircuitPython Code Editor which is now in moderation
* This Week:
   * Working on adding missing boards to circuitpython.org
   * Update Raspberry Pi Blinka Setup guide with using Python Extended Bus library
   * Maybe work on some circuitpython.org issues
   * Maybe start another guide


27:00 @tannewt
* Last week
   * Got CP running on the Pi Zero 2W.
   * SD card support nearly works. It’s just got a hang bug or two.
   * Figured out how to generate img files that can be flashed with imager and etcher.
* This week
   * Squash the bugs making USB unreliable
   * Polish up the board defs
   * Make it so displays can be reinitialized at a different resolution and that board.DISPLAY exists
   * Add page to circuitpython.org for BLE workflow. It’ll link to PyLeap and File Glider test flights.


29:50 @CGrover (text only)   
* Added three new scalable object classes to the displayio widget library, a 10-segment stackable bar graph based on the LM391x family of bar/dot display drivers, a stripable neopixel object, and a stackable 4-digit 7-segment LED bubble display module based on the HP-35 calculator display. (apologetically low quality test video: https://youtu.be/zTeBijDwDTs)
* The newest widget objects are working using absolute display addressing. Next step is to convert to normalized addressing to provide display size independence as with the existing scale and magic_eye objects.
* Three more widgets are planned for the library: an analog clock dial, a traditional 90-degree analog panel meter, and a horizontal edge-view analog meter.
* Haven’t been able to start working on the new displayio arc method. Perhaps some time later this week.


## 31:15 In The Weeds
* 31:15 @tannewt Thoughts on orbit.love? It’s a community tracker setup that can track folks’ engagement across multiple platforms. Could do GitHub and Discord.

* 36:52 @Mark(Gamblor): IS31FL3741 driver. (I should be able to make the meeting today)
   1. Can this be in the core (space?) If so what boards should I turn it on for?
   2. Any thoughts on how to pass in the matrix of pixels to LEDs (just a big array?)
   3. Should the gamma table be hard coded or allocated in RAM (build size vs memory usage)
   4. How to deal with the eyeglass ring lights. Maybe a helper python library? Could also ease the use of the LED matrix to have the standard boards defined.




## 50:12 Wrap-Up
