build(core/tools): migrate trezor_core_tools to uv
What changed, and why it matters
This commit is a routine build tooling change. It switches the Python packaging tool for Trezor's internal developer utilities from Poetry to uv, updates the pyproject.toml configuration format, and adds an empty __init__.py file. There is no indication of any security fix, vulnerability, or behavior change in the actual tools.
No security action needed. Treat as a normal build/maintenance change.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff migrates core/tools (trezor_core_tools) from Poetry to uv: replaces poetry.lock with uv.lock in .gitignore, rewrites pyproject.toml from [tool.poetry] to [project]/[tool.uv] with hatchling as the build backend, and adds an empty trezor_core_tools/init.py. The dependency on the trezor Python package is preserved, now declared as an editable path source. No source code logic is modified.
Changed components
core/tools/pyproject.tomlcore/tools/.gitignorecore/tools/trezor_core_tools/__init__.pyInspect captured patch +16 / −13
diff --git a/core/tools/.gitignore b/core/tools/.gitignore
index c04bc49f7..07df930ad 100644
--- a/core/tools/.gitignore
+++ b/core/tools/.gitignore
@@ -1 +1 @@
-poetry.lock
+uv.lock
diff --git a/core/tools/pyproject.toml b/core/tools/pyproject.toml
index bb0acfb28..11889af16 100644
--- a/core/tools/pyproject.toml
+++ b/core/tools/pyproject.toml
@@ -1,20 +1,14 @@
-[tool.poetry]
+[project]
name = "trezor_core_tools"
version = "0.1.4"
description = "Collection of CLI tools for trezor-core development"
-authors = ["matejcik <jan.matejek@satoshilabs.com>"]
-license = "GPLv3+"
+authors = [{ name = "matejcik", email = "jan.matejek@satoshilabs.com" }]
+requires-python = ">=3.9,<4"
readme = "README.md"
+license = "GPL-3.0-or-later"
+dependencies = ["trezor>=0.14,<0.15"]
-[tool.poetry.dependencies]
-python = ">=3.9,<4"
-trezor = "^0.14"
-
-[build-system]
-requires = ["poetry-core"]
-build-backend = "poetry.core.masonry.api"
-
-[tool.poetry.scripts]
+[project.scripts]
headertool = "trezor_core_tools.headertool:cli"
headertool_pq = "trezor_core_tools.headertool_pq:cli"
layout_parser = "trezor_core_tools.layout_parser:main"
@@ -23,3 +17,12 @@ hash_signer = "trezor_core_tools.hash_signer:main"
combine_firmware = "trezor_core_tools.combine_firmware:main"
bootloader_hashes = "trezor_core_tools.bootloader_hashes:main"
+[build-system]
+requires = ["hatchling"]
+build-backend = "hatchling.build"
+
+[tool.uv]
+package = true
+
+[tool.uv.sources]
+trezor = { path = "../../python", editable = true }
diff --git a/core/tools/trezor_core_tools/__init__.py b/core/tools/trezor_core_tools/__init__.py
new file mode 100644
index 000000000..e69de29bb
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.