- Converted utils and main lib to cffi's API mode for better performance
- Added inline type hints and stubs for the C extension
- Ported the remaining sample - mathpointer.py to python
- Added unit tests and ruff formatter
- utils.try_open_single_program now returns ProgramHandle instead of returning the pointer directly, and utils.close_single_program accepts that object (used to accept the pointer) should be safe, unless somebody relied on it being a CData object
- dropped support for Python3.7 and below, Python2
- initial public release with most samples ported from the original