Skip to content

Release 1.5.1

Compare
Choose a tag to compare
@mhucka mhucka released this 29 Jun 20:40
· 149 commits to main since this release

There are no functional changes in this release compared to version 1.5.0; all of the code changes are internal, to speed up Handprint startup times and further clean up some code dependencies. Separately, new experimental, self-contained binary versions of Handprint are available for macOS.

All changes in this release

  • To speed up initial application startup time, import statements have been moved from (usually) the tops of files, to where the packages are actually used in the code. Profiling using the Python -X importtime option helped identify expensive packages to make this efficiency gain possible.
  • The user interface code in ui.py has been replaced with importing Bun.
  • The version of commonpy needed is now 1.3.9.
  • The dependency on dateparser has been removed because Handprint doesn't depend on that package. (It's a transitive dependency coming from something else, but by itself, it doesn't belong in Handprint's requirements.)

Self-contained binary distributions

This release includes standalone, runnable binaries for macOS. The experimental binaries are built using shiv. They only need a copy of Python 3.8 or 3.9 on your system to run – they don't require installation of additional Python packages using (e.g.) pip. They should work on macOS 10.13–11.1. To use them:

  1. Download the zip file for either the Python 3.8 or the 3.9 version, depending on the version of Python you have installed on your computer

  2. Unzip the resulting file (if your web browser did not automatically unzip it)

  3. Move the file handprint to a location where your terminal shell looks for programs. A popular location is /usr/local/bin.

Thereafter, you should be able to type handprint in your shell and it should run. (If it does not, please report the problem using the issue tracker.) Note that the first time you run it, Handprint will take longer than usual to start because it does a one-time configuration step, but on subsequent runs, startup times should be shorter.