Skip to main content

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 random module. The following changes have been made to the module since Python 3.9:

  • gauss, expovariate and normalvariate have default parameter values
  • binomialvariate was added

Additionally, Ixia executes 3.9+ deprecations, thus:

  • ixia.rand_range doesn't convert non-integer types to equivalent integers
  • ixia.sample doesn't support set as a sequence type
  • ixia.shuffle doesn't support the random 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:

  1. Clone your fork of the project.
  2. Install the project with uv:
uv sync
  1. After you're done, use the following just recipes 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

ixia-2.0.0.tar.gz (78.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ixia-2.0.0-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

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

Hashes for ixia-2.0.0.tar.gz
Algorithm Hash digest
SHA256 89d6372287150b7355ab867b30ed72e2f90bd478990bccf4904230a4fbac1ce2
MD5 70fef8d89c9914d0222971f83f23e890
BLAKE2b-256 4d3b420b3425b2f71e6dce6e5c16936e289e37395bb7d628dbea9b978c32f7f5

See more details on using hashes here.

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

Hashes for ixia-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 13f3bb9dc9a0de5c1004297839aa78c699505a2962e991a04dfb9627473f9ca0
MD5 ffc8d836478958110322dabf6a51f81b
BLAKE2b-256 f636b90848f74aa7852d51d810521366501d7c2e23eef2aee7e5c1ad8b1edadc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page