[build-system]
requires = ["setuptools", "setuptools_scm", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "pynuttx"
dynamic = ["version"]
description = "Comprehensive Python debugging and analysis toolkit for NuttX RTOS - includes GDB extensions, memory analysis, crash diagnostics, trace parsing, and remote debugging capabilities"
requires-python = ">=3.10"
keywords = ["nuttx", "rtos", "embedded", "gdb", "debugging", "memory-analysis", "crash-analysis", "trace", "profiling"]
license = "Apache-2.0"
readme = "README.md"
classifiers = [
"Intended Audience :: Developers",
"Topic :: Software Development :: Debuggers",
"Topic :: Software Development :: Embedded Systems",
"Topic :: System :: Operating System Kernels",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
]
dependencies = [
"angr>=0.0.0",
"capstone>=0.0.0",
"cloudpickle>=0.0.0",
"construct>=0.0.0",
"debugpy>=0.0.0",
"lauterbach-trace32-rcl>=0.0.0",
"lief>=0.0.0",
"matplotlib>=0.0.0",
"mcp>=0.0.0",
"numpy>=0.0.0",
"pandas>=0.0.0",
"pillow>=0.0.0",
"plotly>=0.0.0",
"prettytable>=0.0.0",
"pyelftools>=0.0.0",
"pylink-square>=0.0.0",
"viztracer>=0.0.0",
]
[project.urls]
Homepage = "https://nuttx.apache.org/"
Documentation = "https://nuttx.apache.org/docs/latest/"
Repository = "https://github.com/apache/nuttx"
Issues = "https://github.com/apache/nuttx/issues"
Changelog = "https://github.com/apache/nuttx/tags"
[project.scripts]
etm2human = "etm2human:main"
etm2trace = "etm2trace:main"
traceparse = "traceparse:main"
rpmsgtrace2pcap = "rpmsgtrace2pcap:main"
[tool.setuptools]
package-dir = { "gdbrpc" = "gdbrpc", "nxgdb" = "nxgdb", "nxelf" = "nxelf", "nxreg" = "nxreg", "nxstub" = "nxstub", "nxtrace" = "nxtrace", "nxgdbmcp" = "nxgdbmcp" }
py-modules = [ "etm2human", "etm2trace", "rpmsgtrace2pcap", "traceparse"]
[tool.setuptools.packages.find]
where = ["."]
include = ["gdbrpc*", "nxgdb*", "nxelf*", "nxreg*", "nxstub*", "nxtrace*", "nxgdbmcp*"]
[tool.setuptools_scm]
root = "../../"
version_file = "_version.py"
version_file_template = """\
# file generated by setuptools_scm
# don't change, don't track in version control
__version__ = version = {version!r}
__version_tuple__ = version_tuple = {version_tuple!r}
"""