- the header's trailing meta is labelled instead of bare numbers: "ADF/EF_IMSI (6F07) — READ BINARY · APDU #490 · 0251.199 sec" (the record part already read "Record 2 / 5") - the summary counts only what happened: "{c} bytes changed · {n} bytes newly observed" drops whichever part is zero ("4 bytes changed" alone when nothing was first observed) and an empty diff reads "No changes" instead of "0 bytes changed, 0 bytes newly observed" - i18n: the combined key splits into '{c} bytes changed' / '{n} bytes newly observed' plus 'No changes', 'APDU' and 'sec' ('{c}','{n}' placeholders keep the existing replace-based substitution; the Russian keeps the established wording: «Изменено байт: {c}», «Впервые наблюдается байт: {n}», «с») - tests: the header and summary assertions follow the labels, a short-file case pins the omitted zero, and an empty-diff case pins 'No changes'; 527 Python + 76 Node tests - PWA_VERSION/pyproject/version.py 2.7.4, SW cache simtrace-analyser-v84
22 lines
664 B
TOML
22 lines
664 B
TOML
[build-system]
|
|
requires = ["setuptools>=64"]
|
|
build-backend = "setuptools.backends._legacy:_Backend"
|
|
|
|
[project]
|
|
name = "simtrace-analyser"
|
|
version = "2.7.4"
|
|
description = "SIMtrace Analyser — APDU trace analyser for GSMTAP/PCAP captures (bundles the simtrace2-pysniff utility)"
|
|
readme = {file = "README.md", content-type = "text/markdown"}
|
|
license = {text = "GPL-2.0-or-later"}
|
|
requires-python = ">=3.9"
|
|
dependencies = [
|
|
"pyusb>=1.2",
|
|
]
|
|
|
|
[project.scripts]
|
|
simtrace-analyser-server = "simtrace_analyser.__main__:main"
|
|
simtrace2-pysniff = "simtrace2_pysniff.__main__:main"
|
|
|
|
[tool.setuptools.packages.find]
|
|
include = ["simtrace_analyser*", "simtrace2_pysniff*"]
|