Repository: brainglobe/brainglobe-template-builder (language: python)

Issue:
[pre-commit.ci] pre-commit autoupdate
<!--pre-commit.ci start-->
updates:
- [github.com/astral-sh/ruff-pre-commit: v0.5.0 → v0.5.6](https://github.com/astral-sh/ruff-pre-commit/compare/v0.5.0...v0.5.6)
- [github.com/psf/black: 24.4.2 → 24.8.0](https://github.com/psf/black/compare/24.4.2...24.8.0)
- [github.com/pre-commit/mirrors-mypy: v1.10.1 → v1.11.1](https://github.com/pre-commit/mirrors-mypy/compare/v1.10.1...v1.11.1)
<!--pre-commit.ci end-->


Discussion / hints:

Fix patch:
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 455fb00..9f673d0 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -4,7 +4,7 @@ ci:
     autoupdate_schedule: monthly
 repos:
     - repo: https://github.com/pre-commit/pre-commit-hooks
-      rev: v4.4.0
+      rev: v4.6.0
       hooks:
           - id: check-docstring-first
           - id: check-executables-have-shebangs
@@ -15,16 +15,16 @@ repos:
             args: [--fix=lf]
           - id: requirements-txt-fixer
           - id: trailing-whitespace
-    - repo: https://github.com/charliermarsh/ruff-pre-commit
-      rev: v0.0.292
+    - repo: https://github.com/astral-sh/ruff-pre-commit
+      rev: v0.5.6
       hooks:
         - id: ruff
     - repo: https://github.com/psf/black
-      rev: 23.9.1
+      rev: 24.8.0
       hooks:
           - id: black
     - repo: https://github.com/pre-commit/mirrors-mypy
-      rev: v1.5.1
+      rev: v1.11.1
       hooks:
           - id: mypy
             additional_dependencies:
diff --git a/README.md b/README.md
index 681f2b4..3e47bee 100644
--- a/README.md
+++ b/README.md
@@ -24,7 +24,7 @@ Build unbiased anatomical templates from individual images
 `brainglobe-template-builder` aims to:
 - Offer an intuitive Python interface to the [optimised ANTs template construction pipeline](#template-construction-with-ants).
 - Support 3D volumetric microscopy images, such as STPT and LSM.
-- Generate templates compatible with the [BrainGlobe ecosystem](https://brainglobe.info/), especially the [BrainGlobe Atlas API](https://brainglobe.info/documentation/bg-atlasapi/index.html).
+- Generate templates compatible with the [BrainGlobe ecosystem](https://brainglobe.info/), especially the [BrainGlobe Atlas API](https://brainglobe.info/documentation/brainglobe-atlasapi/index.html).
 
 > **Warning**
 > - Early development phase. Stay tuned
@@ -83,6 +83,9 @@ ANTs includes a template construction piepline - implemented in the [antsMultiva
 
 An [optimsed implementation of the above pipeline](https://github.com/CoBrALab/optimized_antsMultivariateTemplateConstruction/tree/master), developed by the [CoBra lab](https://www.cobralab.ca/), lies at the core of the `brainglobe-template-builder`'s functionality.
 
+## Seeking help or contributing
+We are always happy to help users of our tools, and welcome any contributions. If you would like to get in contact with us for any reason, please see the [contact page of our website](https://brainglobe.info/contact.html).
+
 ## License
 ⚖️ [BSD 3-Clause](https://opensource.org/license/bsd-3-clause/)
 
diff --git a/pyproject.toml b/pyproject.toml
index cc8a916..2770f2c 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -3,7 +3,7 @@ name = "brainglobe-template-builder"
 authors = [{name = "Niko Sirmpilatze", email= "niko.sirbiladze@gmail.com"}]
 description = "Build unbiased anatomical templates from individual images"
 readme = "README.md"
-requires-python = ">=3.9.0"
+requires-python = ">=3.10.0"
 dynamic = ["version"]
 
 license = {text = "BSD-3-Clause"}
@@ -12,9 +12,9 @@ classifiers = [
     "Development Status :: 2 - Pre-Alpha",
     "Programming Language :: Python",
     "Programming Language :: Python :: 3",
-    "Programming Language :: Python :: 3.9",
     "Programming Language :: Python :: 3.10",
     "Programming Language :: Python :: 3.11",
+    "Programming Language :: Python :: 3.12",
     "Operating System :: OS Independent",
     "License :: OSI Approved :: BSD License",
 ]
@@ -67,7 +67,7 @@ exclude = ["tests", "docs*"]
 addopts = "--cov=brainglobe_template_builder"
 
 [tool.black]
-target-version = ['py39', 'py310', 'py311']
+target-version = ['py310', 'py311', 'py312']
 skip-string-normalization = false
 line-length = 79
 
@@ -91,23 +91,17 @@ exclude = ["__init__.py","build",".eggs"]
 select = ["I", "E", "F"]
 fix = true
 
-[tool.cibuildwheel]
-build = "cp39-* cp310-* cp311-*"
-
-[tool.cibuildwheel.macos]
-archs = ["x86_64", "arm64"]
-
 [tool.tox]
 legacy_tox_ini = """
 [tox]
-envlist = py{39,310,311}
+envlist = py{310,311,312}
 isolated_build = True
 
 [gh-actions]
 python =
-    3.9: py39
     3.10: py310
     3.11: py311
+    3.12: py312
 
 [testenv]
 extras =


Test patch:
diff --git a/.github/workflows/test_and_deploy.yml b/.github/workflows/test_and_deploy.yml
index 9204127..223d73c 100644
--- a/.github/workflows/test_and_deploy.yml
+++ b/.github/workflows/test_and_deploy.yml
@@ -27,14 +27,16 @@ jobs:
     strategy:
       matrix:
         # Run all supported Python versions on linux
-        python-version: ["3.9", "3.10", "3.11"]
+        python-version: ["3.10", "3.11", "3.12"]
         os: [ubuntu-latest]
-        # Include one windows and macos run
+        # Include one windows and ARM/Intel macos run
         include:
-        - os: macos-latest
-          python-version: "3.10"
+        - os: macos-13 # Intel Mac
+          python-version: "3.12"
+        - os: macos-latest # ARM Mac
+          python-version: "3.12"
         - os: windows-latest
-          python-version: "3.10"
+          python-version: "3.11"
 
     steps:
       # Run tests
@@ -56,11 +58,6 @@ jobs:
     needs: [build_sdist_wheels]
     runs-on: ubuntu-latest
     steps:
-    - uses: actions/download-artifact@v3
+    - uses: neuroinformatics-unit/actions/upload_pypi@v2
       with:
-        name: artifact
-        path: dist
-    - uses: pypa/gh-action-pypi-publish@v1.5.0
-      with:
-        user: __token__
-        password: ${{ secrets.BTB_UPLOAD_API_KEY }}
+        secret-pypi-key: ${{ secrets.BTB_UPLOAD_API_KEY }}