Skip to content

Patch release: Add filtering capability and data input hashing

Compare
Choose a tag to compare
@cortadocodes cortadocodes released this 05 Jan 12:36
· 3633 commits to main since this release
5bcf2b7

New Features

  • Add Hashable mixin to create data hashes of Datafiles and their containers, including metadata
  • Add Filterable mixin to make Datafiles in a Dataset and Tags in a TagSet filterable
  • Add FilterSet class for storing and facilitating filtering of Datafiles in Dataset and Tags in TagSet
  • Add FilterList for the output of ordering FilterSets
  • Add a plethora of type- and interface-based filters for use on FilterSets and FilterLists

Breaking changes

  • Any sha256 properties have been replaced with blake3_hash properties
  • Replace TagSet.has_tag with native `contains method
  • Rename TagSet.starts_with to TagSet.any_tag_starts_with
  • Rename TagSet.ends_with to TagSet.any_tag_ends_with

Minor fixes and improvements

  • Replace SHA256 hashing with BLAKE3 hashing - this is reportedly around 10 times as fast!
  • Neaten up #40/#42 by combining the two workflow files while still keeping separate checks on GitHub. This also makes the version check display less verbosely on GitHub
  • Add Tag class, neatening up the retrieval and filtering of subtags
  • Rename TagGroup to TagSet to reflect that it's set-based