A few thoughts on the design of loading the library as a whole (might be out of scope for this PR but worth mentioning):
- I initially made the
Session class load the library when it's used to avoid doing this work at import time. Mostly so we wouldn't have GMTLibNotFoundError at import.
- That clearly didn't work because we need to call
begin at import for this whole thing to work.
- So it might be time to rethink loading libgmt in the class instead of as a global instead to avoid searching for it every time.
- Or we figure out a way to not call
begin at import time.
Originally posted by @leouieda in #702 (comment)