<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/extmod, branch 6.0.0-alpha.1</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=6.0.0-alpha.1</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=6.0.0-alpha.1'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2020-07-01T15:00:28+00:00</updated>
<entry>
<title>ulab: update to 0.51.1</title>
<updated>2020-07-01T15:00:28+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-07-01T15:00:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=783846c6057f96999687c5895bef97b28e47e1fa'/>
<id>urn:sha1:783846c6057f96999687c5895bef97b28e47e1fa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>remove machine_i2c, machine_spi</title>
<updated>2020-06-25T16:44:21+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-06-14T22:00:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=103ad9966a1c871fe06f2222bd0226bbd81fffba'/>
<id>urn:sha1:103ad9966a1c871fe06f2222bd0226bbd81fffba</id>
<content type='text'>
This micropython code is not used in circuitpython
</content>
</entry>
<entry>
<title>Fix up end of file and trailing whitespace.</title>
<updated>2020-06-03T09:56:35+00:00</updated>
<author>
<name>Diego Elio Pettenò</name>
<email>flameeyes@flameeyes.com</email>
</author>
<published>2020-05-30T09:44:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=dd5d7c86d22807c021dd1711eb7dd3daebc5cfcf'/>
<id>urn:sha1:dd5d7c86d22807c021dd1711eb7dd3daebc5cfcf</id>
<content type='text'>
This can be enforced by pre-commit, but correct it separately to make it easier to review.
</content>
</entry>
<entry>
<title>ulab: update submodule again</title>
<updated>2020-06-01T16:03:38+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-06-01T16:03:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=7f3fd20ea9c6aa6f04ff8901d9fb316fa24194af'/>
<id>urn:sha1:7f3fd20ea9c6aa6f04ff8901d9fb316fa24194af</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ulab: update</title>
<updated>2020-06-01T14:02:29+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-06-01T13:56:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=18c659780eeb6cf04430cdf9899197f4851d1bf6'/>
<id>urn:sha1:18c659780eeb6cf04430cdf9899197f4851d1bf6</id>
<content type='text'>
.. add new modules and functions to our shared-bindings stubs
</content>
</entry>
<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>
</feed>
