diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a758dde1bf25be7d49f2bce711d0c91224ff1253..8dc7a80aed8e2edc3aaab019625bba2d1ca23723 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,7 +4,7 @@ stages:
   - release
 
 test:
-  image: python:3.8
+  image: python:3.10
 
   stage: test
   cache:
@@ -24,7 +24,7 @@ test:
     - tox
 
 lint:
-  image: python:3.8
+  image: python:3.10
   stage: test
 
   cache:
@@ -62,7 +62,7 @@ docker-build:
 
 deploy-models:
   stage: release
-  image: python:3.8
+  image: python:3.10
 
   only:
    - main
@@ -78,7 +78,7 @@ deploy-models:
 
 deploy-pypi:
   stage: release
-  image: python:3.8
+  image: python:3.10
 
   only:
     - tags
@@ -96,7 +96,7 @@ deploy-pypi:
 
 release-notes:
   stage: release
-  image: registry.gitlab.com/teklia/devops:latest
+  image: registry.gitlab.teklia.com/infra/devops:latest
 
   only:
     - tags
@@ -106,7 +106,7 @@ release-notes:
 
 bump-python-deps:
   stage: release
-  image: registry.gitlab.com/teklia/devops:latest
+  image: registry.gitlab.teklia.com/infra/devops:latest
 
   only:
     - schedules
diff --git a/Dockerfile b/Dockerfile
index abb2611ee121011edb9ae32273d1c052bd08c0d5..ff0251ce762b1fac5bcfa605299d500a538ea50b 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM nvidia/cuda:12.2.0-base-ubuntu20.04
+FROM nvidia/cuda:12.2.0-base-ubuntu22.04
 
 # Add python3 in cuda image
 ENV DEBIAN_FRONTEND=non-interactive
diff --git a/setup.py b/setup.py
index a7f5cf122e0199872252acff22c3a8a1208088b5..847d1804330c1558d53fe58a926074cc7f211b28 100755
--- a/setup.py
+++ b/setup.py
@@ -20,10 +20,26 @@ setup(
     long_description_content_type="text/markdown",
     author="Mélodie Boillet",
     author_email="boillet@teklia.com",
+    project_urls={
+        "Source": "https://gitlab.teklia.com/dla/doc-ufcn/",
+        "Tracker": "https://gitlab.teklia.com/dla/doc-ufcn/issues/",
+    },
     url="https://gitlab.com/teklia/dla/doc-ufcn",
     install_requires=parse_requirements("requirements.txt"),
     extras_require={
         "training": parse_requirements("training-requirements.txt"),
     },
-    packages=find_packages(),
+    packages=find_packages(exclude=["tests"]),
+    python_requires=">= 3.8, < 3.11",
+    classifiers=[
+        "Development Status :: 5 - Production/Stable",
+        # Specify the Python versions you support here.
+        "Programming Language :: Python :: 3 :: Only",
+        "Programming Language :: Python :: 3.8",
+        "Programming Language :: Python :: 3.9",
+        "Programming Language :: Python :: 3.10",
+        # Topics
+        "Topic :: Scientific/Engineering :: Artificial Intelligence",
+        "Topic :: Scientific/Engineering :: Image Recognition",
+    ],
 )
diff --git a/tox.ini b/tox.ini
index 4dfd57c0a6ba996d58e352b51116f43850cf154a..2e85b63fcba70d3e8aebc342117cb673343650cf 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
 [tox]
-envlist = py38
+envlist = py38,py310
 
 [testenv]
 commands =