The most significant change in this release is the migration to the [DLPack](https://github.com/dmlc/dlpack) in-memory structure via [nanobind](https://github.com/wjakob/nanobind). Briefly speaking, this means cleaner integration with numpy and native integration with device tensors, via accelerators such as PyTorch or Jax. In practice, we can now remove heavy dependencies because we hand off event data solely based on their memory pointers, without requiring large library APIs.
This release took a while, but it's worth the effort, and there are many future enhancements in the works. For instance, support for Inivation and Prophesee cameras, support for additional file formats, and performance improvements. :rocket:
A *big* thank you to stevenabreu7 for helping with M1 support, cameron-git for efforts around documentation, API design, and reviews, and cantordust for participating in API design, reviews, and lively discussions about C++ shenaningans :heart:
What's Changed
* Package restructure by Jegp in https://github.com/norse/aestream/pull/46
* Support for both numpy and pytorch by Jegp in https://github.com/norse/aestream/pull/52
* Documentation by Jegp in https://github.com/norse/aestream/pull/55
* add M1 support by stevenabreu7 in https://github.com/norse/aestream/pull/56
* Re-introduced file reading with nanobind primitives by Jegp in https://github.com/norse/aestream/pull/57
* Re-introduced AEDAT4 and restructured file reading by Jegp in https://github.com/norse/aestream/pull/59
**Full Changelog**: https://github.com/norse/aestream/compare/v0.4.0...v0.5