diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index a859d05af..8ac37502e 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,13 +1,13 @@
 repos:
   - repo: https://github.com/astral-sh/ruff-pre-commit
-    rev: v0.3.2
+    rev: v0.6.9
     hooks:
       - id: ruff
         args:
           - --fix
       - id: ruff-format
   - repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v4.5.0
+    rev: v5.0.0
     hooks:
       - id: check-merge-conflict
       - id: check-yaml
@@ -18,6 +18,6 @@ repos:
         args:
           - --fix=lf
   - repo: https://github.com/crate-ci/typos
-    rev: v1.18.2
+    rev: v1.26.0
     hooks:
       - id: typos
diff --git a/_typos.toml b/_typos.toml
index e4e7287fb..955c6cb79 100644
--- a/_typos.toml
+++ b/_typos.toml
@@ -4,8 +4,10 @@
 extend-ignore-re = [
     "@Ther-nul",  # valid Github user
 ]
-
-[default.extend-identifiers]
+extend-ignore-identifiers-re = [
+    ".*arange.*",
+    ".*ARANGE.*",
+]
 
 [type.py.extend-words]
 "BA" = "BA"  # used as a commented-out variable in tests
diff --git a/bitsandbytes/functional.py b/bitsandbytes/functional.py
index 34b3c0293..7503ad73c 100644
--- a/bitsandbytes/functional.py
+++ b/bitsandbytes/functional.py
@@ -1864,7 +1864,7 @@ def percentile_clipping(grad: Tensor, gnorm_vec: Tensor, step: int, percentile:
     gnorm_vec: torch.Tensor
         Vector of gradient norms. 100 elements expected.
     step: int
-        The current optimiation steps (number of past gradient norms).
+        The current optimization steps (number of past gradient norms).
 
     """
     prev_device = pre_call(grad.device)
diff --git a/csrc/kernels.cu b/csrc/kernels.cu
index be7779de1..867390f2c 100644
--- a/csrc/kernels.cu
+++ b/csrc/kernels.cu
@@ -2661,7 +2661,7 @@ template <int THREADS, int ITEMS_PER_THREAD, int TILE_ROWS, int TILE_COLS, int T
                   //const int global_col = base_row; // block offset for col
                   if((base_col + subrow_loop_row + jrow + warp_id < outRows) && (base_row+warp_lane < rows))
                   {
-                    // each row hae 32 columns and is offset by 1 to prevent bank conflict during storage into smem
+                    // each row has 32 columns and is offset by 1 to prevent bank conflict during storage into smem
                     char data = smem_data[(subrow_loop_row + jrow + warp_id)*33 + warp_lane];
 
                     // each 32 columns we have new tile
@@ -2700,7 +2700,7 @@ template <int THREADS, int ITEMS_PER_THREAD, int TILE_ROWS, int TILE_COLS, int T
                   //const int global_col = base_row; // block offset for col
                   if((base_col + subrow_loop_row + jrow + warp_id < outRows) && (base_row+warp_lane < rows))
                   {
-                    // each row hae 32 columns and is offset by 1 to prevent bank conflict during storage into smem
+                    // each row has 32 columns and is offset by 1 to prevent bank conflict during storage into smem
                     char data = smem_data[(subrow_loop_row + jrow + warp_id)*33 + warp_lane];
 
                     // each 32 columns we have new tile
@@ -2777,7 +2777,7 @@ template <int THREADS, int ITEMS_PER_THREAD, int TILE_ROWS, int TILE_COLS, int T
 										//const int global_col = base_row; // block offset for col
 										if((base_col + subrow_loop_row + jrow + warp_id < outRows) && (base_row+warp_lane < rows))
 										{
-											// each row hae 32 columns and is offset by 1 to prevent bank conflict during storage into smem
+											// each row has 32 columns and is offset by 1 to prevent bank conflict during storage into smem
 											char data = smem_data[(subrow_loop_row + jrow + warp_id)*33 + warp_lane];
 
 											// each 32 columns we have new tile
diff --git a/pyproject.toml b/pyproject.toml
index 609ff84fa..271edc84e 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -31,7 +31,6 @@ ignore = [
     "F841",  # Local assigned but not used (TODO: enable, these are likely bugs)
     "RUF012",  # Mutable class attribute annotations
 ]
-ignore-init-module-imports = true  # allow to expose in __init__.py via imports
 
 [tool.ruff.lint.extend-per-file-ignores]
 "**/__init__.py" = ["F401"]  # allow unused imports in __init__.py