Squigglepy

Latest version: v0.28

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

Scan your dependencies

Page 2 of 5

0.23

* Added `pareto` distribution.
* Added `get_median_and_ci` to return the median and a given confidence interval for data.
* `discrete` and `mixture` distributions now give more detail when printed.
* Fixed some typos in the documentation.

0.22

* Added `extremize` to extremize predictions.
* Added `normalize` to normalize a list of numbers to sum to 1.
* Added `get_mean_and_ci` to return the mean and a given confidence interval for data.
* Added `is_dist` to determine if an object is a Squigglepy distribution.
* Added `is_sampleable` to determine if an object can be sampled using `sample`.
* Support for working within Pandas is now explicitly added. `pandas` has been added as a requirement.
* `discrete` sampling now will compress a large array if possible for more efficient sampling.
* `clip`, `lclip`, and `rclip` can now be used without needing distributions.
* Some functions (e.g, `geomean`) previously only supported lists, dictionaries, and numpy arrays. They have been expanded to support all iterables.
* `dist_max` and `dist_min` now support pipes (`>>`)
* `get_percentiles` now coerces output to integer if `digits` is less than or equal to 0, instead of just exactly 0.

0.21

* Mixture sampling is now 4-23x faster.
* You can now get the version of squigglepy via `sq.__version__`.
* Fixes a bug where the tqdm was displayed with the incorrect count when collecting cores during a multicore `sample`.

0.20

* Fixes how package dependencies are handled in `setup.py` an specifies Python >= 3.7 must be used. This should fix install errors.

0.19

Bugfixes

* Fixes a bug where `lclip` and/or `rclip` on `mixture` distribution were not working correctly.
* Fixes a bug where `dist_fn` did not work with `np.vectorize` functions.
* Fixes a bug where in-memory caching was invoked for `bayesnet` when not desired.

Caching and Multicore

* **[Breaking change]** `bayesnet` caching is now based on binary files instead of pickle files (uses `msgspec` as the underlying library).
* **[Breaking change]** `sample` caching is now based on numpy files instead of pickle files.
* A cache can now be loaded via `sample(load_cache=cachefile)` or `bayesnet(load_cache=cachefile)`, without needing to pass the distribution / function.
* `bayesnet` and `sample` now take an argument `cores` (default 1). If greater than 1, will run the calculations on multiple cores using the pathos package.

Other

* Functions that take `weights` now can instead take a parameter `relative_weights` where waits are automatically normalized to sum to 1 (instead of erroring, which is still the behavior if using `weights`).
* Verbose output for `bayesnet` and `sample` is now clearer (and slightly more verbose).

0.18

* **[Breaking change]** The default `t` for t-distributions has changed from 1 to 20.
* `sample` results can now be cached in-memory using `memcache=True`. They can also be cached to a file -- use `dump_cache_file` to write the file and `load_cache_file` to load from the file.
* _(Non-visible backend change)_ Weights that are set to 0 are now dropped entirely.

Page 2 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.