Ixia is a cryptographically secure RNG library. It mainly merges secrets
'
security with random
's versatility, but also adds 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).
Ixia is available on PyPI and can be installed with pip, or any other Python package manager:
$ pip install ixia
(Some systems may require you to use pip3
, python -m pip
, or py -m pip
instead.)
Ixia documentation is available at https://trag1c.github.io/ixia/.
Ixia is licensed under the MIT License.
While supporting Python 3.8+, Ixia is based on the Python 3.12 implementation
of the random
module. The following changes have been made to the module
since Python 3.8:
-
getrandbits
accepts 0 fork
-
choices
raises aValueError
if all weights are zero -
sample
has a newcounts
parameter -
gauss
andnormal_variate
have default parameter values
Additionally, Ixia executes 3.9+ deprecations, thus:
-
ixia.rand_range
doesn't convert non-integer types to equivalent integers -
ixia.sample
doesn't supportset
as a sequence type -
ixia.shuffle
doesn't support therandom
parameter