Releases: waggle-sensor/pywaggle
0.52.0
This release primarily fixes internal details of the plugin package and should not affect most users' code.
The only exception to this is that some accidental exports have been cleaned up. For example, it was possible to import pathlib's Path from waggle.plugin. This is no longer possible.
0.51.1
added backward compatible support for Plugin.timeit
0.51.0
Added Plugin.timeit helper function. This helper can measure and publish the duration of blocks of code using:
from waggle.plugin import Plugin
with Plugin() as plugin:
# measures duration of input block and publishes to plugin.duration.input
with plugin.timeit("plugin.duration.input"):
get_inputs(...)
# measures duration of inference block and publishes to plugin.duration.inference
with plugin.timeit("plugin.duration.inference"):
do_inference(...)
publish_results(...)
0.50.1
Bug fix: Plugin will attempt to flush queued messages when exiting with block. This helps avoid message loss in the one shot case and on exceptions.
0.50.0
Added context manager support to Plugin. Users are now encourage to move to the following safer alternative to plugin.init
:
from waggle.plugin import Plugin
with Plugin() as plugin:
# do cool stuff here!
0.49.0
added rich html representation of image and audio data when used in j…
0.48.0
- Camera now support file:// URLs allowing local files to be provided in the same way as other URLs / names. For example:
# for deployment
with Camera("left") as camera:
# do work
# for testing
with Camera("file://path/to/test.jpg") as camera:
# do work
This also allows device input to be specified more uniformly when using args. For example:
# pass camera on node
python3 main.py --input left
# pass local file
python3 main.py --input file://path/to/test.jpg
0.47.0
This release allows you to manage Camera in your own context . You can now safely do:
with Camera(device) as camera:
frame1 = camera.snapshot()
frame2 = camera.snapshot()
# ... do something cool with frames ...
This change also fixes the behavior of snapshot returning the same frame when passing Camera a video file.
To maintain resource safety by default, we still support:
camera = Camera(device)
# will safely open / close camera
frame1 = camera.snapshot()
# will safely open / close camera
frame2 = camera.snapshot()
# ... do something cool with frames ...
Breaking change: We have dropped the dropframes flag to snapshot. We recommend using the new context approach and manually taking a few snapshots, if needed.
0.46.4
Bug fix: Non-serializable data types were able to throw exceptions silently in the background thread.
0.46.3
AudioSample and ImageSample accept PathLike path.