Skip to content

Conversation

@thclark
Copy link
Member

@thclark thclark commented Dec 23, 2020

Contents

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 Github Action Version Check #40/Devops: Add version consistency check #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

Notes

I've made the hashes cached properties to avoid recomputing them every time they're accessed.

Quality Checklist

  • New features are fully tested (No matter how much Coverage Karma you have)
  • New features are included in the documentation

Coverage Karma

  • If your PR decreases test coverage, do you feel you have built enough Coverage Karma* to justify it?

Sets are more efficient for membership checks and are perfect for
data whose order doesn't matter.
…ters

Feature: Add not version of filters where appropriate
…ilter-containers

Feature: Add order_by method to filter containers
@cortadocodes cortadocodes self-assigned this Jan 5, 2021
@thclark thclark merged commit 5bcf2b7 into main Jan 5, 2021
@cortadocodes cortadocodes deleted the release/0.1.7 branch January 5, 2021 12:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants