v0.17.0 - Big package manager improvements
New Features
Device
- New method
Device.sync_dependencies
to conveniently sync micropython dependencies bundled in a python package. - Added new
Device.__pre_autoinit__
method hook. Intended for subclasses to invoke additional device setup like installing dependencies viaself.sync
orself.sync_dependencies
. - Added new
Device.__post_init__
method hook. Intended for subclasses to perform additional host-side initialization.
Package Manager
- Dependencies folder can now be configured via
dependencies_path
inpyproject.toml
- Support for multi-file dependencies. Can now efficiently handle git folders via a cache.
- New command
belay cache
for managing Belay's cache. belay install
new option--with
to include an optional dependency group.- Optional groups are now fully supported.
belay --version
now prints the installed Belay's semver.- Much improved docs.
Bug Fixes
- Fixed Circuitpython 8.0.0 incompatibility (fixes #93).
- Fixed broken convenience imports for boards with a reduced feature set (fixes #97).
Breaking Changes
- Exception
ConfigError
has been removed in favor of pydantic'sValidationError
.
New Contributors
- @freemansoft made their first contribution in #89
Full Changelog: v0.16.2...v0.17.0