Over the last while I have been slowly rewriting the entirety of MaskMyPy. It has gone through several iterations (admittedly far too many, a classic case of bike-shedding), but it's finally at a point where I feel comfortable enough releasing something into the ether. This release marks a beta of what will eventually get merged into mainline MaskMyPy.
While the entire package has been essentially rewritten from scratch, here are some notable changes:
- Added a wide variety of tests to improve stability and confidence
- Added a Atlas class meant to make it far easier to perform and evaluate a wide range of masks
- Added location swapping and voronoi masks, and removed some variations of donut masking (e.g. Donut_K)
- Added a variety of functions for evaluating the privacy protection and information loss incurred by masking.
To test out this beta release, clone the `beta` branch and install it using `pip install -e .`. I'm very open to feedback, especially if there are any elements of the API that feel awkward. Keep in mind however that perfect is the enemy of good, so I will be hesitant to make any significant changes unless they are highly warranted.
Preliminary documentation for the beta can be found here: https://thetinhat.github.io/MaskMyPy/.