[project] name = "trezor" version = "0.20.1" description = "Python library for communicating with Trezor Hardware Wallet" readme = "README.md" license = "LGPL-3.0-only" license-files = ["COPYING"] authors = [ {name = "Trezor", email = "info@trezor.io"} ] maintainers = [ {name = "matejcik", email = "jan.matejek@satoshilabs.com"} ] keywords = ["trezor", "hardware", "wallet", "cryptocurrency", "bitcoin", "ethereum"] classifiers = [ "Operating System :: POSIX :: Linux", "Operating System :: Microsoft :: Windows", "Operating System :: MacOS :: MacOS X", "Programming Language :: Python :: 3 :: Only", ] requires-python = ">=3.9" dependencies = [ "mnemonic>=0.20", "shamir-mnemonic>=0.3.0", "slip10>=1.0.1", "requests>=2.4.0", "click>=8,<9", "libusb1>=1.6.4", "construct>=2.9,!=2.10.55", "typing_extensions>=4.7.1", "construct-classes>=0.1.2", "cryptography>=41", "noiseprotocol>=0.3.1,<0.4.0", "platformdirs>=4.4.0", "keyring>=25.7.0", ] [project.optional-dependencies] hidapi = ["hidapi>=0.7.99.post20"] ethereum = ["web3>=5"] qt-widgets = ["PyQt5"] extra = ["Pillow>=10"] stellar = ["stellar-sdk>=6"] ble = ["bleak>=1.1.0"] full = [ "hidapi>=0.7.99.post20", "web3>=5", "PyQt5", "Pillow>=10", "stellar-sdk>=6", "bleak>=1.1.0", ] [project.urls] Homepage = "https://github.com/trezor/trezor-firmware/tree/main/python" Repository = "https://github.com/trezor/trezor-firmware" Documentation = "https://github.com/trezor/trezor-firmware/tree/main/python" [project.scripts] trezorctl = "trezorlib.cli.trezorctl:cli" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.uv] package = true [tool.hatch.build.targets.wheel] packages = ["src/trezorlib"] [tool.hatch.build.targets.sdist] exclude = [ "/.*", "/helper-scripts", "/CHANGELOG.unreleased", "/default.nix", "/Makefile", "/towncrier.toml", "tests/*.bin", "src/trezorlib/_proto_messages.mako", ] [dependency-groups] dev = [ "autoflake>=2.3.1", "black>=25", "flake8>=2.3.0", "isort>=5.13.2", "pytest>=8.3.5", "pytest-random-order>=1.2.0", "tox>=4.25.0", "tox-uv>=1.13.1", ]