Pottery

Latest version: v3.0.1

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

Scan your dependencies

Page 8 of 9

1.1.1

Not secure
Bug Fix: JSON encoder monkey patch

This release fixes the exception description when trying to JSON encode a non-JSON-encodable object.

Reported in 323, fixed in 324.

What's Changed
* Reduce maximum McCabe complexity from 11 to 10 by brainix in https://github.com/brainix/pottery/pull/309
* Delete .tearDown() methods from unit test classes by brainix in https://github.com/brainix/pottery/pull/310
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/311
* Use a set, not a list, where order doesn't matter by brainix in https://github.com/brainix/pottery/pull/312
* Add Table of Contents to README.md by brainix in https://github.com/brainix/pottery/pull/313
* Use consistent build status badge from Sheilds.io by brainix in https://github.com/brainix/pottery/pull/314
* Properly nest lists in Markdown by brainix in https://github.com/brainix/pottery/pull/315
* Happy new year! by brainix in https://github.com/brainix/pottery/pull/316
* Chain exceptions to ease debugging by brainix in https://github.com/brainix/pottery/pull/317
* Use a tuple (instead of a list) for __all__ by brainix in https://github.com/brainix/pottery/pull/318
* Don't repeat myself; reuse common type annotations by brainix in https://github.com/brainix/pottery/pull/319
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/320
* Upgrade Mypy to 0.800 by brainix in https://github.com/brainix/pottery/pull/321
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/322
* Make _default.default bound method; fix 323 by brainix in https://github.com/brainix/pottery/pull/324
* Bump version number by brainix in https://github.com/brainix/pottery/pull/325


**Full Changelog**: https://github.com/brainix/pottery/compare/v1.1.0...v1.1.1

1.1.0

Not secure
New Feature: `synchronize()`

[`synchronize()`](https://github.com/brainix/pottery#synchronize) is a decorator that allows only one thread to execute a function at a time. Under the hood, `synchronize()` uses a Redlock, so refer to the [Redlock documentation](https://github.com/brainix/pottery#redlock) for more details.

What's Changed
* Choose a random Redis database for unit tests by brainix in https://github.com/brainix/pottery/pull/302
* Implement and test redlock() decorator by brainix in https://github.com/brainix/pottery/pull/303
* Choose Redis database 1 for doctests by brainix in https://github.com/brainix/pottery/pull/304
* Rename redlock() decorator to synchronize() by brainix in https://github.com/brainix/pottery/pull/305
* Move CI to GitHub Actions by brainix in https://github.com/brainix/pottery/pull/307
* Skip slow doctests; update status badges by brainix in https://github.com/brainix/pottery/pull/308
* Author documentation for synchronize() decorator by brainix in https://github.com/brainix/pottery/pull/306


**Full Changelog**: https://github.com/brainix/pottery/compare/v1.0.9...v1.1.0

1.0.9

Not secure
Bug Fix: Include `typing_extensions` in `install_requires`

Without making Pottery depend on `typing_extensions`, Pottery fails to install correctly.

Reported in https://github.com/brainix/pottery/issues/299, fixed in https://github.com/brainix/pottery/pull/301.

What's Changed
* Improve exception logging in NextId and Redlock by brainix in https://github.com/brainix/pottery/pull/294
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/295
* Upgrade Python to 3.9.1 by brainix in https://github.com/brainix/pottery/pull/296
* Add Typing :: Typed Trove classifier by brainix in https://github.com/brainix/pottery/pull/297
* Upgrade requirements by brainix in https://github.com/brainix/pottery/pull/298
* In unit tests, explicitly pass in the Redis client by brainix in https://github.com/brainix/pottery/pull/300
* Include typing_extensions in install_requires by brainix in https://github.com/brainix/pottery/pull/301


**Full Changelog**: https://github.com/brainix/pottery/compare/v1.0.8...v1.0.9

1.0.8

Not secure
Bug Fix: `._scan()` in `RedisCounter._make_counter()`

Previously, we were calling `._scan()` multiple times, and using only every other `._scan()` call's results, and never using `encoded_dict`.

Now, we're using `encoded_dict` and not skippinng over every other `._scan()` call.

In practice, this meant that `RedisCounter.most_common()` yielded wrong results. It's fixed in this release.

What's Changed
* Author docstring for BailOutExecutor by brainix in https://github.com/brainix/pottery/pull/288
* Don't bail out from NextId.__current_id getter by brainix in https://github.com/brainix/pottery/pull/289
* Refactor Makefile by brainix in https://github.com/brainix/pottery/pull/291
* Clean up Redis after doctesting README.md by brainix in https://github.com/brainix/pottery/pull/292
* Fix ._scan() bug in RedisCounter._make_counter() by brainix in https://github.com/brainix/pottery/pull/293


**Full Changelog**: https://github.com/brainix/pottery/compare/v1.0.7...v1.0.8

1.0.7

Not secure
Optimization: When possible, bail out early when quorum achieved

The beating heart of all consensus based distributed algorithms is to scatter a computation across multiple nodes, then to gather their results, then to evaluate whether quorum is achieved.

In some cases, _quorum_ requires gathering all of the nodes' results (e.g., interrogating all nodes for a maximum value for a variable).

But in other cases, _quorum_ requires gathering only `n // 2 + 1` nodes' results (e.g., figuring out if > 50% of nodes believe that I'm the owner of a lock).

Implement the logic to "bail out" early when possible, in the latter case.

What's Changed
* When possible, bail out early when quorum achieved by brainix in https://github.com/brainix/pottery/pull/286
* Bump version number by brainix in https://github.com/brainix/pottery/pull/287


**Full Changelog**: https://github.com/brainix/pottery/compare/v1.0.6...v1.0.7

1.0.6

Not secure
Quality of Life: Improve logging for `Redlock` and `NextId` distributed algorithms

What's Changed
* Improve logging for distributed algorithms by brainix in https://github.com/brainix/pottery/pull/284
* Instead of Exception, catch only RedisError by brainix in https://github.com/brainix/pottery/pull/285


**Full Changelog**: https://github.com/brainix/pottery/compare/v1.0.5...v1.0.6

Page 8 of 9

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.