Ixia
Ixia is a cryptographically secure Python RNG library. It mainly merges
secrets
' security with random
's versatility, but also rolls some of its own
functions, such as ixia.passphrase()
,
ixia.shuffled()
or
ixia.universe_rand()
. All random
values are generated using urandom
(or BCryptGenRandom
on Windows).
Installation
Ixia is available on PyPI and can be installed with pip, or any other Python package manager:
(Some systems may require you to usepip3
, python -m pip
, or py -m pip
instead.)
Warning
While supporting Python 3.9+, Ixia is based on the Python 3.13
implementation of the random
module. The following changes have been made
to the module since Python 3.9:
gauss
,expovariate
andnormalvariate
have default parameter valuesbinomialvariate
was added
Additionally, Ixia executes 3.9+ deprecations, thus:
ixia.rand_range
doesn't convert non-integer types to equivalent integersixia.sample
doesn't supportset
as a sequence typeixia.shuffle
doesn't support therandom
parameter
Contributing
Contributions are welcome!
Please open an issue before submitting a pull request (doesn't apply to minor changes like typos).
To get started:
- Clone your fork of the project.
- Install the project with uv:
- After you're done, use the following
just
recipes to check your changes (or run the commands manually):
Credits
- The original
random
module documentation & implementation: Python Software Foundation universe_rand
implementation: qexat