Skip to content

Releases: BrianPugh/belay

v0.14.0 - "setup" decorator

29 Nov 22:19
53c8b48
Compare
Choose a tag to compare

Features

  • Added the @device.setup decorator for executing the function body in a global context. See examples/01_blink.

Breaking Changes

  • Change the .belay-lib/ folder (for package managed dependencies) to .belay/dependencies/default.

Bug Fixes

  • Fixed on-device tasks not being able to be directly invoked.
  • Improve some typing.

Misc

  • Refactored device.py into multiple modules.
  • Updated some out-of-date documentation.

v0.13.0

28 Nov 01:10
d9fe5fb
Compare
Choose a tag to compare

Features

  • CLI belay new <project-name> generates a directory structure suitable for most micropython projects using Belay.
  • belay.Device can now be subclassed, and methods can be marked with the decorator @belay.Device.task.
  • belay.Device now inherits from autoregistry.Registry, so it gains the benefit of easily indexing its children.

Breaking Changes

  • Multiple device decoration for functions has been removed. Use the new class-based approach instead.

Bug Fixes

  • Device.__call__(expression) now properly returns the results of the expression.

v0.12.2

22 Nov 19:36
Compare
Choose a tag to compare

Bug Fixes

  • Remove stray print statement when dedenting code.

v0.12.1

21 Nov 16:30
ffdc0da
Compare
Choose a tag to compare

Misc Changes

  • For CLI command belay install, if tool.belay.name is not defined in pyproject.toml, then the project's package folder will not be synced.
  • CLI commands will now iteratively search parenting folders until a pyproject.toml is found.
  • Added optional kwarg record to task and thread decorators to configure if execution calls are recorded.

Bug Fixes

  • More robust initialization (fixes timeouts sometimes observed on esp chips).
  • Fixed corruption of valid multi-line tasks that under-indent.
  • Folders are now supported for the keep argument in sync. The /lib folder is added to the default keep list.

v0.12.0 - Generator Send

15 Nov 03:23
0482a38
Compare
Choose a tag to compare

Features

  • Implements the send method for generators.

Misc Changes

  • Default follows timeout removed to fix unexpected exceptions during long-running device processes. Does not impact ability to detect if board has disconnected.

v0.11.0 - Added "clean" command

09 Nov 21:47
235d1e7
Compare
Choose a tag to compare

Features

  • Added the command clean to the belay CLI.
    • belay clean will delete any python files not referenced in tools.belay.dependencies in pyproject.toml.
    • This cleaning action will automatically be ran at the end of belay update.

v0.10.1 - Immediate prints

28 Oct 02:50
1967a10
Compare
Choose a tag to compare

Bug Fixes

  • Prints from device are now immediately forwarded to stdout after a newline is hit. Previously, output would only be printed after the invoked task finished executing.

v0.10.0 - Package Manager

27 Oct 02:45
ddc7ca0
Compare
Choose a tag to compare

Features

  • Belay now features a rudimentary package manager via the CLI interface. See the docs for details.
    • Dependencies are specified by URLs to py files in pyproject.toml.
    • Dependencies are downloaded/updated via belay update and cached to .belay-lib/. This directory should be committed to project git repos.
    • Dependencies and project are minified/compiled and synced to device via belay install.

v0.9.3 - Fix CircuitPython Compatibility

24 Oct 18:37
89a7fc2
Compare
Choose a tag to compare

Features

  • Adds attribute device.implementation.emitters for detecting available emitters (native and viper).

Bug Fixes

  • Fixes sync on devices without native/viper emitters available.
  • Fixes sync on circuitpython devices.

v0.9.2 - Fix broken mpy-cross

24 Oct 16:08
93f31ed
Compare
Choose a tag to compare

Bug Fix

  • Fix broken mpy-cross.