# CircuitPython Weekly Meeting for July 15, 2024


Welcome to the CircuitPython Weekly meeting notes! Feel free to add your Hug Reports and Status Updates before the meeting, alphabetically by your username. During the meeting, we go through them in order. 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!


Jeff is hosting.


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


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


The CircuitPython Weekly Meeting normally is held at 2pm US 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 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. The canonical URL for the podcast version is https://adafruit-podcasts.s3.amazonaws.com/circuitpython_weekly_meeting/audio-podcast.xml which you may be able to enter directly into compatible podcast apps.
## 2:58 Community News


CircuitPython 9.1.0 Released!
 CircuitPython 9.1.0 Released 

CircuitPython 9.1.0 is now the latest revision of CircuitPython, and is the new stable release. The added features feel like a major release (see below) - Adafruit Blog and Release Notes.
3:19 New ViperIDE Features Added
ViperIDE is a new third-party development environment for MicroPython and CircuitPython.
 ViperIDE 

ViperIDE now runs the full MicroPython compiler right in the browser, thanks to WebAssembly - X.
3:36 
 CamTest 

CamTest: PiCowbell Camera Breakout Demo - Adafruit Playground.


### 3:55 Newsletter Details
The Python on Microcontrollers 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 or email cpnews@adafruit.com, or tag a post with #CircuitPython on Mastodon, Bluesky, or X (formerly known as Twitter),.
## 5:51 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.**
### 6:12 Overall


* 18 pull requests merged
  * 11 authors - jepler, RetiredWizard, wtuemura, 708yamaguchi, justmobilize, mumin50, makermelissa, DarkMechanikum, Sola85, dhalbert, dikei100
  * 6 reviewers - tannewt, jepler, FoamyGuy, dhalbert, bill88t, makermelissa
* 11 closed issues by 7 people, 9 opened by 8 people


### 6:44 Core
* 11 pull requests merged
  * 7 authors - Sola85, jepler, RetiredWizard, wtuemura, dhalbert, dikei100, mumin50
  * 4 reviewers - jepler, dhalbert, bill88t, tannewt
* 18 open pull requests
  * https://github.com/adafruit/circuitpython/pull/6555 (Open 741 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7618 (Open 511 days)
  * https://github.com/adafruit/circuitpython/pull/7675 (Open 499 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/7811 (Open 473 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8233 (Open 351 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8457 (Open 286 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8647 (Open 236 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/8798 (Open 182 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9009 (Open 131 days)
  * https://github.com/adafruit/circuitpython/pull/9094 (Open 110 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9118 (Open 107 days)
  * https://github.com/adafruit/circuitpython/pull/9238 (Open 64 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9245 (Open 61 days) (draft)
  * https://github.com/adafruit/circuitpython/pull/9315 (Open 38 days)
  * https://github.com/adafruit/circuitpython/pull/9349 (Open 26 days)
  * https://github.com/adafruit/circuitpython/pull/9385 (Open 14 days)
  * https://github.com/adafruit/circuitpython/pull/9421 (Open 5 days)
  * https://github.com/adafruit/circuitpython/pull/9427 (Open 2 days)
* 8 closed issues by 5 people, 5 opened by 5 people
* 700 open issues
  * https://github.com/adafruit/circuitpython/issues
* 9 active milestones
 * 10.0.0: 3 open issues
 * 8.2.x: 0 open issues
 * 9.0.x: 0 open issues
 * 9.1.x: 1 open issues
 * 9.x.x: 32 open issues
 * Libraries: 22 open issues
 * Long term: 611 open issues
 * Support: 15 open issues
 * Third-party: 14 open issues
 * 3 issues not assigned a milestone (now zero)


### 8:10 Libraries
* 3 pull requests merged
  * 2 authors - justmobilize, jepler
  * 3 reviewers - tannewt, jepler, FoamyGuy
  * Merged pull requests:
        * https://github.com/adafruit/Adafruit_CircuitPython_Base64_Stream/pull/1 (Days open: 13)
        * https://github.com/adafruit/Adafruit_CircuitPython_Requests/pull/200 (Days open: 4)
        * https://github.com/adafruit/Adafruit_CircuitPython_PIOASM/pull/65 (Days open: 1)
  * 53 open pull requests (Oldest: 697, Newest: 2)
* 2 closed issues by 2 people, 3 opened by 2 people
  * 865 open issues
  * 103 good first issues
* https://circuitpython.org/contributing


#### Library PyPI Weekly Download Stats
* **Total Library Stats**
  * 138249 PyPI downloads over 330 libraries
* **Top 10 Libraries by PyPI Downloads**
  * Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 11836
  * Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 10717
  * Adafruit CircuitPython ConnectionManager (adafruit-circuitpython-connectionmanager): 9736
  * Adafruit CircuitPython Register (adafruit-circuitpython-register): 2704
  * Adafruit CircuitPython DHT (adafruit-circuitpython-dht): 1809
  * Adafruit CircuitPython MiniMQTT (adafruit-circuitpython-minimqtt): 1475
  * Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 1464
  * Adafruit CircuitPython Wiznet5k (adafruit-circuitpython-wiznet5k): 1250
  * Adafruit CircuitPython Pixelbuf (adafruit-circuitpython-pixelbuf): 1236
  * Adafruit CircuitPython NeoPixel (adafruit-circuitpython-neopixel): 1087


