Pottery

Latest version: v3.0.0

Safety actively analyzes 623092 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 6

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
* Refactor RedisList._insert() by brainix in https://github.com/brainix/pottery/pull/485
* Use a UUID4 in RedisList.__delete() by brainix in https://github.com/brainix/pottery/pull/486
* Use UUID4s instead of random alphanumeric tmp keys by brainix in https://github.com/brainix/pottery/pull/487
* Install hiredis by brainix in https://github.com/brainix/pottery/pull/488
* Remove type: ignore by brainix in https://github.com/brainix/pottery/pull/489
* Touch tests/__init__.py by brainix in https://github.com/brainix/pottery/pull/490
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/491
* Implement and test RedisSet.difference() by brainix in https://github.com/brainix/pottery/pull/492
* Make RedisSet.__update() more efficient on same db by brainix in https://github.com/brainix/pottery/pull/493
* Simplify code using chunking and aliasing by brainix in https://github.com/brainix/pottery/pull/494
* Implement and test RedisSet.union() by brainix in https://github.com/brainix/pottery/pull/495
* Watch keys during .issubset() and .issuperset() by brainix in https://github.com/brainix/pottery/pull/496
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/497
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/498
* Tighten RedisSet type annotations by brainix in https://github.com/brainix/pottery/pull/499
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/500
* Simplify code using chunking and aliasing by brainix in https://github.com/brainix/pottery/pull/501
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/502
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/503
* Upgrade redis-py to 4.0.0 by brainix in https://github.com/brainix/pottery/pull/504


**Full Changelog**: https://github.com/brainix/pottery/compare/v1.4.7...v2.0.0

3.0.0

Breaking Change: `Redlock` now consistently uses seconds for all time units

In particular:
1. The `auto_release_time` argument to `Redlock.__init__()` and `synchronize()` is now in seconds (was previously milliseconds)
2. `Redlock.locked()` now returns how much longer you'll hold the lease in seconds (or 0 if you don't hold the lock; and was also previously milliseconds)

What's Changed
* Remove superfluous return statement by brainix in https://github.com/brainix/pottery/pull/626
* In Redlock, consistently measure time in seconds by brainix in https://github.com/brainix/pottery/pull/627


**Full Changelog**: https://github.com/brainix/pottery/compare/v2.3.7...v3.0.0

2.3.7

Optimization: `CachedOrderedDict.__init__()`

Dramatically improve the performance of `CachedOrderedDict.__init__()`. Prior to this release, we were making multiple round trips to Redis, one per `dict_key`. As of this release, we make a single bulk call to Redis.

What's Changed
* Document NextId.__init__() kwargs in docstring by brainix in https://github.com/brainix/pottery/pull/592
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/593
* Comment which Redis versions introduced commands by brainix in https://github.com/brainix/pottery/pull/594
* Use dataclasses to define exception classes by brainix in https://github.com/brainix/pottery/pull/595
* Share the same logger between monkey and base by brainix in https://github.com/brainix/pottery/pull/596
* Upgrade Python to 3.10.2 by brainix in https://github.com/brainix/pottery/pull/597
* Improve test coverage by brainix in https://github.com/brainix/pottery/pull/598
* Check for security vulnerabilities by brainix in https://github.com/brainix/pottery/pull/599
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/600
* Check for security vulnerabilities on local dev by brainix in https://github.com/brainix/pottery/pull/601
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/602
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/603
* Implement RedisSet.__contains__() using SISMEMBER by brainix in https://github.com/brainix/pottery/pull/604
* Lint on file save with Bandit by brainix in https://github.com/brainix/pottery/pull/605
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/606
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/607
* Write union types as X | Y by brainix in https://github.com/brainix/pottery/pull/608
* Tighten up type checking and type annotations by brainix in https://github.com/brainix/pottery/pull/609
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/610
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/611
* Configure Bandit to not warn on asserts in tests by brainix in https://github.com/brainix/pottery/pull/612
* Add emojis to README by brainix in https://github.com/brainix/pottery/pull/613
* Write union types as X | Y by brainix in https://github.com/brainix/pottery/pull/614
* Use protocol instead of making _Clearable an ABC by brainix in https://github.com/brainix/pottery/pull/615
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/616
* Rename Base class to Container by brainix in https://github.com/brainix/pottery/pull/617
* Refactor _Common class by brainix in https://github.com/brainix/pottery/pull/618
* Clean up formatting by brainix in https://github.com/brainix/pottery/pull/619
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/620
* Improve Redlock usage documentation by brainix in https://github.com/brainix/pottery/pull/621
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/622
* Create a proper Pottery JSON encoder by brainix in https://github.com/brainix/pottery/pull/623
* Refactor json.dumps() monkey patch by brainix in https://github.com/brainix/pottery/pull/624
* Dramatically speed up CachedOrderedDict.__init__() by brainix in https://github.com/brainix/pottery/pull/625


**Full Changelog**: https://github.com/brainix/pottery/compare/v2.3.6...v2.3.7

2.3.6

1. **Bug Fix**: Properly configure logging for the Pottery library
2. **Optimization**: Prefer Redis [`UNLINK`](https://redis.io/commands/unlink) over `DEL`; `UNLINK` is faster and non-blocking

What's Changed
* Happy new year! by brainix in https://github.com/brainix/pottery/pull/577
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/578
* Prefer Redis UNLINK over DEL by brainix in https://github.com/brainix/pottery/pull/579
* Comment which Redis versions introduced commands by brainix in https://github.com/brainix/pottery/pull/580
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/581
* Preserve Open-Closed Principle with name mangling by brainix in https://github.com/brainix/pottery/pull/582
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/583
* Define ABCs by subclassing abc.ABC by brainix in https://github.com/brainix/pottery/pull/584
* Unit test that ABCs can't be instantiated by brainix in https://github.com/brainix/pottery/pull/585
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/586
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/587
* Document Redlock.__init__() kwargs in docstrings by brainix in https://github.com/brainix/pottery/pull/588
* Use isinstance() to provide a hint to Mypy by brainix in https://github.com/brainix/pottery/pull/589
* Don't specify 'utf-8' argument to bytes.decode() by brainix in https://github.com/brainix/pottery/pull/590
* Properly configure logging for the Pottery library by brainix in https://github.com/brainix/pottery/pull/591


**Full Changelog**: https://github.com/brainix/pottery/compare/v2.3.5...v2.3.6

2.3.5

Bug Fix: Don't allow a `RedisDeque` to equal a `RedisList`...

...even if they're both on the same Redis instance and have the same key.

Before this release:

python
>>> from pottery import RedisDeque, RedisList
>>> RedisDeque(key='videos:dicts') == RedisList(key='videos:dicts')
True


As of this release:

python
>>> from pottery import RedisDeque, RedisList
>>> RedisDeque(key='videos:dicts') == RedisList(key='videos:dicts')
False


What's Changed
* Make minor code cleanups by brainix in https://github.com/brainix/pottery/pull/575
* Don't allow a RedisDeque to equal a RedisList... by brainix in https://github.com/brainix/pottery/pull/576


**Full Changelog**: https://github.com/brainix/pottery/compare/v2.3.4...v2.3.5

2.3.4

Bug Fix: Don't allow `RedisDeque`s to equal Python lists...

...even when they contain the same elements. Observe:

python
>>> import collections
>>> collections.deque([1, 2, 3]) == [1, 2, 3]
False


What's Changed
* Don't allow RedisDeques to equal Python lists... by brainix in https://github.com/brainix/pottery/pull/574


**Full Changelog**: https://github.com/brainix/pottery/compare/v2.3.3...v2.3.4

Page 1 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.