<p align="center">
<img src="https://user-images.githubusercontent.com/26927750/179866273-bb6f5d00-b18c-4810-b89e-57d73efbf2ea.png" width="40%">
</p>
This release brings the performance improvements of `pyrovision` to edge devices while reducing latency.
_Note: pyroengine 0.2.0 requires ONNX Runtime 1.10 or higher._
Highlights
:zap: Go ONNX!
Since this project is meant for edge devices, we completely migrated the Deep learning backend from PyTorch (used for development) to ONNX Runtime (101). This brings about two major improvements:
- :feather: lighter environment: the compressed docker image's size is now 8 times smaller
- :bullettrain_side: faster inference: by exporting our model to ONNX, a few operations are optimized and this comes with a significant speed boost!
:art: Documentation theme
It was time to clean the documentation! So we switch from [Read the doc](https://sphinx-rtd-theme.readthedocs.io/en/stable/) theme to [Furo](https://github.com/pradyunsg/furo) (#101, 110, 112)!
![image](https://user-images.githubusercontent.com/26927750/183285748-957d978e-f330-4649-9398-e41e7610e370.png)
This comes with nice features such as dark mode and edit button!
:broom: Cleaned codebase
The project was completely refactored to match its criticity:
- Engine improvement: the package was considerably simplified to serve a single purpose, having the fastest & lightest high-performance wildfire predictor (101).
- Code quality: flake8, mypy, black and isort are now making sure the codebase is prime quality (79, 101)! All requirements.txt and config files are now handled by `pyproject.toml`.
- CI updates: unittests are not much more extensive (101, 108) and also run on Raspberry PI (83)!
- Contribution process: a `Makefile` was added to help contributions (101), along with new issue templates (113) and a revamped README
Breaking changes
Deprecated features / files
The following features & files were deprecated:
- `./server`
- `./pyroengine/pi_utils`
Renamed features / files
The following features & files were renamed:
- `./test` renamed to `./tests`
- `./runner` renamed to `./src`
- `PyronearEngine` was renamed to `Engine`
Detailed Changelog
Breaking Changes 🛠
* Drop useless files by MateoLostanlen in https://github.com/pyronear/pyro-engine/pull/80
* refactor: Cleaned pyroengine and refactored project by frgfm in https://github.com/pyronear/pyro-engine/pull/101
* test: Added unittests with Alert API by frgfm in https://github.com/pyronear/pyro-engine/pull/108
New Features 🚀
* setup ci by MateoLostanlen in https://github.com/pyronear/pyro-engine/pull/83
* Feature/switch to reolink cam by MateoLostanlen in https://github.com/pyronear/pyro-engine/pull/78
* save img for debug by MateoLostanlen in https://github.com/pyronear/pyro-engine/pull/92
* feat: Added forced visual capture script by MateoLostanlen in https://github.com/pyronear/pyro-engine/pull/95
* ci: Added multi-arch docker build upon release by frgfm in https://github.com/pyronear/pyro-engine/pull/106
* ci: Added conda build & publish job for releases by frgfm in https://github.com/pyronear/pyro-engine/pull/107
Bug Fixes 🐛
* fix version by MateoLostanlen in https://github.com/pyronear/pyro-engine/pull/82
* fix version by MateoLostanlen in https://github.com/pyronear/pyro-engine/pull/84
* fix: Fixed dockerfile by frgfm in https://github.com/pyronear/pyro-engine/pull/85
* Fixed typo in Dockerfile by MateoLostanlen in https://github.com/pyronear/pyro-engine/pull/86
* fix variable name by MateoLostanlen in https://github.com/pyronear/pyro-engine/pull/90
* fix variable name (90) by MateoLostanlen in https://github.com/pyronear/pyro-engine/pull/91
* fix update script by MateoLostanlen in https://github.com/pyronear/pyro-engine/pull/96
* fix: Ensures prob is defined in the engine prediction by MateoLostanlen in https://github.com/pyronear/pyro-engine/pull/99
* docs: Fixed documentation section of the README by frgfm in https://github.com/pyronear/pyro-engine/pull/105
* docs: Fixed readme badge for documentation by frgfm in https://github.com/pyronear/pyro-engine/pull/111
* docs: Fixed installation and core page indexing by frgfm in https://github.com/pyronear/pyro-engine/pull/112
* docs: Fixed branch target of doc edit button by frgfm in https://github.com/pyronear/pyro-engine/pull/114
Improvements
* Feature/switch to detection model by MateoLostanlen in https://github.com/pyronear/pyro-engine/pull/77
* black formatting by MateoLostanlen in https://github.com/pyronear/pyro-engine/pull/79
* Feature/set crontab by MateoLostanlen in https://github.com/pyronear/pyro-engine/pull/87
* remove matplotlib by MateoLostanlen in https://github.com/pyronear/pyro-engine/pull/88
* Engie V0 by MateoLostanlen in https://github.com/pyronear/pyro-engine/pull/89
* refactor: Disabled urllib warnings by MateoLostanlen in https://github.com/pyronear/pyro-engine/pull/93
* feat: Improve logging of Engine by MateoLostanlen in https://github.com/pyronear/pyro-engine/pull/94
* ignore config data by MateoLostanlen in https://github.com/pyronear/pyro-engine/pull/97
* docs: Updated funding by frgfm in https://github.com/pyronear/pyro-engine/pull/100
* ci: Added release note template by frgfm in https://github.com/pyronear/pyro-engine/pull/104
* docs: Updated changelog by frgfm in https://github.com/pyronear/pyro-engine/pull/110
* ci: Updated issue templates and env collection script by frgfm in https://github.com/pyronear/pyro-engine/pull/113
**Full Changelog**: https://github.com/pyronear/pyro-engine/compare/v0.1.1...v0.2.0