#### Library updates in the last seven days:
* **Updated Libraries**
  * [adafruit/Adafruit_CircuitPython_Requests](https://github.com/adafruit/Adafruit_CircuitPython_Requests)


### 11:57 Blinka
* 4 pull requests merged
  * 3 authors - DarkMechanikum, 708yamaguchi, makermelissa
  * 1 reviewers - makermelissa
* 3 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 1011 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/766 (Open 199 days) (draft)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/335 (Open 199 days) (draft)
* 1 closed issues by 1 people, 1 opened by 1 people
* 100 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* PyPI downloads in the last week: 16324
* Piwheels Downloads in the last month: 18507
Number of supported boards: 133
## 12:43 Hug reports
13:03 @jepler (host)
* Group hug


13:05 @danh
* @RetiredWizard for testing things, reporting problems in clear issues, and also looking into fixes.


13:45 @foamyguy
* @Jeff for looking into and sharing more specifics around pylint incompatibility issues with py3.12
* @Danh and @Makermelissa for investigating this and leaving “breadcrumbs” in github issues that led me to the solution quickly
* @Justin for working on a base64 stream library


14:27 @Liz
* @Danh for coming by show and tell to discuss the newest CP release
* Group hug


14:40 @makermelissa
* @danh for your continued assistance with the CircuitPython code editor
* Group Hug


14:56 @tannewt
* Rye for looking into Thread support and checking with us about approach.
* Jepler for looking into IPv6 support in CP.
## 15:22 Status Updates
@jepler (host)
* Last week: some miscellaneous stuff, including a small improvement to adafruit_pioasm error reporting
   * Started on ipv6 support
* This week: still trying to get anything ipv6 to work
   * Right now the board is not allocating itself a v6 address, as far as I can see
* Coming up: Out for a few weeks starting July 29


16:45 @danh
* I released CircuitPython 9.1.0 final.
* I started the MicroPython v1.22 merge. Almost finished resolving merge conflicts. As usual qstr code is the most confusing part. After that I will review all the merged files, including the non-conflict ones.


17:58 @foamyguy
* Getting back up to speed after hard drive failure. Updated to Ubuntu 24.04 in the process.
* Finished the utility started last week for bitmap rotation using shear operations. Currently it’s implemented as a function. I’m hoping to refactor it to a class for more easy integration though I’m not sure what if any library it would make the most sense in. 
* Library PR reviews
* Try to make circup compatible with py3.12
* Looking into pylint version upgrade or potentially changing to Ruff.


20:19 @Liz
* Worked on a CircuitPython library for the HDC3021 temperature and humidity sensor. It’s a high precision I2C sensor and it has some cool features like setting auto measurements and high/low alert thresholds
* Started working on an ESP32-S3 BLE macropad project in CircuitPython. This is a collab with the Ruiz brothers and it uses one of the chonky CNC rotary encoders
* Over the week I took out the guts of an S-4000 television video game console with the goal to use the housing, switches and slide pots with some I2C breakouts, basically making it a giant STEMMA console. I wired up the components to a GPIO expander and an ADS7830 ADC and a couple of the switches weren’t working so I’ll need to investigate a little further.


21:22 @makermelissa
* Fixed the reliability of the CircuitPython Code Editor with USB Workflow.
* Figured out that it needs to be rewritten with Raw Mode rather than raw paste mode
* Spent a couple of days rewriting it to exclusively use Raw mode from the connection point onwards keeping in mind to have much better mode awareness
* Now it is reliably connecting and returning results
* Currently working on testing with MicroPython. While it does connect (tested with an older version), many of the file operations are CircuitPython-specific and need to be reworked a bit.


22:09 @tannewt
* Continuing Matter support in https://github.com/adafruit/circuitmatter. Working on the TLV packet encoding and decoding.


## 22:48 In The Weeds
@foamyguy - For Circuitpython libraries: Move to Ruff / Update the version of pylint that we are pinned to. 
https://github.com/adafruit/workflows-circuitpython-libs/issues/31#issuecomment-2084152441 notes that our current pinned version of pylint doesn’t work under python 3.12 but updating to a more recent pylint 3.1.0  does. I also ran into it this morning and confirmed 3.1.0 allows me to run pre-commit under py3.12 Ubuntu24.04.

Ruff option:
        There are a handful of PRs that were created back when we first discussed ruff: https://github.com/search?q=org%3Aadafruit+Ruff+Updates&type=pullrequests These illustrate the changes to pre-commit config and the kinds of changes to syntax / code format that would come along with a switch to Ruff.

Pylint option:
* Pylint 2.8.3 and newer work (Thank you Jeff).  3.2.5 is absolute newest currently




## 43:19 Wrap-Up
Next meeting July 22, 2024 at the usual date & time
