diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 268690c4edf63fb74ca492af0231e516a17dfcbe..73b0c6659aeb634532893f4ae1b97268faf3df80 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -21,7 +21,7 @@ before_script:
 - pip install -e .[dev]
 
 linting:
-  image: python:3.8
+  image: python:3.9
   tags:
   - passoft
   stage: test
@@ -29,8 +29,8 @@ linting:
   - flake8 lopt
   - flake8 tests
 
-python3.8:
-  image: python:3.8
+python3.9:
+  image: python:3.9
   tags:
   - passoft
   stage: test
diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml
index b70d24f549ef83b5cc0e7d7d213865c77df2a093..9ce39d63fb26f8fabfe44f5cf6124e987fb03c19 100644
--- a/conda.recipe/meta.yaml
+++ b/conda.recipe/meta.yaml
@@ -11,10 +11,10 @@ build:
 
 requirements:
   build:
-    - python >=3.8
+    - python >=3.9
     - pip
   run:
-    - python >=3.8
+    - python >=3.9
 
 test:
   source_files:
diff --git a/setup.py b/setup.py
index 4b34915fc20125f60bdcd0650952e17514f22f3f..451b034070b784cf218c1997869a936173180fe2 100644
--- a/setup.py
+++ b/setup.py
@@ -20,7 +20,7 @@ setup(
         'Intended Audience :: Developers',
         'License :: OSI Approved ::  GNU General Public License v3 (GPLv3)',
         'Natural Language :: English',
-        'Programming Language :: Python :: 3.8',
+        'Programming Language :: Python :: 3.9',
     ],
     description="Display time in PASSCAL time format",
     entry_points={
diff --git a/tox.ini b/tox.ini
index 2dce737a2d3ee5bf38bdbacab9b43af7308ffc06..ecca66aa300f4df44cf3d158cc3a3dfd18ab518c 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
 [tox]
-envlist = py38, flake8
+envlist = py39, flake8
 
 [testenv:flake8]
 basepython = python