Icepool

Latest version: v2.0.2

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

Scan your dependencies

Page 9 of 16

0.17.0

More renaming, experimental `sample()` methods.

* Both `Die` and `Deck` now have `quantities` rather than `weight`, `dups`, etc.
* Many `Die` methods moved to base class and are now available to `Deck`.
* "Eval" is now the full word "Evaluator".
* Parameter and method names are no longer prefixed with "num_".
* `reduce_weights` renamed back to `reduce`.
* `Deck`s can be formatted like `Die`.
* Allow formatting 0-1 probability.
* Experimental `sample()` methods for `OutcomeCountGenerator` and `OutcomeCountEvaluator`.

0.16.1

Development of deck API.

* Separate `Deal` class from `Deck`, roughly analogous to `Pool` vs. `Die`.
* `Deal` can now output multiple hands. The counts for each hand are provided in order to `eval.next_state`.
* `comb_row` now uses iterative rather than recursive memoization. This will prevent some stack overflows.
* `Pool`s are not permitted to be constructed using a raw `Die` or `Deck` argument.
* `reduce` argument of `Die.equals()` renamed to `reduce_weights`.

0.16.0

Significant API changes, experimental deck support.

* Experimental `Deck` class. API still very unstable.
* `Pool`s, `Deck`s, and internal Alignment now have a common base class `OutcomeCountGen`.
* `EvalPool` renamed to `OutcomeCountEval`.
* `Die` and `Deck` are now proper `Mapping`s with `keys`, `values`, and `items`.
* The above view types can also be accessed like sequences.
* A `Die` is now always considered not `equal()` to non-`Die`.
* `die[]` now works like a dict. Use `marginals[]` to marginalize dimensions.
* `Die`, `Pool`, and `Deck` now take a single sequence or mapping argument rather than a variable number of arguments.
* `Die`, `Pool`, and `Deck` now all have the same name for the second argument: `times`.
* `count_dice` renamed to `post_roll_counts`. No longer accepts `None`, use `[:]` instead.
* Linear algorithm for comparators on `Die`.
* Improvements to internal `Count` class.
* Add `clear_pool_cache` function.
* Forward `*extra_args` for `reroll, reroll_until, explode`.

0.15.0

Added type hints. Now requires Python 3.10 or later.

Other changes:

* Add `apply_sorted()` method.
* Add `Die.set_range()`.
* `standard()` / `d()` argument is now positional-only.

0.14.1

Reinstate alternate internal `EvalPool` algorithm, which provides better performance in some cases.

0.14.0

* Added a new `EvalPool.alignment()` method. This allows to specify an iterable of outcomes that should always be seen by `next_state` even if they have zero count.
* The free function `d()` is now simply an alias for `standard()`.
* Removed `Die.d()`.
* The `` operator now casts the right side to a `Die` like other operators.
* Some internal changes to `EvalPool` algorithm.

Page 9 of 16

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.