diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 5b2d44e..53ec4e1 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -10,12 +10,12 @@ repos:
         pass_filenames: false
         stages:
           - commit
-  - repo: https://github.com/pre-commit/mirrors-isort
-    rev: v5.4.2
+  - repo: https://github.com/PyCQA/isort
+    rev: 5.12.0
     hooks:
       - id: isort
   - repo: https://github.com/markdownlint/markdownlint
-    rev: v0.10.0
+    rev: v0.12.0
     hooks:
       - id: markdownlint
         name: Markdownlint
@@ -24,12 +24,12 @@ repos:
         language: ruby
         files: \.(md|mdown|markdown)$
   - repo: https://github.com/psf/black
-    rev: 19.10b0
+    rev: 23.9.1
     hooks:
       - id: black
         language_version: python3
   - repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v3.2.0
+    rev: v4.5.0
     hooks:
       - id: check-byte-order-marker
       - id: check-executables-have-shebangs
@@ -40,14 +40,14 @@ repos:
       - id: mixed-line-ending
       - id: trailing-whitespace
   - repo: https://github.com/adrienverge/yamllint.git
-    rev: v1.24.2
+    rev: v1.32.0
     hooks:
       - id: yamllint
         files: \.(yaml|yml)$
         types: [file, yaml]
         entry: yamllint --strict
-  - repo: https://gitlab.com/pycqa/flake8.git
-    rev: 3.8.3
+  - repo: https://github.com/PyCQA/flake8
+    rev: 6.1.0
     hooks:
       - id: flake8
         language_version: python3
@@ -56,7 +56,7 @@ repos:
           - flake8-docstrings>=1.5.0
           - flake8-pytest-style>=1.2.2
   - repo: https://github.com/pre-commit/mirrors-mypy
-    rev: v0.782
+    rev: v1.6.0
     hooks:
       - id: mypy
         # empty args needed in order to match mypy cli behavior
@@ -64,6 +64,6 @@ repos:
         additional_dependencies:
           - Sphinx>=3.1.2
   - repo: https://github.com/pre-commit/mirrors-pylint
-    rev: v2.5.3
+    rev: v3.0.0a5
     hooks:
       - id: pylint