From 45592a4f69bdf97bb51be960d549634bbc01b84c Mon Sep 17 00:00:00 2001 From: Jeremy Kubica <104161096+jeremykubica@users.noreply.github.com> Date: Mon, 12 Oct 2026 13:35:05 -0400 Subject: [PATCH 1/3] Change precomit versions to use SHA tags --- .pre-commit-config.yaml | 12 +++++------ .../.pre-commit-config.yaml.jinja | 20 +++++++++---------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index efc573d..ac6fbbb 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -4,7 +4,7 @@ repos: # This hook should always pass. It will print a message if the local version # is out of date. - repo: https://github.com/lincc-frameworks/pre-commit-hooks - rev: v0.2.2 + rev: 439dda8bd784f4aa721851ecec03877df286f6b5 hooks: - id: check-lincc-frameworks-template-version name: Check template version @@ -23,7 +23,7 @@ repos: entry: jupyter nbconvert --clear-output # Prevents committing directly branches named 'main' and 'master'. - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v6.0.0 + rev: 3e8a8703264a2f4a69428a0aa4dcb512790b2c8c hooks: - id: no-commit-to-branch name: Prevent main branch commits @@ -34,20 +34,20 @@ repos: args: ['--maxkb=500'] # Verify that pyproject.toml is well formed - repo: https://github.com/abravalheri/validate-pyproject - rev: v0.24.1 + rev: 17e12779811926f000bdfa1795f9e3735dd71ac3 hooks: - id: validate-pyproject name: Validate pyproject.toml description: Verify that pyproject.toml adheres to the established schema. # Verify that GitHub workflows are well formed - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.36.1 + rev: 0494aa7fa1314e98913a41227d8f0a515b2c1049 hooks: - id: check-github-workflows args: ["--verbose"] # Automatically sort the imports used in .py files - repo: https://github.com/pycqa/isort - rev: 7.0.0 + rev: 9f905615631c545f5aea2516508109350d1d2f7d hooks: - id: isort name: Run isort @@ -70,7 +70,7 @@ repos: ] # Analyze the code style and report code that doesn't adhere. - repo: https://github.com/psf/black - rev: 26.1.0 + rev: 258e7dbf348bc23cb70b8cdf693481c04634ebcc hooks: - id: black-jupyter name: Format code using black diff --git a/python-project-template/.pre-commit-config.yaml.jinja b/python-project-template/.pre-commit-config.yaml.jinja index 4be5d0a..3a36494 100644 --- a/python-project-template/.pre-commit-config.yaml.jinja +++ b/python-project-template/.pre-commit-config.yaml.jinja @@ -4,7 +4,7 @@ repos: # This hook should always pass. It will print a message if the local version # is out of date. - repo: https://github.com/lincc-frameworks/pre-commit-hooks - rev: v0.2.2 + rev: 439dda8bd784f4aa721851ecec03877df286f6b5 hooks: - id: check-lincc-frameworks-template-version name: Check template version @@ -23,7 +23,7 @@ repos: entry: jupyter nbconvert --clear-output # Prevents committing directly branches named 'main' and 'master'. - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.4.0 + rev: 3e8a8703264a2f4a69428a0aa4dcb512790b2c8c hooks: - id: no-commit-to-branch name: Prevent main branch commits @@ -34,21 +34,21 @@ repos: args: ['--maxkb=500'] # Verify that pyproject.toml is well formed - repo: https://github.com/abravalheri/validate-pyproject - rev: v0.24.1 + rev: 17e12779811926f000bdfa1795f9e3735dd71ac3 hooks: - id: validate-pyproject name: Validate pyproject.toml description: Verify that pyproject.toml adheres to the established schema. # Verify that GitHub workflows are well formed - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.28.0 + rev: 0494aa7fa1314e98913a41227d8f0a515b2c1049 hooks: - id: check-github-workflows args: ["--verbose"] {%- if 'isort' in enforce_style %} # Automatically sort the imports used in .py files - repo: https://github.com/pycqa/isort - rev: 5.12.0 + rev: 9f905615631c545f5aea2516508109350d1d2f7d hooks: - id: isort name: Run isort @@ -90,7 +90,7 @@ repos: {%- if 'black' in enforce_style %} # Analyze the code style and report code that doesn't adhere. - repo: https://github.com/psf/black - rev: 23.7.0 + rev: 258e7dbf348bc23cb70b8cdf693481c04634ebcc hooks: - id: black-jupyter name: Format code using black @@ -104,7 +104,7 @@ repos: {%- if 'ruff_lint' in enforce_style %} - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. - rev: v0.2.1 + rev: 44b5042edab9382aba712eed4f9c7bab7a3d6a3e hooks: - id: ruff name: Lint code using ruff; sort and organize imports @@ -114,7 +114,7 @@ repos: {%- if 'ruff_format' in enforce_style %} - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. - rev: v0.2.1 + rev: 44b5042edab9382aba712eed4f9c7bab7a3d6a3e hooks: - id: ruff-format name: Format code using ruff @@ -123,7 +123,7 @@ repos: {%- if mypy_type_checking != 'none' %} # Analyze type hints and report errors. - repo: https://github.com/pre-commit/mirrors-mypy - rev: v1.19.0 + rev: 2834ec6639549dd6796205c8f011dedcd587288b hooks: - id: mypy name: mypy (python files in src/ and tests/) @@ -142,7 +142,7 @@ repos: {%- endif %} {%- if include_docs and include_notebooks %} - repo: https://github.com/lincc-frameworks/pre-commit-hooks - rev: v0.2.2 + rev: 439dda8bd784f4aa721851ecec03877df286f6b5 hooks: - id: pre-executed-nb-never-execute name: Check pre-executed notebooks From 8d2203a62a05b148805b2a73ca3c2ec6f5856967 Mon Sep 17 00:00:00 2001 From: Jeremy Kubica <104161096+jeremykubica@users.noreply.github.com> Date: Mon, 12 Oct 2026 13:54:35 -0400 Subject: [PATCH 2/3] Drop 3.9 and add 3.15 --- .copier-answers.yml | 2 +- .github/workflows/testing-and-coverage.yml | 2 +- copier.yml | 4 ++-- docs/source/template_options.rst | 6 +++--- tests/conftest.py | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.copier-answers.yml b/.copier-answers.yml index 4ef4732..578e444 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -21,10 +21,10 @@ project_license: BSD project_name: python-project-template project_organization: lincc-frameworks python_versions: -- '3.9' - '3.10' - '3.11' - '3.12' - '3.13' - '3.14' +- '3.15' test_lowest_version: none diff --git a/.github/workflows/testing-and-coverage.yml b/.github/workflows/testing-and-coverage.yml index 97d1684..6b3955e 100644 --- a/.github/workflows/testing-and-coverage.yml +++ b/.github/workflows/testing-and-coverage.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14'] + python-version: ['3.10', '3.11', '3.12', '3.13', '3.14', '3.15'] steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 diff --git a/copier.yml b/copier.yml index c392b47..f5215be 100644 --- a/copier.yml +++ b/copier.yml @@ -87,12 +87,12 @@ python_versions: type: str multiselect: true choices: - "3.9 (end-of-life)": "3.9" - "3.10": "3.10" + "3.10 (end-of-life)": "3.10" "3.11": "3.11" "3.12": "3.12" "3.13": "3.13" "3.14": "3.14" + "3.15": "3.15" enforce_style: help: What tooling set would you like to use to enforce code style? Use SPACE to highlight all that apply. diff --git a/docs/source/template_options.rst b/docs/source/template_options.rst index a0398fd..ba24b42 100644 --- a/docs/source/template_options.rst +++ b/docs/source/template_options.rst @@ -128,9 +128,9 @@ The license type you want to use for this project. +------------+----------------------------------------------------+ | Question | What versions of Python will your project support? | +------------+----------------------------------------------------+ - | Options | 3.9 (end-of-life), **✱ 3.10**, | - | | **✱ 3.11**, **✱ 3.12**, | - | | **✱ 3.13**, 3.14 | + | Options | 3.10 (end-of-life), **✱ 3.11**, | + | | **✱ 3.12**, **✱ 3.13**, | + | | 3.14, 3.15 | +------------+----------------------------------------------------+ Select all versions of python that you are targeting for execution. diff --git a/tests/conftest.py b/tests/conftest.py index 2875eaf..45da20a 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -2,7 +2,7 @@ import pytest -PYTHON_VERSIONS = ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] +PYTHON_VERSIONS = ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] def pytest_addoption(parser): From 1b9e28b99cbbdc9e3826ba09449b2ec5b281e11c Mon Sep 17 00:00:00 2001 From: Jeremy Kubica <104161096+jeremykubica@users.noreply.github.com> Date: Mon, 12 Oct 2026 13:54:47 -0400 Subject: [PATCH 3/3] Update smoke-test.yml --- .github/workflows/smoke-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/smoke-test.yml b/.github/workflows/smoke-test.yml index 66b67ed..f39b48a 100644 --- a/.github/workflows/smoke-test.yml +++ b/.github/workflows/smoke-test.yml @@ -23,7 +23,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14'] + python-version: ['3.10', '3.11', '3.12', '3.13', '3.14', '3.15'] steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1