Skip to content

Drop Python 3.9 (and older); require Python >= 3.12 - #11

Merged
nijave merged 8 commits into
mainfrom
chore/drop-python-3.9
Sep 19, 2026
Merged

nijave merged 8 commits into
mainfrom
chore/drop-python-3.9

Conversation

@nijave

@nijave nijave commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Removes Python 3.9 (and older) support completely, setting the floor to Python 3.12 per decision.

Stacked on #7 (chore/uv-finalize-packaging) so the Dockerfile/CI edits don't conflict with the packaging PR. GitHub will retarget this to main once #7 merges.

Changes

  • pyproject.tomlrequires-python = ">=3.12" (was >=3.8); classifiers reduced to only Programming Language :: Python :: 3.12 (plus the generic 3 / 3 :: Only).
  • .github/workflows/pylint.yml — CI matrix is now just ["3.12"] (was ["3.9", "3.12"]).
  • .github/workflows/pypi.yml — publish workflow builds on Python 3.12 (was 3.9).
  • Dockerfile — base image python:3.12-alpine (was python:3.9-alpine).
  • uv.lock — regenerated for requires-python >=3.12 (drops version-gated entries that only existed for older Pythons, e.g. tomli, zipp).

Behavior changes

  • The package now declares it requires Python >= 3.12 and will not install on 3.8–3.11.
  • Published wheels/sdist and the Docker image now target 3.12 only.

No source/runtime logic changed — this is packaging/CI/metadata only.

@nijave
nijave force-pushed the chore/uv-finalize-packaging branch from dd66d8f to 1c14c22 Compare September 18, 2026 23:49
nijave and others added 3 commits September 18, 2026 19:49
This commit is adding support for the AWS European Sovereign Cloud
partition (aws-eusc). Currently single region eusc-de-east-1 is
available only.
@nijave
nijave force-pushed the chore/drop-python-3.9 branch from 736667b to afceefa Compare September 18, 2026 23:49
kvinck and others added 4 commits September 18, 2026 19:49
Every successful auth is copied into [default] unless the target profile
is literally named "default", with no way to decline. That makes an
unqualified aws command run as whatever role was last assumed, which is
the wrong default when the role is an administrative one. Keep the
copy as the default behavior and add --no-default-profile to skip it.
With several Okta Verify registrations on one account the factor list is
a column of identical "Okta Verify - Push" entries, and the push prompt
gives no clue which device is about to buzz. Append whatever the factor
profile knows about the device, falling back to the credential id.
Port kvinck patches: --no-default-profile flag and MFA device names
Base automatically changed from chore/uv-finalize-packaging to fix/unbound-session-token September 19, 2026 01:43
Add support for aws-eusc and aws-cn partitions
Base automatically changed from fix/unbound-session-token to main September 19, 2026 01:43
@nijave
nijave merged commit 233a71d into main Sep 19, 2026
2 checks passed
@nijave
nijave deleted the chore/drop-python-3.9 branch September 19, 2026 01:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants