Skip to content

Commit 73546b4

Browse files
authored
Add filter_name to Filter class (#1856)
This returns the underlying TileDB string name for the filter types.
1 parent 969ae40 commit 73546b4

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

tiledb/filter.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,10 @@ def __eq__(self, other: "Filter"):
5454
return False
5555
return True
5656

57+
@property
58+
def filter_name(self):
59+
return self._type.name
60+
5761

5862
class CompressionFilter(Filter):
5963
"""

tiledb/tests/test_filters.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,30 @@ def test_filter_list(self, attr_type, filter_type):
8585
attr = tiledb.Attr(filters=filter_list2, dtype=attr_type)
8686
self.assertEqual(len(attr.filters), 1)
8787

88+
@pytest.mark.parametrize(
89+
"filter_type,name",
90+
[
91+
(tiledb.NoOpFilter, "NONE"),
92+
(tiledb.GzipFilter, "GZIP"),
93+
(tiledb.ZstdFilter, "ZSTD"),
94+
(tiledb.LZ4Filter, "LZ4"),
95+
(tiledb.RleFilter, "RLE"),
96+
(tiledb.Bzip2Filter, "BZIP2"),
97+
(tiledb.DeltaFilter, "DELTA"),
98+
(tiledb.DoubleDeltaFilter, "DOUBLE_DELTA"),
99+
(tiledb.DictionaryFilter, "DICTIONARY"),
100+
(tiledb.BitWidthReductionFilter, "BIT_WIDTH_REDUCTION"),
101+
(tiledb.BitShuffleFilter, "BITSHUFFLE"),
102+
(tiledb.ByteShuffleFilter, "BYTESHUFFLE"),
103+
(tiledb.PositiveDeltaFilter, "POSITIVE_DELTA"),
104+
(tiledb.ChecksumSHA256Filter, "CHECKSUM_SHA256"),
105+
(tiledb.ChecksumMD5Filter, "CHECKSUM_MD5"),
106+
(tiledb.FloatScaleFilter, "SCALE_FLOAT"),
107+
],
108+
)
109+
def test_filter_name(self, filter_type, name):
110+
assert filter_type().filter_name == name
111+
88112
@pytest.mark.parametrize("filter", all_filter_types)
89113
def test_all_filters(self, filter):
90114
# test initialization

0 commit comments

Comments
 (0)