Skip to content

Commit 84f2c46

Browse files
jeremyederclaude
andauthored
feat: Standardize on Python 3.12+ with forward compatibility for 3.13 (#132)
* feat: standardize on Python 3.12+ with forward compatibility for 3.13 Migrate project to require Python 3.12 as minimum version while maintaining forward compatibility with Python 3.13 through CI testing matrix. **Configuration Changes:** - pyproject.toml: Update requires-python to >=3.12, add 3.13 classifier - pyproject.toml: Update black target-version to py312 - pyproject.toml: Improve description to highlight assess/bootstrap/learning - pyproject.toml: Bump version to 2.1.0 (minor release) - .pre-commit-config.yaml: Update language_version to python3.12 - uv.lock: Regenerate with new Python requirement (55 packages) **CI/CD Workflows (5 files):** - tests.yml: Test matrix now covers ['3.12', '3.13'] for forward compatibility - agentready-assessment.yml: Use Python 3.12 - security.yml: Use Python 3.12 - continuous-learning.yml: Use Python 3.12 - publish-pypi.yml: Use Python 3.12 **Bootstrap Templates (5 files):** - workflows/tests-python.yml.j2: Generate workflows testing 3.12 and 3.13 - workflows/agentready-assessment.yml.j2: Use Python 3.12 - workflows/security.yml.j2: Use Python 3.12 - precommit-python.yaml.j2: Use Python 3.12 - CONTRIBUTING.md.j2: Update Python version references **Documentation (5 files):** - CLAUDE.md: Update "Python 3.11+" → "Python 3.12+" - docs/user-guide.md: Update version references - docs/developer-guide.md: Update version references - docs/examples.md: Update version references - docs/attributes.md: Update version references **Verification:** - ✅ Dependencies verified: radon 6.0.1 and lizard 1.17.10 work with Python 3.12 - ✅ Test suite: 685 tests passed - ✅ CLI functional: agentready --version works - ✅ Batch assessment: Successfully assessed 3 repositories **Rationale:** - Python 3.12 provides good balance of recent features and stability - Codebase already uses 3.10+ syntax (union types, generic annotations) - Testing both 3.12 and 3.13 ensures smooth future upgrades - No breaking changes to code required 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * chore: apply black/isort formatting from rebase Fix formatting issues that emerged after rebasing on main. Auto-formatters (black, isort, ruff --fix) applied to ensure CI passes. Changes: - Black reformatted 12 files - isort organized imports - ruff removed unused imports (align.py) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * chore: fix black formatting in test_security.py * chore: fix isort formatting * fix: resolve ruff lint errors to pass CI - Fix undefined 'repo' variable in align.py (use assessment.repository) - Add noqa comments for intentional jsonschema import checks - Fix unused variable warnings in test files All linters now pass: black, isort, and ruff. --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent ea02433 commit 84f2c46

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+634
-178
lines changed

.github/workflows/agentready-assessment.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
- name: Set up Python
2222
uses: actions/setup-python@v5
2323
with:
24-
python-version: '3.11'
24+
python-version: '3.12'
2525

2626
- name: Install AgentReady
2727
run: |

.github/workflows/continuous-learning.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
- name: Setup Python
3838
uses: actions/setup-python@v5
3939
with:
40-
python-version: '3.11'
40+
python-version: '3.12'
4141

4242
- name: Install uv
4343
uses: astral-sh/setup-uv@v3

.github/workflows/publish-pypi.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
- name: Set up Python
2828
uses: actions/setup-python@v5
2929
with:
30-
python-version: '3.11'
30+
python-version: '3.12'
3131

3232
- name: Install build dependencies
3333
run: |

.github/workflows/security.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
- name: Set up Python
4444
uses: actions/setup-python@v5
4545
with:
46-
python-version: '3.11'
46+
python-version: '3.12'
4747

4848
- name: Install dependencies
4949
run: |

.github/workflows/tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
runs-on: ubuntu-latest
1212
strategy:
1313
matrix:
14-
python-version: ['3.11', '3.12']
14+
python-version: ['3.12', '3.13']
1515

1616
steps:
1717
- name: Checkout code
@@ -45,7 +45,7 @@ jobs:
4545
4646
- name: Upload coverage to Codecov
4747
uses: codecov/codecov-action@v4
48-
if: matrix.python-version == '3.11'
48+
if: matrix.python-version == '3.12'
4949
with:
5050
files: ./coverage.xml
5151
fail_ci_if_error: false

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ repos:
1515
rev: 24.1.1
1616
hooks:
1717
- id: black
18-
language_version: python3.11
18+
language_version: python3.12
1919

2020
- repo: https://github.com/pycqa/isort
2121
rev: 5.13.2

.skills-proposals/discovered-skills.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"generated_at": "2025-11-24T09:11:46.886647",
2+
"generated_at": "2025-11-24T09:52:54.795626",
33
"skill_count": 0,
44
"min_confidence": 70,
55
"discovered_skills": []

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,7 @@ agentready/
428428

429429
## Technologies
430430

431-
- **Python 3.11+** (only N and N-1 versions supported)
431+
- **Python 3.12+** (only N and N-1 versions supported)
432432
- **Click** - CLI framework
433433
- **Jinja2** - HTML template engine
434434
- **Anthropic** - Claude API client (for LLM enrichment)

batch-repos.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
https://github.com/ambient-code/agentready
2+
https://github.com/ambient-code/platform
3+
https://github.com/ambient-code/spec-kit-rh

docs/attributes.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ CLAUDE.md files provide **immediate project context** without repeated explanati
111111

112112
```markdown
113113
# Tech Stack
114-
- Python 3.11+, pytest, black + isort
114+
- Python 3.12+, pytest, black + isort
115115
- FastAPI, PostgreSQL, Redis
116116

117117
# Standard Commands
@@ -233,7 +233,7 @@ print(result)
233233

234234
## Requirements
235235

236-
- Python 3.11+
236+
- Python 3.12+
237237
- PostgreSQL 14+
238238
- Redis 7+ (optional, for caching)
239239

@@ -943,7 +943,7 @@ Clear documentation of prerequisites, environment variables, and configuration r
943943

944944
**Must document**:
945945

946-
- Language/runtime version (Python 3.11+, Node.js 18+)
946+
- Language/runtime version (Python 3.12+, Node.js 18+)
947947
- System dependencies (PostgreSQL, Redis, etc.)
948948
- Environment variables (`.env.example` with all variables)
949949
- Optional: IDE setup, debugging config

0 commit comments

Comments
 (0)