spb/metrika Public
Stata-class statistics, GPU-accelerated by Apple Silicon. Native Swift — no Electron, no Python runtime, no compromises.
Swift 92.4%
HTML 3.3%
R 3%
Shell 1.3%
1// swift-tools-version: 6.02//3// Package.swift4// Metrika5//6// Author: Simon-Pierre Boucher7// Contact: contact@spboucher.ai8// Copyright © 2026 Simon-Pierre Boucher. All rights reserved.9//1011import PackageDescription1213let strictConcurrency: [SwiftSetting] = [14 .swiftLanguageMode(.v6)15]1617let package = Package(18 name: "MetrikaKit",19 platforms: [.macOS(.v14)],20 products: [21 .library(22 name: "MetrikaKit",23 targets: [24 "ZQParser", "ZQPlanner", "ZQEngine", "ZQData",25 "ZQStats", "ZQGPU", "ZQGraphics", "ZQPlugins",26 ]27 ),28 .executable(name: "metrika-cli", targets: ["MetrikaCLI"]),29 ],30 dependencies: [31 .package(url: "https://github.com/duckdb/duckdb-swift", from: "1.0.0"),32 .package(url: "https://github.com/apple/swift-collections", from: "1.1.0"),33 .package(url: "https://github.com/apple/swift-argument-parser", from: "1.3.0"),34 .package(url: "https://github.com/ml-explore/mlx-swift", from: "0.18.0"),35 ],36 targets: [37 .target(38 name: "ZQParser",39 swiftSettings: strictConcurrency40 ),41 .target(42 name: "ZQData",43 dependencies: [44 .product(name: "DuckDB", package: "duckdb-swift"),45 .product(name: "Collections", package: "swift-collections"),46 ],47 swiftSettings: strictConcurrency48 ),49 .target(50 name: "ZQStats",51 dependencies: ["ZQData", "ZQGPU"],52 swiftSettings: strictConcurrency53 ),54 .target(55 name: "ZQGPU",56 dependencies: [57 "ZQData",58 .product(name: "MLX", package: "mlx-swift"),59 ],60 swiftSettings: strictConcurrency61 ),62 .target(63 name: "ZQPlanner",64 dependencies: ["ZQParser", "ZQData"],65 swiftSettings: strictConcurrency66 ),67 .target(68 name: "ZQGraphics",69 dependencies: ["ZQData"],70 swiftSettings: strictConcurrency71 ),72 .target(73 name: "ZQPlugins",74 dependencies: ["ZQParser", "ZQData"],75 swiftSettings: strictConcurrency76 ),77 .target(78 name: "ZQEngine",79 dependencies: [80 "ZQParser", "ZQPlanner", "ZQData", "ZQStats",81 "ZQGPU", "ZQGraphics", "ZQPlugins",82 ],83 resources: [.copy("Resources/Samples")],84 swiftSettings: strictConcurrency85 ),86 .executableTarget(87 name: "MetrikaCLI",88 dependencies: [89 "ZQEngine",90 .product(name: "ArgumentParser", package: "swift-argument-parser"),91 ],92 swiftSettings: strictConcurrency93 ),94 .testTarget(95 name: "MetrikaKitTests",96 dependencies: ["ZQParser", "ZQPlanner", "ZQEngine", "ZQData", "ZQStats", "ZQGPU"],97 resources: [.copy("Fixtures")],98 swiftSettings: strictConcurrency99 ),100 ]101)102