v0.17.0 - Big package manager improvements
New Features
Device
- New method
Device.sync_dependenciesto 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.syncorself.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_pathinpyproject.toml - Support for multi-file dependencies. Can now efficiently handle git folders via a cache.
- New command
belay cachefor managing Belay's cache. belay installnew option--withto include an optional dependency group.- Optional groups are now fully supported.
belay --versionnow 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
ConfigErrorhas been removed in favor of pydantic'sValidationError.
New Contributors
- @freemansoft made their first contribution in #89
Full Changelog: v0.16.2...v0.17.0