adafruit-circuitpython-week.../2024/2024-04-08.md
2024-04-08 12:01:32 -07:00

18 KiB
Raw Permalink Blame History

CircuitPython Weekly Meeting for April 8, 2024

Video is available on YouTube.

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 for use with standard calendar applications and can also be viewed in your browser.

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 youd 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 were 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.

3:27 Community News

CircuitPython 9.0.3 Released

CircuitPython 9.0.3 is the latest bugfix release of CircuitPython, and is a new stable release. The only changes to 9.0.3 from 9.0.2 are a fix for AnalogIn on Nordic nRF boards, and the addition of the Waveshare RP2040-GEEK board - Adafruit Blog and release notes.

3:57 Espressif Chip News

Back in our January 10, 2023 issue, we discussed the new ESP32-C6 and ESP32-P4. Now the C6 is on the market and Espressif has more P4 news. Adafruit has announced the Adafruit ESP32-C6 Feather, a C6 development board in the ubiquitous Feather form factor. It integrates 2.4 GHz WiFi 6, Bluetooth 5 (LE) and the 802.15.4 protocol. It brings the goodness you know from the low-cost C3 series and improves it with Zigbee/802.15.4 at 2.4Ghz. It could make for great Matter development hardware! There is also a BME280 temperature and humidity sensor to make an integrated sensor node - Adafruit. A new video just released by Espressif: "Unveiling ESP32-P4: High-performing SoC with extensive IO connectivity, HMI, and security features" - YouTube and Product Page.

5:20 Python Software Foundation News in Brief

PSF joins the new Open Initiative for Cybersecurity Standards - PSF.

April 2024 Newsletter including PyCon 2024 information and more - PSF News.

Reporting PyPI Malware - PyPI Blog.

5:50 Newsletter Details

The Python on Microcontrollers Weekly Newsletter is a CircuitPython-community-run newsletter emailed every Monday. The complete archives are here. 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 and submit a pull request 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),.

6:35 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:59 Overall

  • 28 pull requests merged
    • 15 authors - mariopesch, weblate, bablokb, dhalbert, elpekenin, tyeth, brushmate, SeanTheITGuy, wtuemura, makermelissa, FoamyGuy, DJDevon3, jepler, brentru, Fabien-Chouteau
    • 7 reviewers - TheKitty, dhalbert, tekktrik, makermelissa, FoamyGuy, tannewt, jepler
  • 18 closed issues by 7 people, 19 opened by 19 people

7:44 Core

9:08 Libraries

11:22 Library PyPI Weekly Download Stats

  • Total Library Stats
    • 136852 PyPI downloads over 325 libraries
  • Top 10 Libraries by PyPI Downloads
    • Adafruit CircuitPython Requests (adafruit-circuitpython-requests): 8193
    • Adafruit CircuitPython BusDevice (adafruit-circuitpython-busdevice): 7664
    • Adafruit CircuitPython ConnectionManager (adafruit-circuitpython-connectionmanager): 6272
    • Adafruit CircuitPython Register (adafruit-circuitpython-register): 2347
    • Adafruit CircuitPython Motor (adafruit-circuitpython-motor): 1288
    • Adafruit CircuitPython MiniMQTT (adafruit-circuitpython-minimqtt): 1223
    • Adafruit CircuitPython Display Text (adafruit-circuitpython-display-text): 1146
    • Adafruit CircuitPython ServoKit (adafruit-circuitpython-servokit): 1106
    • Adafruit CircuitPython ADS1x15 (adafruit-circuitpython-ads1x15): 1042
    • Adafruit CircuitPython NeoPixel (adafruit-circuitpython-neopixel): 1027

12:12 Library updates in the last seven days:

12:38 Blinka

13:25 Hug reports

14:20 @tannewt (host)

  • PyCascades organizers for a well run conference full of Pythonistas

14:32 @danh

  • @brushmate for adding the ability to change the various USB MIDI names: interfaces and jacks.
  • @kevinjwalters for finding an issue when an nRF analog pin is reused as digital.
  • @tannewt for 9.x.x triage meeting.

15:39 David Glaude (not present)

16:05 DJDevon3

  • @FoamyGuy for going through my commits with a fine toothed comb, especially the typing PR where Pylint almost caused me to throw my keyboard across the room. Another hug for his Saturday morning stream on refactoring and improving circup.
  • @Elpekenin for advice on catching line endings using ordinal values. It didnt work out but I learned a lot from the process.
  • @Todbot for helping to troubleshoot an sdcard issue which turned out to be a bad soldering job. Nice catch!
  • @Tannewt for a nice PyCascades preview. Hope you get better soon. 🐸

16:55 @foamyguy (missing meeting)

  • Scott for reviews and offering improvements to circup refactoring work
  • @elpekenin (he/him) and @danh for helping me work through a bewildering issue with pytest in discord
  • @elpekenin (he/him) for sharing ideas and improvements to an on-device testing utility that Ive started to build
  • Group hug

17:21 Jepler (missing meeting)

  • Group hug

