From a8fd08b59f1846fb64f1cf8ea3fc39b9d5eaa7f3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Corn=C3=A9=20Lukken?= <lukken@astron.nl>
Date: Wed, 22 Jan 2025 13:13:47 +0000
Subject: [PATCH] Update cookiecutter.json

---
 cookiecutter.json                                    |  2 +-
 {{cookiecutter.project_slug}}/.gitlab-ci.yml         |  6 ++++--
 .../docker/ci-runner/Dockerfile                      |  2 +-
 {{cookiecutter.project_slug}}/docs/source/conf.py    |  2 +-
 {{cookiecutter.project_slug}}/pyproject.toml         |  9 +++++----
 .../src/{{cookiecutter.project_slug}}/__init__.py    |  7 -------
 {{cookiecutter.project_slug}}/tox.ini                | 12 ++++++------
 7 files changed, 18 insertions(+), 22 deletions(-)

diff --git a/cookiecutter.json b/cookiecutter.json
index 4536dba..1f29d35 100644
--- a/cookiecutter.json
+++ b/cookiecutter.json
@@ -1,6 +1,6 @@
 {
     "project_name": "My Awesome App",
     "project_slug": "{{ cookiecutter.project_name.lower()|replace(' ', '_')|replace('-', '_')|replace('.', '_')|trim() }}",
-    "project_url": "git.astron.nl/{{cookiecutter.project_slug}}",
+    "project_url": "https://git.astron.nl/{{cookiecutter.project_slug}}",
     "description": "An example package for CI/CD working group"
 }
diff --git a/{{cookiecutter.project_slug}}/.gitlab-ci.yml b/{{cookiecutter.project_slug}}/.gitlab-ci.yml
index 85f5458..4294826 100644
--- a/{{cookiecutter.project_slug}}/.gitlab-ci.yml
+++ b/{{cookiecutter.project_slug}}/.gitlab-ci.yml
@@ -1,5 +1,7 @@
 default:
-  image: $CI_REGISTRY_IMAGE/ci-build-runner:$CI_COMMIT_REF_SLUG
+  image:
+    name: $CI_REGISTRY_IMAGE/ci-build-runner:$CI_COMMIT_REF_SLUG
+    pull_policy: always
   before_script:
     - python --version # For debugging
   cache:
@@ -83,7 +85,7 @@ run_unit_tests:
     - tox -e py3${PY_VERSION}
   parallel:
     matrix: # use the matrix for testing
-      - PY_VERSION: [8, 9, 10, 11]
+      - PY_VERSION: [9, 10, 11, 12]
 
 # Run code coverage on the base image thus also performing unit tests
 run_unit_tests_coverage:
diff --git a/{{cookiecutter.project_slug}}/docker/ci-runner/Dockerfile b/{{cookiecutter.project_slug}}/docker/ci-runner/Dockerfile
index e9aa9c7..48d4586 100644
--- a/{{cookiecutter.project_slug}}/docker/ci-runner/Dockerfile
+++ b/{{cookiecutter.project_slug}}/docker/ci-runner/Dockerfile
@@ -1,4 +1,4 @@
-FROM python:3.11
+FROM python:3.13
 
 RUN python -m pip install --upgrade pip
 RUN pip install --upgrade tox twine cibuildwheel==2.13.1
diff --git a/{{cookiecutter.project_slug}}/docs/source/conf.py b/{{cookiecutter.project_slug}}/docs/source/conf.py
index 4f02a28..ed6c44c 100644
--- a/{{cookiecutter.project_slug}}/docs/source/conf.py
+++ b/{{cookiecutter.project_slug}}/docs/source/conf.py
@@ -3,7 +3,7 @@
 
 import os
 
-from {{cookiecutter.project_slug}} import __version__
+from {{cookiecutter.project_slug}}._version import __version__
 
 # -- General configuration ----------------------------------------------------
 
diff --git a/{{cookiecutter.project_slug}}/pyproject.toml b/{{cookiecutter.project_slug}}/pyproject.toml
index 66c1c90..db601f1 100644
--- a/{{cookiecutter.project_slug}}/pyproject.toml
+++ b/{{cookiecutter.project_slug}}/pyproject.toml
@@ -11,16 +11,17 @@ name = "{{cookiecutter.project_slug}}"
 dynamic = ["version"]
 description="{{cookiecutter.description}}"
 readme = "README.md"
-requires-python = ">=3.8"
+requires-python = ">=3.9"
 classifiers = [
   "Development Status :: 4 - Beta",
-  "License :: OSI Approved :: MIT License",
+  "License :: OSI Approved :: Apache Software License",
+  "Operating System :: OS Independent",
   "Programming Language :: Python :: 3 :: Only",
-  "Programming Language :: Python :: 3.8",
   "Programming Language :: Python :: 3.9",
   "Programming Language :: Python :: 3.10",
   "Programming Language :: Python :: 3.11",
-  "Programming Language :: Python :: 3.12"
+  "Programming Language :: Python :: 3.12",
+  "Programming Language :: Python :: 3.13",
 ]
 
 [tool.scikit-build]
diff --git a/{{cookiecutter.project_slug}}/src/{{cookiecutter.project_slug}}/__init__.py b/{{cookiecutter.project_slug}}/src/{{cookiecutter.project_slug}}/__init__.py
index 35d0142..464c635 100644
--- a/{{cookiecutter.project_slug}}/src/{{cookiecutter.project_slug}}/__init__.py
+++ b/{{cookiecutter.project_slug}}/src/{{cookiecutter.project_slug}}/__init__.py
@@ -1,8 +1 @@
 """ {{cookiecutter.project_name}} """
-
-try:
-    from importlib import metadata
-except ImportError:  # for Python<3.8
-    import importlib_metadata as metadata
-
-__version__ = metadata.version("{{cookiecutter.project_slug}}")
diff --git a/{{cookiecutter.project_slug}}/tox.ini b/{{cookiecutter.project_slug}}/tox.ini
index 4bc2329..37d15ba 100644
--- a/{{cookiecutter.project_slug}}/tox.ini
+++ b/{{cookiecutter.project_slug}}/tox.ini
@@ -1,15 +1,15 @@
 [tox]
 # Generative environment list to test all supported Python versions
-envlist = py3{8,9,10,11,12},black,pep8,pylint
-minversion = 3.18.0
+envlist = py3{9,10,11,12,13},black,pep8,pylint
+min_version = 4.3.3
+requires =
+    tox-ignore-env-name-mismatch >= 0.2.0
 
 [testenv]
 package = sdist  # 'Source' package required for binary extension
 use_develop = False  # use_develop implies 'editable' package, not possible
 
 setenv =
-    LANGUAGE=en_US
-    LC_ALL=en_US.UTF-8
     PYTHONWARNINGS=default::DeprecationWarning
     DYNAMIC_VERSION_SOURCE={toxinidir}
 deps =
@@ -17,12 +17,12 @@ deps =
     -r{toxinidir}/tests/requirements.txt
 commands =
     {envpython} --version
-    {envpython} -m pytest
+    {envpython} -m pytest tests/{posargs}
 
 [testenv:coverage]
 commands =
     {envpython} --version
-    {envpython} -m pytest --cov-report term --cov-report xml --cov-report html --cov={{cookiecutter.project_slug}}
+    {envpython} -m pytest --cov-report term --cov-report xml --cov-report html --cov={{cookiecutter.project_slug}} tests/{posargs}
 
 # Use generative name and command prefixes to reuse the same virtualenv
 # for all linting jobs.
-- 
GitLab