Package Maintenance
No change to package functionality
- Transition package distribution from setup.py to pyproject.toml
- Update Python version range to [reflect Python EOL](https://devguide.python.org/versions/): Python 3.10, 3.11, and 3.12
- Remove version requirements for `matplotlib` and `numpy` dependencies
- Update backend to make use [type hinting](https://docs.python.org/3/library/typing.html) and [f-strings](https://docs.python.org/3/tutorial/inputoutput.html)