Nondeterminism

Latest version: v3.1.1

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

Scan your dependencies

3.1.1

What’s new

Updated the news section of the README.

3.1.0

What’s new

This minor version adds one interface change: you can now write `guess(mode=maximize)` (resp., `guess(mode=minimize)`) as a prettier synonym for `guess(mode=maximize())` (resp., `guess(mode=minimize())`, that is, for optimising over the values themselves (`key=lambda x: x`). See the [updated documentation](https://github.com/aeporreca/nondeterminism#optimisation) for an example.

Besides, the code was simplified (there was actually no need for a stack of interprocess queues, when you can just exploit the call stack!) and reorganised.

3.0.0

- Installation via `pip` (`pip install nondeterminism`)
- A useful error message when calling `guess` outside a nondeterministic context
- New types of nondeterminism:
- Conondeterminism (universal/conjunctive guesses)
- Alternation
- Counting
- Majority
- Optimisation, both min and max
- Custom types of nondeterminism via the `mode` parameter to `guess`

2.0.1

This patch release includes some cosmetic changes to the source code that are completely invisible to the user.

2.0

Incompatible (but IMHO) worthy changes to the interface

1.0

First stable version

Links

Releases

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.