Skip to content

v0.17.0 - Big package manager improvements

Compare
Choose a tag to compare
@BrianPugh BrianPugh released this 10 Feb 16:49

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 via self.sync or self.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 in pyproject.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's ValidationError.

New Contributors

Full Changelog: v0.16.2...v0.17.0