Releases: brainix/pottery
Releases Β· brainix/pottery
v2.2.1
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
v2.1.0
- Breaking Change: Drop support for Python 3.6
- New Feature: Implement
RedisSet.contains_many()
to more efficiently membership test multiple elements - New Feature: Implement
BloomFilter.contains_many()
to more efficiently membership test multiple elements - New Feature: Implement
HyperLogLog.__contains__()
for membership testing - Quality of Life: Warn when doing O(n) operations on
RedisDict
s,RedisSet
s,RedisList
s, andRedisDeque
s
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
Quality of Life: Warn when doing O(n) operations on RedisList
s
What's Changed
- Simplify code using chunking and aliasing by @brainix in #505
- Upgrade requirements by @brainix in #506
- Upgrade requirements by @brainix in #507
- Upgrade requirements by @brainix in #508
- Upgrade Python to 3.10.1 by @brainix in #509
- Remove broken dependencies badge by @brainix in #510
- Warn when doing O(n) operations on RedisLists by @brainix in #511
Full Changelog: v2.0.0...v2.0.1
v2.0.0
- Breaking Change: Require redis-py 4.0.0
- Bug Fix: Fix potential race condition in
RedisSet.issubset()
and.issuperset()
- New Feature: Implement
RedisSet.union()
and.difference()
What's Changed
- Refactor RedisList._insert() by @brainix in #485
- Use a UUID4 in RedisList.__delete() by @brainix in #486
- Use UUID4s instead of random alphanumeric tmp keys by @brainix in #487
- Install hiredis by @brainix in #488
- Remove # type: ignore by @brainix in #489
- Touch tests/init.py by @brainix in #490
- Upgrade requirements by @brainix in #491
- Implement and test RedisSet.difference() by @brainix in #492
- Make RedisSet.__update() more efficient on same db by @brainix in #493
- Simplify code using chunking and aliasing by @brainix in #494
- Implement and test RedisSet.union() by @brainix in #495
- Watch keys during .issubset() and .issuperset() by @brainix in #496
- Upgrade requirements by @brainix in #497
- Upgrade requirements by @brainix in #498
- Tighten RedisSet type annotations by @brainix in #499
- Upgrade requirements by @brainix in #500
- Simplify code using chunking and aliasing by @brainix in #501
- Upgrade requirements by @brainix in #502
- Upgrade requirements by @brainix in #503
- Upgrade redis-py to 4.0.0 by @brainix in #504
Full Changelog: v1.4.7...v2.0.0
v1.4.7
v1.4.6
Optimization: Make Redlock.locked()
and the NextId.__current_id
getter slightly more efficient for several masters
What's Changed
- Simplify LRANGEs by using negative indices by @brainix in #477
- Upgrade requirements by @brainix in #478
- Upgrade requirements by @brainix in #479
- Delete more dirs/files in clean Makefile target by @brainix in #480
- Upgrade requirements by @brainix in #481
- Use BailOutExecutor in more places by @brainix in #482
Full Changelog: v1.4.5...v1.4.6
v1.4.5
Bug Fix: RedisList.__eq__()
logic
What's Changed
- Use tuple unpacking instead of itertools.chain() by @brainix in #471
- Upgrade requirements by @brainix in #472
- Configure VSCode to run unit tests by @brainix in #473
- Delete misleading comment and line of code by @brainix in #474
- Upgrade requirements by @brainix in #475
- Fix RedisList.eq() by @brainix in #476
Full Changelog: v1.4.4...v1.4.5
v1.4.4
New Feature: More RedisSet
methods
Implement:
RedisSet.issubset()
RedisSet.issuperset()
RedisSet.intersection()
Also support Python 3.10.
What's Changed
- Upgrade requirements by @brainix in #465
- Support Python 3.10 by @brainix in #466
- Clean up package metadata by @brainix in #468
- On CI, build against Python 3.10.0 final by @brainix in #469
- Flesh out RedisSet methods by @brainix in #470
Full Changelog: v1.4.3...v1.4.4
v1.4.3
Quality of Life: Delete the Redis.lolwut()
monkey patch
I got Redis.lolwut()
merged upstream! π
redis/redis-py#1568
What's Changed
Full Changelog: v1.4.2...v1.4.3