diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0caa061..f90c127 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,11 +20,9 @@ jobs: fail-fast: false # https://blog.jaraco.com/efficient-use-of-ci-resources/ matrix: - python: ["3.8", "3.12"] + python: ["3.9", "3.12"] platform: ["ubuntu", "macos", "windows"] include: - - python: "3.9" - platform: "ubuntu" - python: "3.10" platform: "ubuntu" - python: "3.11" diff --git a/README.md b/README.md index cf4a146..26a312a 100644 --- a/README.md +++ b/README.md @@ -17,13 +17,11 @@ $ pip install ixia Ixia documentation is available at https://trag1c.github.io/ixia/. ## ⚠️ Important Notes -While supporting Python 3.8+, Ixia is based on the Python 3.12 implementation +While supporting Python 3.9+, 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 for `k` -- `choices` raises a `ValueError` if all weights are zero -- `sample` has a new `counts` parameter -- `gauss` and `normal_variate` have default parameter values +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 diff --git a/docs/index.md b/docs/index.md index ae5a917..fcb7cfb 100644 --- a/docs/index.md +++ b/docs/index.md @@ -7,13 +7,10 @@ functions, such as [`ixia.passphrase()`](strings_and_bytes.md#ixiapassphrase), values are generated using `urandom` (or `BCryptGenRandom` on Windows). ## ⚠️ Important Notes -While supporting Python 3.8+, Ixia is based on the Python 3.12 implementation +While supporting Python 3.9+, 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: +since Python 3.9: -- `getrandbits` accepts 0 for `k` -- `choices` raises a `ValueError` if all weights are zero -- `sample` has a new `counts` parameter - `gauss`, `expovariate` and `normalvariate` have default parameter values - `binomialvariate` was added diff --git a/ixia/date_time.py b/ixia/date_time.py index 35247c4..1880483 100644 --- a/ixia/date_time.py +++ b/ixia/date_time.py @@ -1,17 +1,17 @@ from __future__ import annotations import datetime as dt -from typing import Tuple, Union +from typing import Union from .integers import rand_below, rand_int -Datelike = Union[str, int, Tuple[int, int, int], dt.date, dt.datetime] +Datelike = Union[str, int, tuple[int, int, int], dt.date, dt.datetime] Timelike = Union[ str, int, - Tuple[int, int], - Tuple[int, int, int], - Tuple[int, int, int, int], + tuple[int, int], + tuple[int, int, int], + tuple[int, int, int, int], dt.time, dt.datetime, ] diff --git a/poetry.lock b/poetry.lock index f2ceb87..063d0a0 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. [[package]] name = "attrs" @@ -1089,5 +1089,5 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" -python-versions = "^3.8" -content-hash = "94283bc79075a7f4dd8894c21b3eb5b4a97631139579c71af9f379abf9252960" +python-versions = "^3.9" +content-hash = "34525f7861abf3b7db10ae4986179927cae085243d47a60e3a044e824a8d70ff" diff --git a/pyproject.toml b/pyproject.toml index 0414841..125235b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ repository = "https://github.com/trag1c/ixia" readme = "README.md" [tool.poetry.dependencies] -python = "^3.8" +python = "^3.9" [tool.poetry.group.dev.dependencies] mypy = "^1.5.0"