This release covers a few small fixes from PRs 171 and 172.
Dependencies
- To retrieve versioning information, we now use `importlib`. This is included only with Python >= 3.8, so NeuralCompression will now only run on versions of Python at least as recent as 3.8. (171).
- Install requirements are flexible, whereas dev requirements are fixed (171). This should improve CI stability while allowing researchers flexibility in tuning their research environment while using NeuralCompression.
- `torch` has been removed as a build dependency (172).
- Other build dependencies have been modified to be flexible (172).
Build System
- C++ code from `_pmf_to_quantized_cdf` introduced compilation requirements when running `setup.py`. Since we didn't configure our build system to handle specific operating systems, this caused a failed release upload to PyPI. The build system has been altered to use `torch.utils.cpp_extension.load`, which defers compilation to the the user after package installation. We would like to improve this further at some point, but the modifications from 171 gets the package stable. Note: there is a reasonable chance this could fail on non-Linux OS's such as Windows. Those users will still be able to use other package features that don't rely on `_pmf_to_quantized_cdf`.
Other
- Fixed a linting issue where `isort` was not checking in CI if packages were properly sorted. (171).
- Fixed a random test issue (171).