The Swift Package Index logo.Swift Package Index

Build Information

Successful build of mlx-turbovec-swift, reference v0.1.0 (2e9aca), with Swift 6.1 for macOS (SPM) on 1 Jul 2026 06:07:44 UTC.

Swift 6 data race errors: 1

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: undefined version: run 'make version' to update
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/offlyn-ai/mlx-turbovec-swift.git
Reference: v0.1.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/offlyn-ai/mlx-turbovec-swift
 * tag               v0.1.0     -> FETCH_HEAD
HEAD is now at 2e9acad Add MLX GPU acceleration backend
Cloned https://github.com/offlyn-ai/mlx-turbovec-swift.git
Revision (git rev-parse @):
2e9acad9bdd02b70685ae9a8ebfdf467b4c6ff08
SUCCESS checkout https://github.com/offlyn-ai/mlx-turbovec-swift.git at v0.1.0
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/offlyn-ai/mlx-turbovec-swift.git
https://github.com/offlyn-ai/mlx-turbovec-swift.git
{
  "dependencies" : [
    {
      "identity" : "mlx-swift",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.31.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/ml-explore/mlx-swift"
    }
  ],
  "manifest_display_name" : "mlx-turbovec-swift",
  "name" : "mlx-turbovec-swift",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "14.0"
    },
    {
      "name" : "ios",
      "version" : "17.0"
    }
  ],
  "products" : [
    {
      "name" : "TurboVec",
      "targets" : [
        "TurboVec"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "TurboVecBenchmark",
      "targets" : [
        "TurboVecBenchmark"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "TurboVecTests",
      "module_type" : "SwiftTarget",
      "name" : "TurboVecTests",
      "path" : "Tests/TurboVecTests",
      "sources" : [
        "TurboVecTests.swift"
      ],
      "target_dependencies" : [
        "TurboVec"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TurboVecBenchmark",
      "module_type" : "SwiftTarget",
      "name" : "TurboVecBenchmark",
      "path" : "Sources/TurboVecBenchmark",
      "product_memberships" : [
        "TurboVecBenchmark"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "TurboVec"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "TurboVec",
      "module_type" : "SwiftTarget",
      "name" : "TurboVec",
      "path" : "Sources/TurboVec",
      "product_dependencies" : [
        "MLX",
        "MLXRandom"
      ],
      "product_memberships" : [
        "TurboVec",
        "TurboVecBenchmark"
      ],
      "sources" : [
        "Core/IdMapIndex.swift",
        "Core/TurboQuantIndex.swift",
        "Core/Types.swift",
        "MLX/MLXBackend.swift",
        "Math/RandomRotation.swift",
        "Math/VectorMath.swift",
        "Persistence/Persistence.swift",
        "Quantization/BitPacker.swift",
        "Quantization/Calibration.swift",
        "Quantization/LloydMaxCodebook.swift",
        "Search/SearchKernel.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/192] Write sources
[3/192] Write TurboVecBenchmark-entitlement.plist
[6/192] Write sources
[8/192] Write swift-version-2F0A5646E1D333AE.txt
[9/192] Compiling _NumericsShims _NumericsShims.c
[10/192] Compiling version.cpp
[12/203] Compiling RealModule RealFunctions.swift
[13/204] Compiling RealModule Real.swift
[14/204] Compiling RealModule Float80+Real.swift
[15/204] Compiling RealModule Float+Real.swift
[16/204] Compiling RealModule ElementaryFunctions.swift
[17/204] Compiling RealModule AugmentedArithmetic.swift
[18/204] Compiling RealModule Double+Real.swift
[19/204] Compiling RealModule Float16+Real.swift
[20/204] Compiling RealModule AlgebraicField.swift
[21/204] Compiling RealModule ApproximateEquality.swift
[22/204] Emitting module RealModule
[23/204] Compiling RealModule RelaxedArithmetic.swift
[23/204] Compiling utils.cpp
[24/204] Compiling scheduler.cpp
[26/215] Compiling ComplexModule Polar.swift
[27/216] Compiling ComplexModule Complex+StringConvertible.swift
[28/216] Compiling ComplexModule Complex+IntegerLiteral.swift
[29/216] Compiling ComplexModule Complex+Hashable.swift
[30/216] Compiling ComplexModule Complex.swift
[31/216] Compiling ComplexModule Complex+Numeric.swift
[32/216] Compiling ComplexModule Scale.swift
[33/216] Compiling ComplexModule Complex+Codable.swift
[34/216] Compiling ComplexModule Complex+AdditiveArithmetic.swift
[35/216] Compiling ComplexModule Complex+AlgebraicField.swift
[36/216] Compiling ComplexModule Complex+ElementaryFunctions.swift
[37/216] Emitting module ComplexModule
[37/216] Compiling random.cpp
[38/216] Compiling linalg.cpp
[40/218] Emitting module Numerics
[41/218] Compiling Numerics Numerics.swift
[41/218] Compiling no_gguf.cpp
[42/218] Compiling array.cpp
[42/218] Compiling closure.cpp
[44/218] Compiling primitives.cpp
[45/218] Compiling graph_utils.cpp
[46/218] Compiling fft.cpp
[47/218] Compiling load.cpp
[48/218] Compiling transforms.cpp
[49/218] Compiling safetensors.cpp
[50/218] Compiling dtype_utils.cpp
[51/218] Compiling dtype.cpp
[52/218] Compiling einsum.cpp
[53/218] Compiling utils.cpp
[54/218] Compiling no_ring.cpp
[55/218] Compiling ops.cpp
[56/218] Compiling no_nccl.cpp
[57/218] Compiling fast.cpp
[58/218] Compiling primitives.cpp
[59/218] Compiling ops.cpp
[60/218] Compiling device.cpp
[61/218] Compiling no_mpi.cpp
[62/218] Compiling no_jaccl.cpp
[63/218] Compiling distributed.cpp
[64/218] Compiling utils.cpp
[65/218] Compiling unary.cpp
[66/218] Compiling ternary.cpp
[67/218] Compiling softmax.cpp
[68/218] Compiling sort.cpp
[69/218] Compiling scan.cpp
[70/218] Compiling slicing.cpp
[71/218] Compiling compile.cpp
[72/218] Compiling scaled_dot_product_attention.cpp
[73/218] Compiling resident.cpp
[74/218] Compiling rope.cpp
[75/218] Compiling metal.cpp
[76/218] Compiling reduce.cpp
[77/218] Compiling primitives.cpp
[78/218] Compiling normalization.cpp
[79/218] Compiling quantized.cpp
[80/218] Compiling logsumexp.cpp
[81/218] Compiling matmul.cpp
[82/218] Compiling fence.cpp
[83/218] Compiling event.cpp
[84/218] Compiling hadamard.cpp
[85/218] Compiling indexing.cpp
[86/218] Compiling eval.cpp
[87/218] Compiling distributed.cpp
[88/218] Compiling device_info.cpp
[89/218] Compiling jit_kernels.cpp
[90/218] Compiling fft.cpp
[91/218] Compiling slicing.cpp
[92/218] Compiling copy.cpp
[93/218] Compiling allocator.cpp
[94/218] Compiling primitives.cpp
[95/218] Compiling conv.cpp
[96/218] Compiling compiled.cpp
[97/218] Compiling binary.cpp
[98/218] Compiling threefry.cpp
[99/218] Compiling device.cpp
[100/218] Compiling custom_kernel.cpp
[101/218] Compiling export.cpp
[102/218] Compiling no_cuda.cpp
[103/218] Compiling copy.cpp
[104/218] Compiling select.cpp
[105/218] Compiling softmax.cpp
[106/218] Compiling scan.cpp
[107/218] Compiling qrf.cpp
[108/218] Compiling svd.cpp
[109/218] Compiling sort.cpp
[110/218] Compiling quantized.cpp
[111/218] Compiling jit_compiler.cpp
[112/218] Compiling primitives.cpp
[113/218] Compiling matmul.cpp
[114/218] Compiling luf.cpp
[115/218] Compiling masked_mm.cpp
[116/218] Compiling logsumexp.cpp
[117/218] Compiling hadamard.cpp
[118/218] Compiling cblas.cpp
[119/218] Compiling inverse.cpp
[120/218] Compiling encoder.cpp
[121/218] Compiling unary.cpp
[122/218] Compiling bnns.cpp
[123/218] Compiling eval.cpp
[124/218] Compiling device_info.cpp
[125/218] Compiling distributed.cpp
[126/218] Compiling fft.cpp
[127/218] Compiling indexing.cpp
[128/218] Compiling eig.cpp
[129/218] Compiling eigh.cpp
[130/218] Compiling utils.cpp
[131/218] Compiling slicing.cpp
[132/218] Compiling arg_reduce.cpp
[133/218] Compiling cholesky.cpp
[134/218] Compiling reduce.cpp
[135/218] Compiling utils.cpp
[136/218] Compiling unary_ops.cpp
[137/218] Compiling unary.cpp
[138/218] Compiling ternary_ops.cpp
[139/218] Compiling ternary.cpp
[140/218] Compiling steel_gemm_splitk_nax.cpp
[141/218] Compiling steel_gemm_splitk.cpp
[142/218] Compiling steel_gemm_segmented.cpp
[143/218] Compiling steel_gemm_masked.cpp
[144/218] Compiling steel_gemm_gather_nax.cpp
[145/218] Compiling steel_gemm_gather.cpp
[146/218] Compiling steel_gemm_fused_nax.cpp
[147/218] Compiling steel_gemm_fused.cpp
[148/218] Compiling steel_conv_general.cpp
[149/218] Compiling load.cpp
[150/218] Compiling steel_conv_3d.cpp
[151/218] Compiling steel_conv.cpp
[152/218] Compiling compiled.cpp
[153/218] Compiling steel_attention_nax.cpp
[154/218] Compiling steel_attention.cpp
[155/218] Compiling sort.cpp
[156/218] Compiling softmax.cpp
[157/218] Compiling scatter_axis.cpp
[158/218] Compiling broadcasting.cpp
[159/218] Compiling scatter.cpp
[160/218] Compiling common.cpp
[161/218] Compiling scan.cpp
[162/218] Compiling reduce_utils.cpp
[163/218] Compiling reduce.cpp
[164/218] Compiling quantized_utils.cpp
[165/218] Compiling quantized_nax.cpp
[166/218] Compiling quantized.cpp
[167/218] Compiling masked_scatter.cpp
[168/218] Compiling logsumexp.cpp
[169/218] Compiling hadamard.cpp
[170/218] Compiling gemv_masked.cpp
[171/218] Compiling gemm_nax.cpp
[172/218] Compiling gemm.cpp
[173/218] Compiling gather_front.cpp
[174/218] Compiling gather_axis.cpp
[175/218] Compiling gather.cpp
[176/218] Compiling fp_quantized_nax.cpp
[177/218] Compiling fp_quantized.cpp
[178/218] Compiling fft.cpp
[179/218] Compiling copy.cpp
[180/218] Compiling conv.cpp
[181/218] Compiling compiled_preamble.cpp
[182/218] Compiling binary_two.cpp
[183/218] Compiling binary.cpp
[183/218] Compiling binary_ops.cpp
[185/218] Compiling arange.cpp
[186/218] Compiling copy.cpp
[187/218] Compiling conv.cpp
[188/218] Compiling array.cpp
[189/218] Compiling version.cpp
[190/218] Compiling transforms_impl.cpp
[191/218] Compiling transforms.cpp
[192/218] Compiling stream.cpp
[193/218] Compiling string.cpp
[194/218] Compiling vector.cpp
[195/218] Compiling reduce.cpp
[196/218] Compiling compiled_conditional.cpp
[197/218] Compiling random.cpp
[198/218] Compiling memory.cpp
[199/218] Compiling metal.cpp
[200/218] Compiling linalg.cpp
[201/218] Compiling io_types.cpp
[202/218] Compiling ops.cpp
[203/218] Compiling map.cpp
[204/218] Compiling io.cpp
[205/218] Compiling error.cpp
[206/218] Compiling fft.cpp
[207/218] Compiling fast.cpp
[208/218] Compiling format.cc
[209/218] Compiling export.cpp
[210/218] Compiling cuda.cpp
[211/218] Compiling device.cpp
[212/218] Compiling compile.cpp
[213/218] Compiling Cmlx.m
[214/218] Compiling binary.cpp
[216/255] Compiling MLX ArrayAt.swift
[217/255] Compiling MLX Cmlx+Util.swift
[218/255] Compiling MLX DType.swift
[219/255] Compiling MLX Device.swift
[220/258] Compiling MLX ErrorHandler.swift
[221/258] Compiling MLX Export.swift
[222/258] Compiling MLX FFT.swift
[223/258] Compiling MLX Factory.swift
[224/258] Compiling MLX MLXFast.swift
[225/258] Compiling MLX MLXFastKernel.swift
[226/258] Compiling MLX Memory.swift
[227/258] Compiling MLX Nested.swift
[228/258] Compiling MLX Random.swift
[229/258] Compiling MLX State.swift
[230/258] Compiling MLX Stream.swift
[231/258] Compiling MLX Transforms+Compile.swift
[232/258] Compiling MLX Ops+Array.swift
[233/258] Compiling MLX Ops.swift
[234/258] Compiling MLX ParameterTypes.swift
[235/258] Compiling MLX Protocols.swift
[236/258] Compiling MLX MLXArray+Normalizer.swift
[237/258] Compiling MLX MLXArray+Ops.swift
[238/258] Compiling MLX MLXArray.swift
[239/258] Compiling MLX MLXCustomFunction.swift
[240/258] Compiling MLX Transforms+CompileOverloads.swift
[241/258] Compiling MLX Transforms+Eval.swift
[242/258] Compiling MLX Transforms+Grad.swift
[243/258] Compiling MLX Transforms+Internal.swift
[244/258] Emitting module MLX
[245/258] Compiling MLX Foundation+Util.swift
[246/258] Compiling MLX GPU+Metal.swift
[247/258] Compiling MLX IO.swift
[248/258] Compiling MLX Linalg.swift
[249/258] Compiling MLX MLXArray+Bytes.swift
[250/258] Compiling MLX MLXArray+Indexing.swift
[251/258] Compiling MLX MLXArray+Init.swift
[252/258] Compiling MLX MLXArray+Metal.swift
[253/258] Compiling MLX Transforms+Vmap.swift
[254/258] Compiling MLX Transforms.swift
[255/258] Compiling MLX WiredMemory.swift
[256/260] Emitting module MLXRandom
[257/260] Compiling MLXRandom Random.swift
[258/271] Compiling TurboVec LloydMaxCodebook.swift
[259/272] Compiling TurboVec Calibration.swift
[260/272] Compiling TurboVec BitPacker.swift
[261/272] Compiling TurboVec VectorMath.swift
/Users/admin/builder/spi-builder-workspace/Sources/TurboVec/Math/VectorMath.swift:57:9: warning: 'cblas_sgemv' was deprecated in macOS 13.3: An updated CBLAS interface supporting ILP64 is available.  Please compile with -DACCELERATE_NEW_LAPACK to access the new headers and -DACCELERATE_LAPACK_ILP64 for ILP64 support.
 55 |         cols: Int
 56 |     ) {
 57 |         cblas_sgemv(
    |         `- warning: 'cblas_sgemv' was deprecated in macOS 13.3: An updated CBLAS interface supporting ILP64 is available.  Please compile with -DACCELERATE_NEW_LAPACK to access the new headers and -DACCELERATE_LAPACK_ILP64 for ILP64 support.
 58 |             CblasRowMajor, CblasNoTrans,
 59 |             Int32(rows), Int32(cols),
[262/272] Compiling TurboVec Persistence.swift
[263/272] Compiling TurboVec MLXBackend.swift
/Users/admin/builder/spi-builder-workspace/Sources/TurboVec/MLX/MLXBackend.swift:29:23: warning: static property 'isAvailable' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 27 |     /// SwiftPM test runner, the metallib may not be available — leave this
 28 |     /// as `false` and the CPU path is used.
 29 |     public static var isAvailable: Bool = false
    |                       |- warning: static property 'isAvailable' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'isAvailable' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'isAvailable' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 30 |
 31 |     /// Enable MLX GPU acceleration. Call once at app startup.
[264/272] Emitting module TurboVec
/Users/admin/builder/spi-builder-workspace/Sources/TurboVec/MLX/MLXBackend.swift:29:23: warning: static property 'isAvailable' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 27 |     /// SwiftPM test runner, the metallib may not be available — leave this
 28 |     /// as `false` and the CPU path is used.
 29 |     public static var isAvailable: Bool = false
    |                       |- warning: static property 'isAvailable' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'isAvailable' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'isAvailable' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 30 |
 31 |     /// Enable MLX GPU acceleration. Call once at app startup.
[265/272] Compiling TurboVec Types.swift
[266/272] Compiling TurboVec IdMapIndex.swift
[267/272] Compiling TurboVec TurboQuantIndex.swift
[268/272] Compiling TurboVec RandomRotation.swift
/Users/admin/builder/spi-builder-workspace/Sources/TurboVec/Math/RandomRotation.swift:72:9: warning: 'sgeqrf_' was deprecated in macOS 13.3: The CLAPACK interface is deprecated.  Please compile with -DACCELERATE_NEW_LAPACK to access the new lapack headers.
 70 |         var workQuery: Float = 0
 71 |         var lworkQuery: __CLPK_integer = -1
 72 |         sgeqrf_(&m, &nCol, &A, &lda, &tau, &workQuery, &lworkQuery, &info)
    |         `- warning: 'sgeqrf_' was deprecated in macOS 13.3: The CLAPACK interface is deprecated.  Please compile with -DACCELERATE_NEW_LAPACK to access the new lapack headers.
 73 |
 74 |         var lwork = __CLPK_integer(workQuery)
/Users/admin/builder/spi-builder-workspace/Sources/TurboVec/Math/RandomRotation.swift:77:9: warning: 'sgeqrf_' was deprecated in macOS 13.3: The CLAPACK interface is deprecated.  Please compile with -DACCELERATE_NEW_LAPACK to access the new lapack headers.
 75 |         var work = [Float](repeating: 0, count: Int(lwork))
 76 |
 77 |         sgeqrf_(&m, &nCol, &A, &lda, &tau, &work, &lwork, &info)
    |         `- warning: 'sgeqrf_' was deprecated in macOS 13.3: The CLAPACK interface is deprecated.  Please compile with -DACCELERATE_NEW_LAPACK to access the new lapack headers.
 78 |         guard info == 0 else {
 79 |             fatalError("sgeqrf_ failed with info=\(info)")
/Users/admin/builder/spi-builder-workspace/Sources/TurboVec/Math/RandomRotation.swift:84:9: warning: 'sorgqr_' was deprecated in macOS 13.3: The CLAPACK interface is deprecated.  Please compile with -DACCELERATE_NEW_LAPACK to access the new lapack headers.
 82 |         // Extract Q — use separate variables to avoid overlapping access
 83 |         lworkQuery = -1
 84 |         sorgqr_(&m, &nCol, &nCol2, &A, &lda, &tau, &workQuery, &lworkQuery, &info)
    |         `- warning: 'sorgqr_' was deprecated in macOS 13.3: The CLAPACK interface is deprecated.  Please compile with -DACCELERATE_NEW_LAPACK to access the new lapack headers.
 85 |         lwork = __CLPK_integer(workQuery)
 86 |         work = [Float](repeating: 0, count: Int(lwork))
/Users/admin/builder/spi-builder-workspace/Sources/TurboVec/Math/RandomRotation.swift:89:9: warning: 'sorgqr_' was deprecated in macOS 13.3: The CLAPACK interface is deprecated.  Please compile with -DACCELERATE_NEW_LAPACK to access the new lapack headers.
 87 |         nCol = __CLPK_integer(n)
 88 |         nCol2 = __CLPK_integer(n)
 89 |         sorgqr_(&m, &nCol, &nCol2, &A, &lda, &tau, &work, &lwork, &info)
    |         `- warning: 'sorgqr_' was deprecated in macOS 13.3: The CLAPACK interface is deprecated.  Please compile with -DACCELERATE_NEW_LAPACK to access the new lapack headers.
 90 |         guard info == 0 else {
 91 |             fatalError("sorgqr_ failed with info=\(info)")
[269/272] Compiling TurboVec SearchKernel.swift
[270/274] Compiling TurboVecBenchmark main.swift
[271/274] Emitting module TurboVecBenchmark
[271/274] Write Objects.LinkFileList
[272/274] Linking TurboVecBenchmark
[273/274] Applying TurboVecBenchmark
Build complete! (54.70s)
Fetching https://github.com/ml-explore/mlx-swift
[1/15112] Fetching mlx-swift
Fetched https://github.com/ml-explore/mlx-swift from cache (1.58s)
Computing version for https://github.com/ml-explore/mlx-swift
Computed https://github.com/ml-explore/mlx-swift at 0.31.4 (0.50s)
Fetching https://github.com/apple/swift-numerics from cache
Fetched https://github.com/apple/swift-numerics from cache (1.06s)
Computing version for https://github.com/apple/swift-numerics
Computed https://github.com/apple/swift-numerics at 1.1.1 (1.56s)
Creating working copy for https://github.com/ml-explore/mlx-swift
Working copy of https://github.com/ml-explore/mlx-swift resolved at 0.31.4
Creating working copy for https://github.com/apple/swift-numerics
Working copy of https://github.com/apple/swift-numerics resolved at 1.1.1
Build complete.
{
  "dependencies" : [
    {
      "identity" : "mlx-swift",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.31.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/ml-explore/mlx-swift"
    }
  ],
  "manifest_display_name" : "mlx-turbovec-swift",
  "name" : "mlx-turbovec-swift",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "14.0"
    },
    {
      "name" : "ios",
      "version" : "17.0"
    }
  ],
  "products" : [
    {
      "name" : "TurboVec",
      "targets" : [
        "TurboVec"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "TurboVecBenchmark",
      "targets" : [
        "TurboVecBenchmark"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "TurboVecTests",
      "module_type" : "SwiftTarget",
      "name" : "TurboVecTests",
      "path" : "Tests/TurboVecTests",
      "sources" : [
        "TurboVecTests.swift"
      ],
      "target_dependencies" : [
        "TurboVec"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TurboVecBenchmark",
      "module_type" : "SwiftTarget",
      "name" : "TurboVecBenchmark",
      "path" : "Sources/TurboVecBenchmark",
      "product_memberships" : [
        "TurboVecBenchmark"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "TurboVec"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "TurboVec",
      "module_type" : "SwiftTarget",
      "name" : "TurboVec",
      "path" : "Sources/TurboVec",
      "product_dependencies" : [
        "MLX",
        "MLXRandom"
      ],
      "product_memberships" : [
        "TurboVec",
        "TurboVecBenchmark"
      ],
      "sources" : [
        "Core/IdMapIndex.swift",
        "Core/TurboQuantIndex.swift",
        "Core/Types.swift",
        "MLX/MLXBackend.swift",
        "Math/RandomRotation.swift",
        "Math/VectorMath.swift",
        "Persistence/Persistence.swift",
        "Quantization/BitPacker.swift",
        "Quantization/Calibration.swift",
        "Quantization/LloydMaxCodebook.swift",
        "Search/SearchKernel.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.