Quite a few updates and improvements, including Python 3.11 support.
Major improvements include:
- `.row()` now takes an ndarray
- new `.row_mask()`
What's Changed
* Reduce uncontrolled randomization in tests by mdekstrand in https://github.com/lenskit/csr/pull/21
* Use invoke task to build MKL helper by mdekstrand in https://github.com/lenskit/csr/pull/23
* Update test pipelines by mdekstrand in https://github.com/lenskit/csr/pull/24
* Generate CSRs directly for more tests by mdekstrand in https://github.com/lenskit/csr/pull/22
* Test CSR on single-precision floating-point values by mdekstrand in https://github.com/lenskit/csr/pull/27
* Correct test failures with updated dependencies by mdekstrand in https://github.com/lenskit/csr/pull/31
* Use lenskit-build-helpers for CI builds by mdekstrand in https://github.com/lenskit/csr/pull/30
* Further test cleanups and improvements to fix CI by mdekstrand in https://github.com/lenskit/csr/pull/32
* Add a minimum-dependencies test to CI by mdekstrand in https://github.com/lenskit/csr/pull/33
* Remove the .R accessor by mdekstrand in https://github.com/lenskit/csr/pull/28
* Enable Numba 0.56 in tests by mdekstrand in https://github.com/lenskit/csr/pull/36
* Update minimum tested SciPy version to 1.2 by mdekstrand in https://github.com/lenskit/csr/pull/38
* Update metadata to PEP 621 by mdekstrand in https://github.com/lenskit/csr/pull/40
* Support arrays of indices in row() by mdekstrand in https://github.com/lenskit/csr/pull/43
* Add row_mask method to CSR by mdekstrand in https://github.com/lenskit/csr/pull/44
* NEP 29: Require minimum versions Python 3.8 and NumPy 1.21 by mdekstrand in https://github.com/lenskit/csr/pull/46
* Test with Python 3.11 & Numba 0.57 by mdekstrand in https://github.com/lenskit/csr/pull/47
* Use PyTest 7 by mdekstrand in https://github.com/lenskit/csr/pull/49
* Test on Python 3.11 on Conda by mdekstrand in https://github.com/lenskit/csr/pull/48
**Full Changelog**: https://github.com/lenskit/csr/compare/v0.4.1...v0.5.0b1