Video is available [on YouTube](https://youtu.be/2ZVl3-fQALw).


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:57 Community News
### 3:14 CircuitPython 8.0.0 alpha 1 released!
The CircuitPython team has released CircuitPython 8.0.0-alpha.1, an alpha version for 8.0.0. It is relatively stable, but there will be further additions and fixes before final release. Note that major number changes, such as version 7 to version 8, may have application programming interface (API) changes that are incompatible with the previous major version - [GitHub](https://github.com/adafruit/circuitpython/releases/tag/8.0.0-alpha.1).


Notable changes to 8.0.0 since 7.3.0:
- Added `TileGrid.contains()`.
- `AnalogIn` values are full range from 0 to 65535, instead of having zeros on low-order bits.
- `OneWire` is only in `onewireio`, and is no longer in `busio` or `bitbangio`.
- `gamepadshift` has been removed: use `keypad.ShiftRegisterKeys` instead.
- `dotenv` support: `os.getenv()` values can be set in the `.env` file.
### 4:32 Exclusive! CircuitPython 8 Poster
**NOTE: POSTER WILL BE UNVEILED IN NEWSLETTER, NOT BEFORE**
This issue of the newsletter gives subscribers the first look at the official CircuitPython 8 poster! Designed in cooperation with {company to be named}, it shows the CircuitPython togetherness that previous posters like 7 (MicroPython) and 6 (Nordic).
### 5:50 PyLeap is Available in the Apple App Store
The PyLeap app is now available in the Apple App Store for iOS/iPadOS devices - [Adafruit Blog](https://blog.adafruit.com/2022/01/21/pyleap-is-available-in-the-app-store/).
Take complete projects from the Adafruit Learn System, and transfer them directly to a [Circuit Playground Bluefruit microcontroller board](https://www.adafruit.com/product/4333) without opening a code editor or connecting to a computer! PyLeap is Adafruit's app for iOS & iPadOS. It allows programming a Circuit Playground Bluefruit anywhere with various completed projects, including:
* Sending rainbows to your Circuit Playground Bluefruit
* Loading up sound files
* Using light and sound sensors
[![PyLeap is Available](../assets/20220614/20220614pyleap2.jpg)](https://blog.adafruit.com/2022/01/21/pyleap-is-available-in-the-app-store/)


PyLeap is [available in the App Store](https://apps.apple.com/us/app/pyleap/id1582204203) today and more updates are on the way! Just make sure you have a [Circuit Playground Bluefruit](https://www.adafruit.com/product/4333) to use with it 🙂
Instructions for using the app with CPB are available in the [PyLeap Learn Guide](https://learn.adafruit.com/pyleap-app) – more documentation to come!
### 6:53 PyOhio Talks Announced
PyOhio has announced their talks for PyOhio 2022! PyOhio will be online July 30 with streaming talks and community discussion - [PyOhio](https://www.pyohio.org/2022/program/talks/) via [Twitter](https://twitter.com/PyOhio/status/1535273544694767617).
And note that CircuitPython team member Kattni will be giving a talk "Simplicity and Fun: Learning with CircuitPython" - [PyOhio](https://www.pyohio.org/2022/program/talks/simplicity-and-fun-learning-with-circuitpython).
### 7:33 PSF Board Election Dates for 2022
Python Software Foundation Board elections are a chance for the community to help find the next batch of folks to steer the PSF. This year there are 4 seats open on the PSF board. You can see who is on the board currently [here](https://www.python.org/psf/records/board/history/). Nominations for new board members opened June 1st.
Timeline:
* Nominations are open, Wednesday, June 1st 12:00 PM Eastern
* Board Director Nomination cut-off: Wednesday, June 15, 2022 AoE
* Voter application cut-off date: Wednesday, June 15, 2022 AoE
* Announce candidates: Thursday, June 16th
* Voting start date: Monday, June 20, 2022 AoE
* Voting end date: Friday, June 30, 2022 AoE
Nominations should be made through [this form](https://www.python.org/nominations/2022-python-software-foundation-board/create/) (Note: you will need to sign into or create your python.org user account first). You can nominate yourself or someone else, but no one will be forced to run, so you may want to consider reaching out to someone before nominating them - [PSF](https://pyfound.blogspot.com/2022/06/psf-board-election-dates-for-2022.html).


### 8:42 Python 3.11 Speedup Benchmarks
Last month Python 3.11 Beta 1 was released as their first preview of this major update to the Python programming language. Besides new language features and other improvements, Python 3.11 performance is looking fantastic with very nice performance uplift over prior Python 3 releases. Besides changes affecting the Python language itself, Python 3.11 has been landing performance work from the “Faster CPython Project” to speed-up the reference implementation. Python 3.11 is 10~60% faster than Python 3.10 according to the official figures and a 1.22x speed-up with their standard benchmark suite - [Adafruit Blog](https://blog.adafruit.com/2022/06/08/python-3-11-performance-benchmarks-are-looking-fantastic-python-phoronix/) and [Phoronix](https://www.phoronix.com/scan.php?page=article&item=python-311-benchmarks&num=1).
### 9:36 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.
## 10:40 State of CircuitPython, Libraries and Blinka
### 11:03 Overall
* 25 pull requests merged
  * 15 authors - FoamyGuy, PontusO, tekktrik, tinue, jepler, NathanY3G, rtyley, makermelissa, isacben, caternuson, tannewt, mwisslead, Chameloun, weblate, dhalbert
  * 7 reviewers - FoamyGuy, tekktrik, makermelissa, DavePutz, tannewt, ladyada, dhalbert
* 16 closed issues by 9 people, 12 opened by 11 people


### 11:49 Core
* 12 pull requests merged
  * 10 authors - FoamyGuy, PontusO, jepler, NathanY3G, rtyley, tannewt, mwisslead, Chameloun, weblate, dhalbert
  * 4 reviewers - DavePutz, ladyada, tannewt, dhalbert
* 14 open pull requests
  * https://github.com/adafruit/circuitpython/pull/5352 (Open 270 days)
  * https://github.com/adafruit/circuitpython/pull/5999 (Open 123 days)
  * https://github.com/adafruit/circuitpython/pull/6037 (Open 117 days)
  * https://github.com/adafruit/circuitpython/pull/6119 (Open 99 days)
  * https://github.com/adafruit/circuitpython/pull/6217 (Open 72 days)
  * https://github.com/adafruit/circuitpython/pull/6247 (Open 68 days)
  * https://github.com/adafruit/circuitpython/pull/6256 (Open 67 days)
  * https://github.com/adafruit/circuitpython/pull/6349 (Open 39 days)
  * https://github.com/adafruit/circuitpython/pull/6397 (Open 29 days)
  * https://github.com/adafruit/circuitpython/pull/6410 (Open 24 days)
  * https://github.com/adafruit/circuitpython/pull/6453 (Open 11 days)
  * https://github.com/adafruit/circuitpython/pull/6458 (Open 9 days)
  * https://github.com/adafruit/circuitpython/pull/6468 (Open 5 days)
  * https://github.com/adafruit/circuitpython/pull/6473 (Open 3 days)
* 5 closed issues by 3 people, 6 opened by 6 people
* 516 open issues
  * https://github.com/adafruit/circuitpython/issues
* 5 active milestones
  * 7.3.x: 2 open issues
  * 8.0.0: 45 open issues
  * Libraries: 21 open issues
  * Long term: 448 open issues
  * Support: 0 open issues
  * 0 issues not assigned a milestone


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


### 12:56 Libraries
* 11 pull requests merged
  * 5 authors - caternuson, tekktrik, jepler, dhalbert, isacben
  * 5 reviewers - FoamyGuy, tannewt, tekktrik, ladyada, dhalbert
  * Merged pull requests:
    * https://github.com/adafruit/Adafruit_CircuitPython_asyncio/pull/19 (Days open: 113)
    * https://github.com/adafruit/Adafruit_CircuitPython_Logging/pull/29 (Days open: 3)
    * https://github.com/adafruit/Adafruit_CircuitPython_seesaw/pull/102 (Days open: 3)
    * https://github.com/adafruit/Adafruit_CircuitPython_Bitmap_Font/pull/58 (Days open: 2)
    * https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/pull/169 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_RSA/pull/34 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_ServoKit/pull/41 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_AzureIoT/pull/50 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_GC_IOT_Core/pull/25 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_OneWire/pull/26 (Days open: 1)
    * https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/383 (Days open: 1)
  * 24 open pull requests (Oldest: 622, Newest: 1)
* 10 closed issues by 7 people, 5 opened by 5 people
  * 639 open issues
  * 184 good first issues
* https://circuitpython.org/contributing
Library updates in the last seven days:
**Updated Libraries**
< list way too long to include >


### 15:14 Blinka
* 2 pull requests merged
  * 2 authors - tinue, makermelissa
  * 2 reviewers - tannewt, makermelissa
* 4 open pull requests
  * https://github.com/adafruit/Adafruit_Blinka/pull/417 (Open 488 days)
  * https://github.com/adafruit/Adafruit_Blinka/pull/496 (Open 322 days)
  * https://github.com/adafruit/Adafruit_Blinka_bleio/pull/40 (Open 248 days)
  * https://github.com/adafruit/Adafruit_Python_PlatformDetect/pull/201 (Open 188 days)
* 1 closed issues by 1 people, 1 opened by 1 people
* 75 open issues
  * https://github.com/adafruit/Adafruit_Blinka/issues
* Piwheels Downloads in the last month: 8588
Number of supported boards: 89
## 16:04 Hug reports
16:33 @tannewt (host)
* @Chameloun for czech translations
* @gamblor for many contributions and reviews
* @daveputz for the pulsein rework test and review
* @KurtE for the espressif UART fix


17:08 @CGrover (text only)
* Group hug


17:16 @danh
* @rtyley for first PR, for turning on collections.deque
* Group hug for everyone working on library fixes and enhancements


17:48 @foamyguy
* @danh for the new beta release and group hug for everyone that contributed
* Github user @mew-cx for reporting and submitting a fix for a CPython incompatibility with some examples and project code regard day names and the indexes that Python assigns them
* @tekktrik for help resolving a test case issue in circup
* @kmatch for bitmaptools.rotozoom and other image manipulation utilities


18:44 @kattni
* @tekktrik and @eva for adding scripts to the new tools directory in the Adabot repository.
* @jerryn for continuing to help with my mailbox project
* @mark[Gamblor] for going through the mailbox code with me and providing some pseudocode to illustrate his ideas
* @danh for a nice chat and for adding some ideas to the mailbox project.


19:45 @makermelissa
* Group Hug


19:55 @mark(gamblor21) [lurking]
* @danh for a quick answer about doubles in CP


20:05 @tammymakesthings
* Group hug!


20:16 @tekktrik
* All of the maintainers and regular contributors that have made contributing to CircuitPython fun and meaningful, and who got me to this point
* @foamyguy for helping to organize and manage the type annotations issues/PRs that originally go me hooked into contributing regularly
* @kattni who has always had a bunch of library improvement projects that have kept me going, and trusting me (still) not to squash and rebase anything
* Everyone in the community I’ve interacted with so far, it’s awesome opening the laptop and working on things because of you
* More technically, @danh for helping me figure out why the Bluefruit Connect script was hanging when sending images from a phone because of an existing tracked issue
* Group hug!
## 21:56 Status Updates
22:14 @tannewt (host)
* Merged in translation changes (did I say that last week?)
* Just about ready with auto-wifi changes. Its behavior depends on .env so it should be backwards compatible.
* That change also includes terminalio support for a title bar and changes to the default displayio group that adds a titlebar tilegrid.
* Running into code size issues that I’ll need to resolve first.
* Next up is getting the basic http server going. Looks like we’ll need to poll the sockets in the background.


24:40 @CGrover (text only) 
* Made progress with the displayio-based RGB matrix brightness/gamma class. It works nicely for pre-defined displayio objects such as bitmap palettes, labels, and shapes. Still running into issues trying to get the class to autonomously discover objects by walking the displayio.Group tree. 
* Also found that creating a modifiable displayio.Palette class object through inheritance is problematic; not all of the needed __base__ methods are revealed after instantiation. A head-scratcher, particularly given my skill level.
* Will continue work on 1) gaining a better understanding of displayio.Group tree attributes and 2) defining and describing the palette type inheritance behavior. Even if the answers are not found, there are acceptable workarounds. The current version of the matrix brightness tool/process could become very useful.


25:43 @danh
* Released CircuitPython 8.0.0-alpha.1.
* Debugging ESP32SPI problems, particularly on MatrixPortal. Seeing this as at least two different problems: one related to RGBMatrix, and another related to some AirLift problem unrelated to displays.


27:03 @dexter (lurking)
* Working with Blinka on Pi Zero W, 1.3” TFT Joystick Bonnet
* Trying out 8.0.0 and MDNS on the FunHouse


27:19 @foamyguy
* Last week
   * Updated circup for 8.x builds of circuitpython
   * Started creating example code scripts illustrating the functionalities of bitmaptools. So far I’ve got scaling and rotating manipulation examples. Updating documentation where it makes sense to make it easier for folks to use
   * Created a “Reaction Speed Test” game with a FunHouse and a strip of neopixels that bounces a light back and forth and the player presses a button to try to stop the light in the middle stopping zone. Took this to an Art Faire event over the weekend and several people played and enjoyed. Talked with a few of the kids who played the most about potential improvements
* This Week
   * More bitmaptools examples
   * Itertools library refactoring
   * Testing out some specific typing annotations proposed for the MPR121 library to ensure mpy-cross and microcontrollers can handle them
   * Start working on removing older CP 6 compatibility code for OnDiskBitmap in Learn guide code


29:44 @kattni
* Last week:
   * Published QT Py Pico guide
   * Started the GitHub Profile guide
* So far today:
   * Create repository to house the I2C device address list, add one example to show what we’re expecting for the project.
* This week:
   * Provide the info to folks interested in helping with the I2C project.
   * Hopefully finish GitHub Profile guide
   * GitHub Actions status tower light guide.
* Otherwise:
   * Lost Friday to taking my cat to the vet, bloodwork came back significantly improved from last time, turns out she’s very dehydrated and now needs sub-q fluids daily.
   * Went to Motor City Pride.
   * Got the mailbox project working again, but I need to rewire a reed switch the opposite direction from the current one for it to be working “properly”. Will be scrambling this week to make the code do what I want it to now that I have the base code working. I will definitely have help.
   * My talk was accepted to PyOhio, so once I get through the mailbox project, I’ll begin prep on that. Recording is due 17 July, iirc, so I have a bit of time, but I’m also really, really, really good at leaving literally everything to the last minute.


32:17 @makermelissa
* Last week:
   * Worked on the STMPE kernel driver on Raspberry Pi and am making some progress
   * Tested out TSC2007 touch screen drivers some more and found my hardware wasn’t passing basic tests. Possibly my touch screen was damaged in storage. I have more hardware now and it’s not working correctly.
* This week:
   * Short week for me and I’ll be out the next couple of weeks for foot surgery and recovery.
   * Continuing working on Touch screen stuff
   * Go through any guide feedback
   * If time, I may turn to looking at HT16K33 issues


33:19 @tammymakesthings
* Last week:
   * Didn’t stream because of a combination of work issues and a recurring Internet outage in my neighborhood. (Thankfully, I have a new Internet provider now!)
   * Figured out how I need to fix the graphic rendering tests I did for the Card Deck library, so I can do that next time I stream
   * Attended the DesertPy Python meetup and sang the praises of CircuitPython
* This week:
   * Get back to streaming now that my Internet issues have been addressed, and adjust my streaming schedule.
   * Continue work on the CircuitPython card deck library’s graphics rendering components.
* Future:
   * I’ve been invited to give a demo of CircuitPython at the next DesertPy meetup in early July, so I need to start working on what that looks like.


35:48 @tekktrik
* Last week:
   * Added the new adabot scripts to the repository, and made them all platform, tool independent scripts (thanks PyGithub and GitPython!)
   * Fixed libraries affected by the adafruit_logging update
   * Began working on removing gamepadshift from one of the Learn Guide examples
   * Continued working on implementing image transfer for the Bluefruit Connect library
* This week
   * Hopefully finalize the image transfer update
   * Burning down some of the issues on Github I’ve opened


## 37:56 In The Weeds
38:18 Mark(gamblor21) [I will try to be here for this work dependant]
I was playing with my GPS module this weekend and realized it would be a good candidate for asyncio. Had a brief discussion on discord this morning with @tannewt about how this would look. I’m unsure if any libraries have asyncio support yet.


The basic idea is to create a second library (e.g. adafruit_gps_asyncio) that could wrap the primary library and provide the asyncio support.


My assumption would be they could co-exist in the same mpy file and repo.


Looking for any thoughts and comments.


44:50 @tannewt - ESP32 support


## 51:57 Wrap-Up

Next meeting is Tuesday June 21st. *NOT* Monday as stated in wrap-up.
