Go to file
Jeff Epler 3a68d2f621
Fix build error when frozen modules are updated
When a frozen module was added or updated, a build error would occur
during CI: `KeyError: 'FROZEN_MPY_DIRS'`.

In e40abda1bc I decided that it should be an error if all the expected
keys were not defined in the board settings dict. I made this change
and all seemed to be well; however, my testing did not exercise the
case that a frozen module was changed.

It turns out that FROZEN_MPY_DIRS was not being set in the board settings
dict because the output of print-FROZEN_MPY_DIRS was "FROZEN_MPY_DIRS ="
(which does not match the regular expression) instead of
"FROZEN_MPY_DIRS = " (with a trailing space).

This change fixes the problem by ensuring that an undefined or empty
variable still prints with a space character after the equal character.

Tested by running locally:
```
python3 -c 'import shared_bindings_matrix; print(shared_bindings_matrix.get_settings_from_makefile("ports/atmel-samd", "trinket_m0")["FROZEN_MPY_DIRS"])'
```
(prints a blank line, expected)

as well as simulating a change to the asyncio frozen submodule:
```
python3 -c 'import shared_bindings_matrix; print(shared_bindings_matrix.get_settings_from_makefile("ports/atmel-samd", "trinket_m0")["FROZEN_MPY_DIRS"])'
```
(which will build the elecfreaks_picoed board)
2023-11-18 09:43:36 -06:00
.codespell Add header for PLACE_IN_ITCM 2023-09-20 11:19:57 -05:00
.devcontainer Fix codespace 2023-09-20 22:04:50 +00:00
.github Switch to GCC 13.2 2023-10-30 20:30:30 -07:00
data Add new board uGame22 2023-08-25 19:26:30 +02:00
devices/ble_hci Switch to using MP_ERROR_TEXT instead of translate, globally 2023-10-30 09:49:06 +01:00
docs Merge pull request #8582 from tannewt/document_heap_config 2023-11-10 21:16:39 -05:00
examples Initial MicroPython v1.21.0 merge; not compiled yet 2023-10-18 17:49:14 -04:00
extmod _asyncio: fix definition of ticks to match adafruit_ticks 2023-11-14 21:48:48 -06:00
frozen update frozen libraries 2023-11-10 09:29:48 -05:00
lib Merge pull request #8567 from eightycc/tinyfs2 2023-11-09 19:38:01 -05:00
LICENSES Add an explicit SPDX license file for ter-u12n. 2020-07-06 19:15:41 +01:00
locale Translated using Weblate (Turkish) 2023-11-16 16:03:48 +01:00
logo Add license to some obvious files. 2020-07-06 19:16:25 +01:00
mpy-cross Merge pull request #8508 from dhalbert/v1.21-merge 2023-10-24 15:36:06 -07:00
ports Added UM TinyC6 board 2023-11-17 17:12:02 +11:00
py Fix build error when frozen modules are updated 2023-11-18 09:43:36 -06:00
shared Revert "Revert to micropython's version of mp_hal_stdout_tx_strn_cooked" 2023-11-15 10:20:13 -05:00
shared-bindings correct SSLContext.load_verify_locations() args 2023-11-16 20:17:20 -05:00
shared-module Switch all ports to auto-growing split heap 2023-11-01 15:24:16 -07:00
supervisor Merge pull request #8575 from dhalbert/8.2.x-to-main-2023-11-09 2023-11-10 20:42:13 -05:00
tests update test result 2023-11-14 21:31:37 -06:00
tools Merge pull request #8619 from jepler/fix-msg-build 2023-11-16 09:36:21 -05:00
.codespellrc fix typos (partial) detected by codepell 2023-03-18 22:17:02 +07:00
.git-blame-ignore-revs top: Update .git-blame-ignore-revs for latest spelling fix commit. 2023-10-03 12:10:31 +11:00
.gitattributes Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
.gitignore Rename test function, make 'bad' files binary & add another test 2022-12-09 15:23:56 -06:00
.gitmodules Switch all ports to auto-growing split heap 2023-11-01 15:24:16 -07:00
.mailmap Add a .mailmap file to collate together multiple author entries. 2020-07-06 19:15:41 +01:00
.pre-commit-config.yaml update pre-commit 2023-09-20 11:15:13 -05:00
.readthedocs.yml update .readthedocs.yml and add it to docs pattern 2023-03-11 11:56:04 +05:30
.rosie.yml Add license to some obvious files. 2020-07-06 19:16:25 +01:00
ACKNOWLEDGEMENTS Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
ACKNOWLEDGEMENTS.license Add license to some obvious files. 2020-07-06 19:16:25 +01:00
BUILDING.md Fix docs build by splitting out support matrix 2023-10-24 16:20:51 -07:00
CODE_OF_CONDUCT.md restore CODE_OF_CONDUCT.md 2023-10-23 19:34:45 -04:00
conf.py Stop building the support matrix pdf 2023-10-26 12:59:59 -07:00
CONTRIBUTING.md Fix docs build by splitting out support matrix 2023-10-24 16:20:51 -07:00
LICENSE initial merge from v1.20.0; just satisifying conflicts 2023-09-19 11:10:12 -04:00
LICENSE_MicroPython update formatting of LICENSE and clean-up 2022-08-27 14:47:10 +05:30
main.c Fix pystack size 2023-11-13 11:33:37 -08:00
Makefile The very name "synthetic.po" caused problems with weblate 2023-11-15 12:02:19 -06:00
MANIFEST.in-stubs refine stubs-building procedure 2021-06-22 08:59:05 -05:00
README.rst Fix docs build by splitting out support matrix 2023-10-24 16:20:51 -07:00
README.rst-stubs Actually reduce the README text for the stubs package 2021-06-24 13:41:01 -05:00
requirements-ci.txt only install awscli when required 2023-01-16 17:03:39 +05:30
requirements-dev.txt update espressif ci 2023-09-13 11:35:14 -07:00
requirements-doc.txt Updated how stubs are built 2023-05-09 22:01:24 -04:00
runtime.py Conditionalize LTO 2022-05-27 12:59:54 -07:00
setup.py-stubs use --long for describe in setup.py-stubs 2022-02-18 21:22:02 -05:00
WEBUSB_README.md Rename esp32s2 port to espressif 2021-09-13 16:44:55 -07:00

CircuitPython
=============

.. image:: https://s3.amazonaws.com/adafruit-circuit-python/CircuitPython_Repo_header_logo.png

|Build Status| |Doc Status| |License| |Discord| |Weblate|

`circuitpython.org <https://circuitpython.org>`__ \| `Get CircuitPython <#get-circuitpython>`__ \|
`Documentation <#documentation>`__ \| `Contributing <#contributing>`__ \|
`Branding <#branding>`__ \| `Differences from Micropython <#differences-from-micropython>`__ \|
`Project Structure <#project-structure>`__

**CircuitPython** is a *beginner friendly*, open source version of Python for tiny, inexpensive
computers called microcontrollers.

This package contains the "stubs", or type definitions for CircuitPython.  With some advanced
editors and other tools, this information can be identify TypeErrors, AttributeErrors, and other
problems before you deploy your code to a device and can even help autocomplete your code.

.. |Build Status| image:: https://github.com/adafruit/circuitpython/workflows/Build%20CI/badge.svg
   :target: https://github.com/adafruit/circuitpython/actions?query=branch%3Amain
.. |Doc Status| image:: https://readthedocs.org/projects/circuitpython/badge/?version=latest
   :target: http://circuitpython.readthedocs.io/
.. |Discord| image:: https://img.shields.io/discord/327254708534116352.svg
   :target: https://adafru.it/discord
.. |License| image:: https://img.shields.io/badge/License-MIT-brightgreen.svg
   :target: https://choosealicense.com/licenses/mit/
.. |Weblate| image:: https://hosted.weblate.org/widgets/circuitpython/-/svg-badge.svg
   :target: https://hosted.weblate.org/engage/circuitpython/?utm_source=widget