qiime2 / provenance-lib

QIIME 2 Provenance Replay Tools
BSD 3-Clause "New" or "Revised" License
3 stars 4 forks source link

Checksum Validation #9

Closed ChrisKeefe closed 3 years ago

ChrisKeefe commented 3 years ago

By validating checksums.md5, we can provide users with reasonable feedback on the integrity of their archives, and the usefulness of their provenance data. ("Hacked" archives may have incorrect provenance)

Users can and should export and re-import data to hack without breaking checksums. This will, of course, break the provenance chain, but that's not our concern - users can track their own methods while outside of QIIME 2.

validate_checksums() will probably help. @ebolyen recommends copy/paste rather than depending on the framework for now.

ChrisKeefe commented 3 years ago

NOTE: Handling provenance data stored in ZipFiles without decompressing them required some significant adaptation. The code is very similar in structure to the framework's validate_checksums(), but importing this functionality from the framework is probably not a viable option even if this codebase does eventually depend on, or belong to, the framework.