Releases: BrianPugh/belay
Releases · BrianPugh/belay
v0.14.0 - "setup" decorator
Features
- Added the
@device.setup
decorator for executing the function body in a global context. Seeexamples/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
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 fromautoregistry.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
v0.12.1
Misc Changes
- For CLI command
belay install
, iftool.belay.name
is not defined inpyproject.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
totask
andthread
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 insync
. The/lib
folder is added to the default keep list.
v0.12.0 - Generator Send
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
Features
- Added the command
clean
to the belay CLI.belay clean
will delete any python files not referenced intools.belay.dependencies
inpyproject.toml
.- This cleaning action will automatically be ran at the end of
belay update
.
v0.10.1 - Immediate prints
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
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
.
- Dependencies are specified by URLs to py files in
v0.9.3 - Fix CircuitPython Compatibility
Features
- Adds attribute
device.implementation.emitters
for detecting available emitters (native
andviper
).
Bug Fixes
- Fixes sync on devices without native/viper emitters available.
- Fixes sync on circuitpython devices.
v0.9.2 - Fix broken mpy-cross
Bug Fix
- Fix broken
mpy-cross
.