xct2cli 0.1.0

Library and CLI for transforming Xcode Instruments .trace bundles (hotspots, callgraphs, annotated disassembly, PMI counters, heap allocations). Apple Silicon.
Documentation
[package]
name = "xct2cli"
version = "0.1.0"
edition = "2024"
rust-version = "1.85"
authors = ["Lander Brandt <landerbrandt@gmail.com>"]
description = "Library and CLI for transforming Xcode Instruments .trace bundles (hotspots, callgraphs, annotated disassembly, PMI counters, heap allocations). Apple Silicon."
license = "MIT OR Apache-2.0"
repository = "https://github.com/landaire/xct2cli"
homepage = "https://github.com/landaire/xct2cli"
documentation = "https://docs.rs/xct2cli"
readme = "README.md"
keywords = ["instruments", "xctrace", "profiling", "macos", "trace"]
categories = [
    "command-line-utilities",
    "development-tools::profiling",
]
# Keep the published tarball lean - screenshots are only useful when the
# README renders on GitHub, where relative links resolve against the repo.
# On crates.io they're served via absolute GitHub URLs (see README.md).
exclude = [
    "img/**",
    ".jj/**",
    ".claude/**",
    "mise.toml",
    ".DS_Store",
]

[features]
default = ["cli"]
cli = ["dep:clap", "dep:anyhow", "dep:tracing-subscriber"]

[lib]
name = "xct2cli"
path = "src/lib.rs"

[[bin]]
name = "xct2cli"
path = "src/main.rs"
required-features = ["cli"]

[dependencies]
addr2line = "0.26.1"
annotate-snippets = "0.12.15"
camino = "1.2.2"
gimli = "0.33.0"
object = "0.39.0"
quick-xml = { version = "0.39.2", features = ["serialize"] }
serde = { version = "1.0.228", features = ["derive", "rc"] }
serde_json = "1.0.149"
thiserror = "2.0.18"
tracing = "0.1.44"

# CLI-only (gated behind the `cli` feature).
clap = { version = "4.6.1", features = ["derive"], optional = true }
anyhow = { version = "1.0.102", optional = true }
tracing-subscriber = { version = "0.3.23", features = ["env-filter"], optional = true }
rustc-demangle = "0.1.27"
cpp_demangle = "0.5.1"
capstone = "0.14.0"
owo-colors = "4.3.0"