My apologies as this branch also includes the fix for macos builds that I am proposing in #173.
The other part of this PR is to address a performance problem documented in #170. The crux of this PR is that if we have a non-matching and the user has not requested to see non-matches in their callback we can return from this function early and not have to do all the steps to create the dictionary because we aren't going to store it in the matches list (it is a non-match) and we aren't going to pass it to the python callback.
If you would prefer I split this out to not include #173 I'm happy to do so.
My apologies as this branch also includes the fix for macos builds that I am proposing in #173.
The other part of this PR is to address a performance problem documented in #170. The crux of this PR is that if we have a non-matching and the user has not requested to see non-matches in their callback we can return from this function early and not have to do all the steps to create the dictionary because we aren't going to store it in the matches list (it is a non-match) and we aren't going to pass it to the python callback.
If you would prefer I split this out to not include #173 I'm happy to do so.