This Release technically contains breaking changes (e.g. changing some raised `Exception` to `ValueError`), but I don't believe they would meaningfully impact any existing code.
Changes
- Added type hints.
- Explicitly depends on `OpenEXR >=3.2.3`, which has many prebuilt wheels, significantly simplifying the install process.
- Changed bare-exceptions to more specific exceptions like `ValueError` or `TypeError`.
- Remove spurious `print` statements, information is now included in raised exceptions.
- `InputFile.describe_channels()` now returns string data instead of printing it.
- Now works with `pathlib.Path` paths.
- Update deprecated `np.tostring` to `np.tobytes` in 18.
- Added contextmanager (`with pyexr.open(...) as f:`)and `close()` methods to `InputFile` by r1cc4rdo in 23
- Allow the writing of additional metadata via `extra_headers` parameter by NinjaCats in 20
Internal Changes
- Use Poetry.
- Add Github Actions.
- Add linting (black) and other code quality checks via pre-commit.
- Add unit tests.
- Add codecoverage