diff --git a/AUTHORS.md b/AUTHORS.md
index 2f4a274c1ed9523c52fdbbd9d4981bd094cea2dd..aedf4344ee7b8cb1f3f316aa3af26902e83b1561 100644
--- a/AUTHORS.md
+++ b/AUTHORS.md
@@ -1,9 +1,9 @@
 # Authors and contributors
 
 - Moul, Maël Azimi <ma.azimi@moul.re>
+- Matograine <tom.ngr@zaclys.net>
 - Tortue <ucoin@tednet.fr>
 - cebash, Sébastien DA ROCHA <sebastien@da-rocha.net>
-- Matograine <tom.ngr@zaclys.net>
 - atrax, <duniter@karam.email>
 - cgeek, Cédric Moreau <cem.moreau@gmail.com>
 - jytou, Jean-Yves Toumit <jytoumit@gmail.com>
diff --git a/image/pip b/image/pip
index d46232dea3bbec4704f5e10576e4caa4e09e1a57..5c1dfd00c14359c7b8e0851a594234b43dd6ad28 100644
--- a/image/pip
+++ b/image/pip
@@ -5,7 +5,7 @@ ARG PYTHON_VERS
 FROM python:${PYTHON_VERS}-slim AS build
 
 # Install Poetry
-RUN pip install "poetry>=1.8,<2.0"
+RUN pip install poetry
 
 WORKDIR /silkaj
 
diff --git a/pyproject.toml b/pyproject.toml
index 60e4edd63e394d20ba033eaa29e683fdfe19c823..427251664cb4b021ad07304023aeac0f14713b2b 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,25 +1,48 @@
-[tool.poetry]
+[project]
 name = "silkaj"
 version = "0.11.0"
 description = "Command line client for Äž1 libre-currency powered by Duniter"
-authors = ["Moul <moul@moul.re>"]
-maintainers = ["Moul <moul@moul.re>"]
+license = { text = "AGPL-3.0-or-later" }
 readme = "README.md"
-license = "AGPL-3.0-or-later"
+requires-python = ">=3.9,<4.0"
+authors = [
+    { name = "Moul, Maël Azimi", email = "mael.azimi@moul.re"},
+    { name = "Matograine", email = "tom.ngr@zaclys.net"},
+    { name = "Tortue", email = "ucoin@tednet.fr"},
+    { name = "cebash, Sébastien DA ROCHA", email = "sebastien@da-rocha.net"},
+]
+maintainers = [{ name = "Moul, Maël Azimi", email = "mael.azimi@moul.re"}]
+keywords = ["g1", "duniter", "cryptocurrency", "librecurrency", "RTM"]
+dynamic = ["classifiers", "dependencies"]
+
+[project.urls]
 homepage =  "https://silkaj.duniter.org"
 repository = "https://git.duniter.org/clients/python/silkaj"
-documentation = "https://git.duniter.org/clients/python/silkaj/tree/main/doc"
-urls = { Changelog = "https://git.duniter.org/clients/python/silkaj/-/blob/main/CHANGELOG.md" }
-keywords = ["g1", "duniter", "cryptocurrency", "librecurrency", "RTM"]
-include = ["g1_monetary_license/g1_monetary_license_*.rst"]
+documentation = "https://silkaj.duniter.org/latest/"
+"changelog" = "https://silkaj.duniter.org/latest/changelog/"
+
+[project.scripts]
+silkaj = "silkaj.cli:cli"
+
+[tool.poetry]
+requires-poetry = ">=2.0"
+include = [{path="g1_monetary_license/g1_monetary_license_*.rst", format=["sdist", "wheel"]}]
+classifiers = [
+    "Development Status :: 5 - Production/Stable",
+    "Operating System :: Unix",
+    "Environment :: Console",
+    "Intended Audience :: End Users/Desktop",
+    "Natural Language :: English",
+]
+
+[project.optional-dependencies]
+deathreaper = [ "pydiscourse (>=1.7.0,<2.0)" ]
 
 [tool.poetry.dependencies]
-python = "^3.9.0"
 duniterpy = "~1.2.0"
 rich-click = "^1.8.3"
 texttable = "^1.7.0"
 arrow = "^1.3.0"
-pydiscourse = { version = "^1.7.0", optional = true }
 
 [tool.poetry.group.test.dependencies]
 pytest = "^8.1.1"
@@ -27,9 +50,6 @@ pytest-cov = "^6.0"
 pytest-sugar = "^1.0.0"
 pytest-clarity = "^1.0.1"
 
-[tool.poetry.extras]
-deathreaper = ["pydiscourse"]
-
 [tool.poetry.group.docs]
 optional = true
 
@@ -39,21 +59,10 @@ mike = "^2.1.3"
 mkdocs-coverage = "^1.1.0"
 mkdocs-gitlab-plugin = "^0.1.4"
 
-[tool.poetry.scripts]
-silkaj = "silkaj.cli:cli"
-
 [build-system]
-requires = ["poetry-core>=1.0.0"]
+requires = ["poetry-core>=2.0.0,<3.0.0"]
 build-backend = "poetry.core.masonry.api"
 
-classifiers = [
-    "Development Status :: 5 - Production/Stable",
-    "Operating System :: OS Independent",
-    "Environment :: Console",
-    "Intended Audience :: End Users/Desktop",
-    "Natural Language :: English"
-]
-
 [tool.mypy]
 ignore_missing_imports = true