Skip to content

Releases: brainix/pottery

v2.2.1

21 Dec 22:12
0451a22
Compare
Choose a tag to compare

Optimization: HyperLogLog.contains_many()

Previously, we were generating a new temporary HyperLogLog key for every element that we wanted to do a membership test for. Now, we're reusing the same temporary key since we copy/delete the HyperLogLog before/after each membership test anyway. This speeds up membership testing by 2x.

What's Changed

Full Changelog: v2.2.0...v2.2.1

v2.2.0

20 Dec 07:53
ad8484a
Compare
Choose a tag to compare

New Feature: HyperLogLog.contains_many()

.contains_many() is like .__contains__(), but it's better for fast membership testing for multiple elements.

What's Changed

Full Changelog: v2.1.0...v2.2.0

v2.1.0

20 Dec 05:42
231ea8f
Compare
Choose a tag to compare
  1. Breaking Change: Drop support for Python 3.6
  2. New Feature: Implement RedisSet.contains_many() to more efficiently membership test multiple elements
  3. New Feature: Implement BloomFilter.contains_many() to more efficiently membership test multiple elements
  4. New Feature: Implement HyperLogLog.__contains__() for membership testing
  5. Quality of Life: Warn when doing O(n) operations on RedisDicts, RedisSets, RedisLists, and RedisDeques

What's Changed

  • Warn when doing O(n) operations on RedisLists by @brainix in #512
  • Warn when doing O(n) operations on RedisLists by @brainix in #513
  • Warn when doing O(n) operations on RedisDeques by @brainix in #514
  • Warn when doing O(n) operations on RedisSets by @brainix in #515
  • Reorder RedisSet methods to make them flow better by @brainix in #516
  • Drop support for Python 3.6 by @brainix in #517
  • Warn when doing O(n) operations on RedisDicts by @brainix in #518
  • Implement HyperLogLog.contains() by @brainix in #519
  • Delete inaccurate warning by @brainix in #520
  • Implement HyperLogLog.contains_many() by @brainix in #521
  • Refactor HyperLogLog.contains_many() by @brainix in #522
  • Further unit test HyperLogLog.contains_many() by @brainix in #523
  • Simplify code using chunking and aliasing by @brainix in #524
  • Document HyperLogLog.contains_many() by @brainix in #525
  • Make ContextTimer unit test more robust and clear by @brainix in #526
  • Improve identifier names by @brainix in #527
  • Implement HyperLogLog.contains_many() by @brainix in #528
  • Document RedisSet.contains_many() by @brainix in #529
  • Implement BloomFilter.contains_many() by @brainix in #530
  • Document BloomFilter.contains_many() by @brainix in #531
  • Make BloomFilter membership testing more robust by @brainix in #532
  • Make HyperLogLog membership testing more robust by @brainix in #533
  • Keep context manager block small, tight, & focused by @brainix in #534
  • Keep context manager block small, tight, & focused by @brainix in #535
  • Simplify code using chunking and aliasing by @brainix in #536
  • Reorder HyperLogLog methods; make them flow better by @brainix in #537
  • Keep context manager block small, tight, & focused by @brainix in #538
  • Use WATCH/MULTI/EXEC to protect .contains_many() by @brainix in #539
  • Improve variable name by @brainix in #540
  • Delete HyperLogLog.contains_many() by @brainix in #541
  • Better unit test .contains_many() by @brainix in #542
  • Document BloomFilter and HyperLogLog limitations by @brainix in #543

Full Changelog: v2.0.1...v2.1.0

v2.0.1

09 Dec 03:40
4de91c8
Compare
Choose a tag to compare

Quality of Life: Warn when doing O(n) operations on RedisLists

What's Changed

Full Changelog: v2.0.0...v2.0.1

v2.0.0

16 Nov 03:09
62f5be1
Compare
Choose a tag to compare
  1. Breaking Change: Require redis-py 4.0.0
  2. Bug Fix: Fix potential race condition in RedisSet.issubset() and .issuperset()
  3. New Feature: Implement RedisSet.union() and .difference()

What's Changed

Full Changelog: v1.4.7...v2.0.0

v1.4.7

24 Oct 03:54
9259176
Compare
Choose a tag to compare

Bug Fix: Race conditions and bugs in RedisList.insert() and RedisDeque.insert()

What's Changed

  • Configure VS Code to lint on file save by @brainix in #483
  • Make RedisList/RedisDeque .insert() use pipelines by @brainix in #484

Full Changelog: v1.4.6...v1.4.7

v1.4.6

17 Oct 00:41
1d29eeb
Compare
Choose a tag to compare

Optimization: Make Redlock.locked() and the NextId.__current_id getter slightly more efficient for several masters

What's Changed

Full Changelog: v1.4.5...v1.4.6

v1.4.5

13 Oct 19:35
24033e1
Compare
Choose a tag to compare

Bug Fix: RedisList.__eq__() logic

What's Changed

Full Changelog: v1.4.4...v1.4.5

v1.4.4

08 Oct 11:52
a7b4859
Compare
Choose a tag to compare

New Feature: More RedisSet methods

Implement:

  1. RedisSet.issubset()
  2. RedisSet.issuperset()
  3. RedisSet.intersection()

Also support Python 3.10.

What's Changed

Full Changelog: v1.4.3...v1.4.4

v1.4.3

01 Oct 04:57
725c8f4
Compare
Choose a tag to compare

Quality of Life: Delete the Redis.lolwut() monkey patch

I got Redis.lolwut() merged upstream! πŸŽ‰
redis/redis-py#1568

What's Changed

  • Delete the Redis.lolwut() monkey patch by @brainix in #464

Full Changelog: v1.4.2...v1.4.3