Skip to content

Commit 7dc7e0a

Browse files
authored
Lower minimum Python to 3.11; release 0.1.1 (#32)
* Lower minimum Python from 3.12 to 3.11 The codebase uses no 3.12-only language features (no PEP 695 generic syntax, no `type` aliases). Verified the full test suite (237 tests, 100% coverage) passes on Python 3.11.15. Updates the floor in pyproject.toml, .python-version, ruff target, ty environment, the setup-uv composite action default, and the CI matrix. The drift-enforcement tests in test_docs_consistency.py keep these in lockstep. uv.lock regenerated to add cp311 wheels and the tomli dependency that pytest-cov needs on 3.11. * Release 0.1.1
1 parent 07a346f commit 7dc7e0a

6 files changed

Lines changed: 105 additions & 12 deletions

File tree

.github/actions/setup-uv/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ inputs:
55
python-version:
66
description: Python version to install. Defaults to the project's floor.
77
required: false
8-
default: "3.12"
8+
default: "3.11"
99
enable-cache:
1010
description: Pass-through to astral-sh/setup-uv enable-cache.
1111
required: false

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
strategy:
3838
fail-fast: false
3939
matrix:
40-
python-version: ["3.12", "3.13", "3.14"]
40+
python-version: ["3.11", "3.12", "3.13", "3.14"]
4141
steps:
4242
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
4343
with:
@@ -47,7 +47,7 @@ jobs:
4747
python-version: ${{ matrix.python-version }}
4848
enable-cache: ${{ github.event_name == 'push' }}
4949
- run: uv sync
50-
- run: uv run pytest ${{ matrix.python-version != '3.12' && '--no-cov' || '' }}
50+
- run: uv run pytest ${{ matrix.python-version != '3.11' && '--no-cov' || '' }}
5151

5252
audit:
5353
runs-on: ubuntu-latest

.python-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.12
1+
3.11

CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66

77
## [Unreleased]
88

9+
## [0.1.1] - 2026-04-30
10+
11+
### Changed
12+
13+
- Lowered minimum supported Python version from 3.12 to 3.11. CI now tests Python 3.11 - 3.14.
14+
915
## [0.1.0] - 2026-04-29
1016

1117
### Added
@@ -23,5 +29,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
2329
- Typed `attrs` request and response models with `from_dict()` / `to_dict()` and an `Unset` sentinel that distinguishes "not provided" from `None`.
2430
- Python 3.12 - 3.14 support, `py.typed` marker, Apache-2.0 license.
2531

26-
[Unreleased]: https://github.com/ionq/ionq-core-python/compare/v0.1.0...HEAD
32+
[Unreleased]: https://github.com/ionq/ionq-core-python/compare/v0.1.1...HEAD
33+
[0.1.1]: https://github.com/ionq/ionq-core-python/compare/v0.1.0...v0.1.1
2734
[0.1.0]: https://github.com/ionq/ionq-core-python/releases/tag/v0.1.0

pyproject.toml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
[project]
22
name = "ionq-core"
3-
version = "0.1.0"
3+
version = "0.1.1"
44
description = "A client library for accessing IonQ Cloud Platform API"
55
license = "Apache-2.0"
66
license-files = ["LICENSE"]
77
readme = "README.md"
8-
requires-python = ">=3.12"
8+
requires-python = ">=3.11"
99
authors = [{name = "IonQ", email = "support@ionq.co"}]
1010
keywords = ["ionq", "quantum", "quantum-computing", "sdk", "api-client"]
1111
classifiers = [
@@ -14,6 +14,7 @@ classifiers = [
1414
"License :: OSI Approved :: Apache Software License",
1515
"Operating System :: OS Independent",
1616
"Programming Language :: Python :: 3",
17+
"Programming Language :: Python :: 3.11",
1718
"Programming Language :: Python :: 3.12",
1819
"Programming Language :: Python :: 3.13",
1920
"Programming Language :: Python :: 3.14",
@@ -53,7 +54,7 @@ build-backend = "hatchling.build"
5354
packages = ["ionq_core"]
5455

5556
[tool.ruff]
56-
target-version = "py312"
57+
target-version = "py311"
5758
line-length = 120
5859
extend-exclude = [
5960
"ionq_core/api",
@@ -76,7 +77,7 @@ known-first-party = ["ionq_core"]
7677
"tests/**" = ["RUF012"]
7778

7879
[tool.ty.environment]
79-
python-version = "3.12"
80+
python-version = "3.11"
8081

8182
[[tool.ty.overrides]]
8283
include = ["ionq_core/models/**", "ionq_core/api/**"]

0 commit comments

Comments
 (0)