<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/extmod, branch 5.4.0-beta.0</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=5.4.0-beta.0</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=5.4.0-beta.0'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2020-05-11T04:56:01+00:00</updated>
<entry>
<title>ujson: back out overeager loads() change; only change load()</title>
<updated>2020-05-11T04:56:01+00:00</updated>
<author>
<name>warriorofwire</name>
<email>3454741+WarriorOfWire@users.noreply.github.com</email>
</author>
<published>2020-05-11T04:56:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d8491f31768b04322728bc436b2f8e6c5f2bf0d6'/>
<id>urn:sha1:d8491f31768b04322728bc436b2f8e6c5f2bf0d6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ujson: do not eat trailing whitespace</title>
<updated>2020-05-11T03:45:42+00:00</updated>
<author>
<name>warriorofwire</name>
<email>3454741+WarriorOfWire@users.noreply.github.com</email>
</author>
<published>2020-05-11T03:45:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=eb3d5fa453bd04cc116e704c36a97250c93b7b4b'/>
<id>urn:sha1:eb3d5fa453bd04cc116e704c36a97250c93b7b4b</id>
<content type='text'>
Ujson should only worry about whitespace before JSON.  This becomes apparent when you are using MP stream protocol to read directly from input buffers.

When you attempt to read(1) on a UART (and possibly other protocols) you have to wait for either the byte or the timeout.

Fixes:
- Waiting for a timeout after you have completed reading a correct and complete JSON off the input.
- Raising an OSError after reading a correct and complete JSON off the input.
- Eating more data than semantically owned off the input buffer.
- Blocking to start parsing JSON until the entire JSON body has been loaded into a potentially large, contiguous Python object.

Code you would write before:
```
line = board_busio_uart_port.read_line()
json_dict = json.loads(line)
```
or reaching for fixed buffers and swapping them around in Python.

Code that did not work before that does now:
```
json_dict = json.load(board_busio_uart_port)
```

- This removes the need for intermediate copies of data when reading JSON from micropython stream protocol inputs.
- It also increases total application speed by parsing JSON concurrently with receiving on boards that read from UART via DMA.
- It simplifies code that users write while improving their apps.
</content>
</entry>
<entry>
<title>ulab: update</title>
<updated>2020-04-27T12:46:48+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-04-27T12:45:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1a6df71cecbfdfe0a2d1fbe081ead2cbce48cf29'/>
<id>urn:sha1:1a6df71cecbfdfe0a2d1fbe081ead2cbce48cf29</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ulab: actually update the submodule</title>
<updated>2020-04-26T15:12:56+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-04-26T15:12:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c016ea6f0a090663f96dc84c430ff7ab722e4096'/>
<id>urn:sha1:c016ea6f0a090663f96dc84c430ff7ab722e4096</id>
<content type='text'>
PR#2802 missed the submodule update itself.
</content>
</entry>
<entry>
<title>ulab: Get updates from upstream</title>
<updated>2020-04-14T15:09:00+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-04-13T21:03:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=cc21bed0e40e10790478cb643b9e5bd831069804'/>
<id>urn:sha1:cc21bed0e40e10790478cb643b9e5bd831069804</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ulab: Get updates from upstream</title>
<updated>2020-04-14T00:00:16+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-04-13T21:03:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=ca9796470115cef7ec22e9f59a3e68c319a5c32e'/>
<id>urn:sha1:ca9796470115cef7ec22e9f59a3e68c319a5c32e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>update ulab</title>
<updated>2020-03-17T13:32:52+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-03-16T21:23:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=772ac705d3cbcdbc9cb139c7433a8e6e40db6f0d'/>
<id>urn:sha1:772ac705d3cbcdbc9cb139c7433a8e6e40db6f0d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ulab: Use https://github.com/v923z/micropython-ulab/</title>
<updated>2020-03-09T19:48:52+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-03-09T19:48:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=eab9b670d8a8f57c94ec1375cd5cea64fe7b1df8'/>
<id>urn:sha1:eab9b670d8a8f57c94ec1375cd5cea64fe7b1df8</id>
<content type='text'>
The only delta we were carrying was in the README.
</content>
</entry>
<entry>
<title>Update ulab from upstream again</title>
<updated>2020-02-27T20:14:05+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@unpythonic.net</email>
</author>
<published>2020-02-27T20:14:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=39cfe32c345781b32d235353c2e59acacbc32dc6'/>
<id>urn:sha1:39cfe32c345781b32d235353c2e59acacbc32dc6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ulab: Incorporate it</title>
<updated>2020-02-27T17:03:03+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-02-04T16:24:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=fa3b9eba926525751d0968aef88317ce5ad25003'/>
<id>urn:sha1:fa3b9eba926525751d0968aef88317ce5ad25003</id>
<content type='text'>
</content>
</entry>
</feed>