17:28 @makermelissa

  • Everybody who has been submitting their new boards to circuitpython.org
  • @richterf for opening an issue for a Blinka bug in pwmio that I accidentally introduced
  • Group Hug

17:52 @michalpokusa (not present)

  • @AndreasTheCat for posting the issue about using adafruit_httpserver with AP
  • @anecdata for testing PR with AP and ConnectionManager examples in HTTPServer

18:10 Status Updates

18:36 @tannewt (host)

  • PyCascades talk went as well as it could with a cold.
  • Wrapping up USB host featherwing today and tomorrow. Did a good refactor during my stream on Friday.
  • May spend a little time to finish adding clang support to our makefiles. Got bear to generate a compile_commands.json to use with the clangd language server and it looks helpful!
  • Out most of next week for Zephyr conference and then friday for a family long weekend.
  • Also out week of May 6-10 for a road trip with my Dad.

20:04 @danh

  • Released CircuitPython 9.0.3: nRF52840 AnalogIn fix and one new board.
  • Scott and I triaged the 9.x.x issue list: reduced from about 33 to about 25 issues.
  • Made a pass through ReadTheDocs webhooks from CIrcuitPython libraries. Had to add ReadTheDocs secret on around 10% of them to allow the RTD builds to run. Other minor cleanup.
  • Testing various 9.x.x reported issues, and looking at fixes as needed.

22:29 David Glaude (not present)

23:00 DJDevon3

  • Submitted a new API example for Queue-Times.com to adafruit_requests. The API interacts with many different theme parks, the example pulls data from Disneyland. It shows the name of the ride, queue time, and if the ride is open or closed. Handed it off to the Ruiz brothers who might turn it into a project somehow.
  • Finally figured out a way to address the Github Desktop issue where it automatically converts all line endings to CRLF during checkout. I wrote a Playground Note on using Windows powershell to automatically convert CRLF to LF line endings, run black, reuse, and pre-commit all in 1 shot with 2 mouse clicks. This issue has plagued Github Desktop users since its debut. Pretty sure every Windows Github Desktop user on the planet will want to know about this one.
  • Made some more progress on the ATECC crypto chip bug. I fooled it into thinking it is receiving a correct CRC match and it started working as intended. Upon more investigation I found that CRC1 and CRC2 randomly do not match. Early indications are pointing at some kind of analog voltage oscillation counter rollover not working properly. The CRC Mismatch error seems to occur when CRC1 reaches 65535 and I dont think thats a coincidence.
  • Finally got a working belt sander and can sand and stain some new shelves.

24:45 @foamyguy (missing meeting)

  • Missing the live meeting to catch the eclipse. 😎
  • Refactoring circup to break it up into smaller chunks to hopefully make it easier to understand, maintain, and develop new features for. Resolving a few of the existing issues while Im there, and trying to work towards a new feature that would allow circup to be used for loading library examples onto the connected device.
  • In order to make my wish of circup loading examples easier to achieve Ill try to resolve a longstanding issue / idea in circuitpython-build-tools to break up the examples directory into 1 dir per library rather than the existing way which puts all examples from all libraries into 1 folder together.
  • Received all hardware and started wiring buttons for simon-like game, but I was too rough with the thin grove cable wiring and my buttons are flaky if the wire isnt held absolutely perfectly. Im planning to drop the Grove wing all together and just wire the buttons to a perma proto breadboard instead

25:50 Jepler

  • Out watching the eclipse today, hopefully!
  • Working a bit on the posix port, I found an interesting crash when trying to enter safe mode. I should make up a PR to fix it. The problem can occur if a safe-mode reset message is printed before the qstr pool is fully initialized. This happened to me in the posix port, but may or may not happen “in real life”.

26:22 @makermelissa

  • Worked on going through Raspberry Pi related guide feedback and updating guides as needed

26:49 In The Weeds

27:00 DJDevon3

  • Currently all requests API examples Ive contributed use an explicit response.close to disconnect a socket. Anecdata brought up a point that using “with requests.get(DATA_SOURCE) as response:” doesnt require an explicit .close(). Any preference on the syntax/method used? Anecdata says, “to me, with is simpler than close, but it's another concept to grasp”. It might be better for beginners to see the .close() to grasp what the script is doing but on the other hand using “with” is more efficient syntax. I can submit a new API example that specifically uses both methods with code comments pointing out thats the purpose of the example?
    • Yup, with is better because it closes when exceptions are thrown.

danh - There is no standalone “intro to networking” Guide that walks you through connecting and making network requests. Such a guide would be useful, and could point to a number of the networking fetching examples in the requests library, for instance. Right now those examples are not very visible to the casual user. They could be written up in Adafruit Playground, for example.

FoamyGuy noted earlier in discord that the examples directory in the bundles could be restructured to have folder per library, which would make it easier to browse and to use elsewhere.

Scott - The Aduino IDE “Examples” drop-down menu makes examples very accessible. Can we do something thats similarly effective? PyLeap might be one way. danh suggests maybe making an “Examples” section on circuitpython.org. code.circuitpython.org might also make the examples more accessible. Maybe Mu could have an examples drop-down? Could web workflow do something along these lines? All worth thinking about.

35:48 Wrap-Up