Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ jobs:
matrix:
include:
# Linux x86_64 — full Python coverage
- os: ubuntu-latest
python-version: "3.9"
- os: ubuntu-latest
python-version: "3.10"
- os: ubuntu-latest
Expand All @@ -56,17 +58,17 @@ jobs:
python-version: "3.13"
# Linux arm64 — boundary versions
- os: ubuntu-24.04-arm
python-version: "3.10"
python-version: "3.9"
- os: ubuntu-24.04-arm
python-version: "3.13"
# macOS arm64 — boundary versions
- os: macos-latest
python-version: "3.10"
python-version: "3.9"
- os: macos-latest
python-version: "3.13"
# Windows x86_64 — boundary versions
- os: windows-latest
python-version: "3.10"
python-version: "3.9"
- os: windows-latest
python-version: "3.13"
runs-on: ${{ matrix.os }}
Expand Down
10 changes: 6 additions & 4 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ permissions:
env:
# Strip leading 'v' if present (v0.2.0 → 0.2.0)
RAW_VERSION: ${{ github.event.release.tag_name }}
PYTHON_VERSIONS: "3.10 3.11 3.12 3.13"
PYTHON_VERSIONS: "3.9 3.10 3.11 3.12 3.13"

jobs:
build-linux:
Expand All @@ -31,7 +31,7 @@ jobs:
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist -i python3.10 python3.11 python3.12 python3.13
args: --release --out dist -i python3.9 python3.10 python3.11 python3.12 python3.13
manylinux: auto
- uses: actions/upload-artifact@v4
with:
Expand All @@ -48,6 +48,7 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: |
3.9
3.10
3.11
3.12
Expand All @@ -60,7 +61,7 @@ jobs:
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist -i python3.10 python3.11 python3.12 python3.13
args: --release --out dist -i python3.9 python3.10 python3.11 python3.12 python3.13
- uses: actions/upload-artifact@v4
with:
name: wheels-macos-${{ matrix.target }}
Expand All @@ -73,6 +74,7 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: |
3.9
3.10
3.11
3.12
Expand All @@ -86,7 +88,7 @@ jobs:
uses: PyO3/maturin-action@v1
with:
target: x86_64
args: --release --out dist -i python3.10 python3.11 python3.12 python3.13
args: --release --out dist -i python3.9 python3.10 python3.11 python3.12 python3.13
- uses: actions/upload-artifact@v4
with:
name: wheels-windows-x86_64
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Optional: specify Python version, e.g. make build PYTHON=3.14
PYTHON ?=
UV_PYTHON := $(if $(PYTHON),--python $(PYTHON),)
SUPPORTED_PYTHONS ?= 3.10 3.11 3.12 3.13 3.14
SUPPORTED_PYTHONS ?= 3.9 3.10 3.11 3.12 3.13 3.14

help: ## Show this help
@awk 'BEGIN {FS = ":.*##"} /^[a-zA-Z_-]+:.*##/ {printf " \033[36m%-15s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
Expand Down
9 changes: 5 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,14 @@ dynamic = ["version"]
description = "Thread-safe Python caching decorator backed by a Rust extension"
readme = "README.md"
license = "MIT"
requires-python = ">=3.10"
requires-python = ">=3.9"
keywords = ["cache", "lru", "ttl", "thread-safe", "rust"]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
Expand All @@ -33,7 +34,7 @@ dev = [
"cachetools>=6.2.6",
"cachebox>=4.0",
"moka-py>=0.3",
"zoocache>=0.1",
"zoocache>=0.1; python_version >= '3.10'",
"ty>=0.0.17",
]

Expand All @@ -45,7 +46,7 @@ features = ["pyo3/extension-module"]
module-name = "warp_cache._warp_cache_rs"

[tool.ruff]
target-version = "py310"
target-version = "py39"
line-length = 100

[tool.ruff.lint]
Expand All @@ -59,7 +60,7 @@ select = ["E", "F", "W", "I", "UP", "B", "SIM"]
include = ["warp_cache"]

[tool.ty.environment]
python-version = "3.10"
python-version = "3.9"

[tool.pytest.ini_options]
testpaths = ["tests"]
Loading