Connecting secrets' security with random's versatility
Project description
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 onWindows).
Installation
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.)
Documentation
Ixia documentation is available at https://trag1c.github.io/ixia/.
[!warning] While supporting Python 3.9+, Ixia is based on the Python 3.13 implementation of the
randommodule. The following changes have been made to the module since Python 3.9:
gauss,expovariateandnormalvariatehave default parameter valuesbinomialvariatewas addedAdditionally, Ixia executes 3.9+ deprecations, thus:
ixia.rand_rangedoesn't convert non-integer types to equivalent integersixia.sampledoesn't supportsetas a sequence typeixia.shuffledoesn't support therandomparameter
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:
uv sync
- After you're done, use the following
justrecipes to check your changes (or run the commands manually):
just check # pytest, mypy, ruff
just coverage # pytest (with coverage), interrogate (docstring coverage)
License
ixia is licensed under the MIT License.
© trag1c, 2022–2025
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ixia-2.0.0.tar.gz.
File metadata
- Download URL: ixia-2.0.0.tar.gz
- Upload date:
- Size: 78.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89d6372287150b7355ab867b30ed72e2f90bd478990bccf4904230a4fbac1ce2
|
|
| MD5 |
70fef8d89c9914d0222971f83f23e890
|
|
| BLAKE2b-256 |
4d3b420b3425b2f71e6dce6e5c16936e289e37395bb7d628dbea9b978c32f7f5
|
File details
Details for the file ixia-2.0.0-py3-none-any.whl.
File metadata
- Download URL: ixia-2.0.0-py3-none-any.whl
- Upload date:
- Size: 14.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13f3bb9dc9a0de5c1004297839aa78c699505a2962e991a04dfb9627473f9ca0
|
|
| MD5 |
ffc8d836478958110322dabf6a51f81b
|
|
| BLAKE2b-256 |
f636b90848f74aa7852d51d810521366501d7c2e23eef2aee7e5c1ad8b1edadc
|