diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1ce007dc228105849d89d4fc720b9a8bf729ee1b..2e4fcdc7f12c0dcef7a2c7add6b0e7892b9ac2b0 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -62,7 +62,7 @@ unittest_py3.7:
   script: &python_test_script
     # Python docker has problems with tox and pip so use plain pytest here
     - touch ~/.pylinkahead.ini
-    - pip install nose pytest pytest-cov python-dateutil jsonschema>=4.4.0
+    - pip install pynose pytest pytest-cov jsonschema>=4.4.0 setuptools
     - pip install .
     - python -m pytest unittests
 
@@ -100,6 +100,22 @@ unittest_py3.11:
   image: python:3.11
   script: *python_test_script
 
+unittest_py3.12:
+  tags: [ docker ]
+  stage: test
+  needs: [ ]
+  image: python:3.12
+  script: *python_test_script
+
+unittest_py3.13:
+  allow_failure: true
+  tags: [ docker ]
+  stage: test
+  needs: [ ]
+  image: python:3.13-rc
+  script: *python_test_script
+
+
 # Trigger building of server image and integration tests
 trigger_build:
   stage: deploy
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e2c5cd7fa67e180a86800f99c96eaf815031473a..39663cc746c2ff4192d185f3fb303f62e7ef1ac5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 ### Added ###
 
+* Support for Python 3.12
+
 ### Changed ###
 
 ### Deprecated ###
diff --git a/tox.ini b/tox.ini
index 10f495064fac42a6f3c60155ba64541952078c4e..5282b0782bea1bc9515b9362e3ef2021f3f9cd11 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,13 +1,14 @@
 [tox]
-envlist=py37, py38, py39, py310, py311
+envlist=py37, py38, py39, py310, py311, py312, py313
 skip_missing_interpreters = true
 
 [testenv]
 deps = .
-    nose
+    pynose
     pytest
     pytest-cov
     jsonschema>=4.4.0
+    setuptools
 commands=py.test --cov=caosdb -vv {posargs}
 
 [flake8]