The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of SwiftYFinance, reference master (08de10), with Swift 6.0 for macOS (SPM) on 10 Mar 2025 00:43:11 UTC.

Swift 6 data race errors: 5

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.2.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: 4.60.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/alexdremov/SwiftYFinance.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/alexdremov/SwiftYFinance
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 08de109 Merge pull request #9 from mattrudin/feature/remove-alamofire
Cloned https://github.com/alexdremov/SwiftYFinance.git
Revision (git rev-parse @):
08de10916d40302d03c5220a03e8c083a221e613
SUCCESS checkout https://github.com/alexdremov/SwiftYFinance.git at master
Fetching https://github.com/SwiftyJSON/SwiftyJSON.git
[1/6127] Fetching swiftyjson
Fetched https://github.com/SwiftyJSON/SwiftyJSON.git from cache (1.47s)
Computing version for https://github.com/SwiftyJSON/SwiftyJSON.git
Computed https://github.com/SwiftyJSON/SwiftyJSON.git at 4.3.0 (0.51s)
Creating working copy for https://github.com/SwiftyJSON/SwiftyJSON.git
Working copy of https://github.com/SwiftyJSON/SwiftyJSON.git resolved at 4.3.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "swiftyfinance",
      "name": "SwiftYFinance",
      "url": "https://github.com/alexdremov/SwiftYFinance.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwiftYFinance",
      "dependencies": [
        {
          "identity": "swiftyjson",
          "name": "SwiftyJSON",
          "url": "https://github.com/SwiftyJSON/SwiftyJSON.git",
          "version": "4.3.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwiftyJSON",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/alexdremov/SwiftYFinance.git
[1/1203] Fetching swiftyfinance
Fetched https://github.com/alexdremov/SwiftYFinance.git from cache (1.35s)
Fetching https://github.com/SwiftyJSON/SwiftyJSON.git from cache
Fetched https://github.com/SwiftyJSON/SwiftyJSON.git from cache (0.56s)
Computing version for https://github.com/SwiftyJSON/SwiftyJSON.git
Computed https://github.com/SwiftyJSON/SwiftyJSON.git at 4.3.0 (0.02s)
Creating working copy for https://github.com/alexdremov/SwiftYFinance.git
Working copy of https://github.com/alexdremov/SwiftYFinance.git resolved at master (08de109)
Creating working copy for https://github.com/SwiftyJSON/SwiftyJSON.git
Working copy of https://github.com/SwiftyJSON/SwiftyJSON.git resolved at 4.3.0
warning: '.resolve-product-dependencies': dependency 'swiftyfinance' is not used by any target
Found 1 product dependencies
  - SwiftyJSON
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/alexdremov/SwiftYFinance.git
https://github.com/alexdremov/SwiftYFinance.git
{
  "dependencies" : [
    {
      "identity" : "swiftyjson",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.0.0",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/SwiftyJSON/SwiftyJSON.git"
    }
  ],
  "manifest_display_name" : "SwiftYFinance",
  "name" : "SwiftYFinance",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.12"
    },
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "2.0"
    },
    {
      "name" : "tvos",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftYFinance",
      "targets" : [
        "SwiftYFinance"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftYFinanceTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftYFinanceTests",
      "path" : "Tests/SwiftYFinanceTests",
      "product_dependencies" : [
        "SwiftyJSON"
      ],
      "sources" : [
        "StockInfoTests.swift"
      ],
      "target_dependencies" : [
        "SwiftYFinance"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftYFinance",
      "module_type" : "SwiftTarget",
      "name" : "SwiftYFinance",
      "path" : "Sources",
      "product_dependencies" : [
        "SwiftyJSON"
      ],
      "product_memberships" : [
        "SwiftYFinance"
      ],
      "sources" : [
        "DataTypes/CalendarEvents.swift",
        "DataTypes/ChartTimeInterval.swift",
        "DataTypes/IdentifierSummary.swift",
        "DataTypes/IndexTrend.swift",
        "DataTypes/Price.swift",
        "DataTypes/QuoteSummarySelection.swift",
        "DataTypes/QuoteType.swift",
        "DataTypes/RecentStockData.swift",
        "DataTypes/RecommendationTrend.swift",
        "DataTypes/StockChartData.swift",
        "DataTypes/SummaryDetail.swift",
        "DataTypes/SummaryProfile.swift",
        "DataTypes/YFNewsSearchResult.swift",
        "DataTypes/YFQuoteSearchResult.swift",
        "Exceptions/RequestError.swift",
        "Exceptions/URLGenerationError.swift",
        "Exceptions/YFinanceResponseError.swift",
        "Processing/StringSearch.swift",
        "Processing/SwiftYFinance.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.2.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/3] Write sources
[2/3] Write swift-version-5BDAB9E9C0126B9D.txt
[4/5] Compiling SwiftyJSON SwiftyJSON.swift
[5/5] Emitting module SwiftyJSON
[6/24] Compiling SwiftYFinance RequestError.swift
[7/24] Compiling SwiftYFinance URLGenerationError.swift
[8/24] Compiling SwiftYFinance YFinanceResponseError.swift
[9/24] Compiling SwiftYFinance StringSearch.swift
[10/25] Compiling SwiftYFinance RecommendationTrend.swift
[11/25] Compiling SwiftYFinance StockChartData.swift
[12/25] Compiling SwiftYFinance YFNewsSearchResult.swift
[13/25] Compiling SwiftYFinance YFQuoteSearchResult.swift
[14/25] Compiling SwiftYFinance QuoteType.swift
[15/25] Compiling SwiftYFinance RecentStockData.swift
[16/25] Compiling SwiftYFinance Price.swift
[17/25] Compiling SwiftYFinance QuoteSummarySelection.swift
[18/25] Compiling SwiftYFinance SummaryDetail.swift
[19/25] Compiling SwiftYFinance SummaryProfile.swift
[20/25] Compiling SwiftYFinance IdentifierSummary.swift
[21/25] Compiling SwiftYFinance IndexTrend.swift
[22/25] Compiling SwiftYFinance CalendarEvents.swift
[23/25] Compiling SwiftYFinance ChartTimeInterval.swift
[24/25] Emitting module SwiftYFinance
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:19:16: warning: static property 'crumb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 17 |      The framework fetches it during the first use.
 18 |      */
 19 |     static var crumb: String = ""
    |                |- warning: static property 'crumb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'crumb' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'crumb' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 20 |     static var cookies: String = ""
 21 |
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:20:16: warning: static property 'cookies' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 18 |      */
 19 |     static var crumb: String = ""
 20 |     static var cookies: String = ""
    |                |- warning: static property 'cookies' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'cookies' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'cookies' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 |
 22 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:26:16: warning: static property 'cacheCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 24 |      By changing url with this parameter, the app expects uncached response.
 25 |      */
 26 |     static var cacheCounter: Int = 0
    |                |- warning: static property 'cacheCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'cacheCounter' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'cacheCounter' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 27 |
 28 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:31:16: warning: static property 'headers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 29 |      The headers to use in all requests
 30 |      */
 31 |     static var headers: [String: String] = [
    |                |- warning: static property 'headers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'headers' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'headers' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 32 |         "Accept": "*/*",
 33 |         "Pragma": "no-cache",
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:45:16: warning: static property 'session' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 43 |      - Note: it is crucial as without httpShouldSetCookies parameter, sometimes, Yahoo sends invalid cookies that are saved. Then, all consequent requests corrupt.
 44 |      */
 45 |     static var session: URLSession = {
    |                |- warning: static property 'session' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'session' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'session' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 46 |         let configuration = URLSessionConfiguration.default
 47 |         configuration.httpShouldSetCookies = false
[25/25] Compiling SwiftYFinance SwiftYFinance.swift
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:19:16: warning: static property 'crumb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 17 |      The framework fetches it during the first use.
 18 |      */
 19 |     static var crumb: String = ""
    |                |- warning: static property 'crumb' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'crumb' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'crumb' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 20 |     static var cookies: String = ""
 21 |
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:20:16: warning: static property 'cookies' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 18 |      */
 19 |     static var crumb: String = ""
 20 |     static var cookies: String = ""
    |                |- warning: static property 'cookies' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'cookies' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'cookies' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 21 |
 22 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:26:16: warning: static property 'cacheCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 24 |      By changing url with this parameter, the app expects uncached response.
 25 |      */
 26 |     static var cacheCounter: Int = 0
    |                |- warning: static property 'cacheCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'cacheCounter' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'cacheCounter' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 27 |
 28 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:31:16: warning: static property 'headers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 29 |      The headers to use in all requests
 30 |      */
 31 |     static var headers: [String: String] = [
    |                |- warning: static property 'headers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'headers' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'headers' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 32 |         "Accept": "*/*",
 33 |         "Pragma": "no-cache",
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:45:16: warning: static property 'session' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 43 |      - Note: it is crucial as without httpShouldSetCookies parameter, sometimes, Yahoo sends invalid cookies that are saved. Then, all consequent requests corrupt.
 44 |      */
 45 |     static var session: URLSession = {
    |                |- warning: static property 'session' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'session' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: annotate 'session' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 46 |         let configuration = URLSessionConfiguration.default
 47 |         configuration.httpShouldSetCookies = false
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:157:21: warning: capture of 'callback' with non-sendable type '([YFQuoteSearchResult]?, (any Error)?) -> Void' in a `@Sendable` closure
155 |             queue.async {
156 |                 if let error = error {
157 |                     callback(nil, error)
    |                     |- warning: capture of 'callback' with non-sendable type '([YFQuoteSearchResult]?, (any Error)?) -> Void' in a `@Sendable` closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
158 |                     return
159 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:157:21: warning: capture of 'callback' with non-sendable type '([YFQuoteSearchResult]?, (any Error)?) -> Void' in a `@Sendable` closure
155 |             queue.async {
156 |                 if let error = error {
157 |                     callback(nil, error)
    |                     |- warning: capture of 'callback' with non-sendable type '([YFQuoteSearchResult]?, (any Error)?) -> Void' in a `@Sendable` closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
158 |                     return
159 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:258:21: warning: capture of 'callback' with non-sendable type '([YFNewsSearchResult]?, (any Error)?) -> Void' in a `@Sendable` closure
256 |             queue.async {
257 |                 if let error = error {
258 |                     callback(nil, error)
    |                     |- warning: capture of 'callback' with non-sendable type '([YFNewsSearchResult]?, (any Error)?) -> Void' in a `@Sendable` closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
259 |                     return
260 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:258:21: warning: capture of 'callback' with non-sendable type '([YFNewsSearchResult]?, (any Error)?) -> Void' in a `@Sendable` closure
256 |             queue.async {
257 |                 if let error = error {
258 |                     callback(nil, error)
    |                     |- warning: capture of 'callback' with non-sendable type '([YFNewsSearchResult]?, (any Error)?) -> Void' in a `@Sendable` closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
259 |                     return
260 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:389:21: warning: capture of 'callback' with non-sendable type '(IdentifierSummary?, (any Error)?) -> Void' in a `@Sendable` closure
387 |             queue.async {
388 |                 if let error = error {
389 |                     callback(nil, error)
    |                     |- warning: capture of 'callback' with non-sendable type '(IdentifierSummary?, (any Error)?) -> Void' in a `@Sendable` closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
390 |                     return
391 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:389:21: warning: capture of 'callback' with non-sendable type '(IdentifierSummary?, (any Error)?) -> Void' in a `@Sendable` closure
387 |             queue.async {
388 |                 if let error = error {
389 |                     callback(nil, error)
    |                     |- warning: capture of 'callback' with non-sendable type '(IdentifierSummary?, (any Error)?) -> Void' in a `@Sendable` closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
390 |                     return
391 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:485:21: warning: capture of 'callback' with non-sendable type '(RecentStockData?, (any Error)?) -> Void' in a `@Sendable` closure
483 |             queue.async {
484 |                 if let error = error {
485 |                     callback(nil, error)
    |                     |- warning: capture of 'callback' with non-sendable type '(RecentStockData?, (any Error)?) -> Void' in a `@Sendable` closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
486 |                     return
487 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:485:21: warning: capture of 'callback' with non-sendable type '(RecentStockData?, (any Error)?) -> Void' in a `@Sendable` closure
483 |             queue.async {
484 |                 if let error = error {
485 |                     callback(nil, error)
    |                     |- warning: capture of 'callback' with non-sendable type '(RecentStockData?, (any Error)?) -> Void' in a `@Sendable` closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
486 |                     return
487 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:597:21: warning: capture of 'callback' with non-sendable type '([StockChartData]?, (any Error)?) -> Void' in a `@Sendable` closure
595 |             queue.async {
596 |                 if let error = error {
597 |                     callback(nil, error)
    |                     |- warning: capture of 'callback' with non-sendable type '([StockChartData]?, (any Error)?) -> Void' in a `@Sendable` closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
598 |                     return
599 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Processing/SwiftYFinance.swift:597:21: warning: capture of 'callback' with non-sendable type '([StockChartData]?, (any Error)?) -> Void' in a `@Sendable` closure
595 |             queue.async {
596 |                 if let error = error {
597 |                     callback(nil, error)
    |                     |- warning: capture of 'callback' with non-sendable type '([StockChartData]?, (any Error)?) -> Void' in a `@Sendable` closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
598 |                     return
599 |                 }
Build complete! (7.72s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swiftyjson",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.0.0",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/SwiftyJSON/SwiftyJSON.git"
    }
  ],
  "manifest_display_name" : "SwiftYFinance",
  "name" : "SwiftYFinance",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.12"
    },
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "2.0"
    },
    {
      "name" : "tvos",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftYFinance",
      "targets" : [
        "SwiftYFinance"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftYFinanceTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftYFinanceTests",
      "path" : "Tests/SwiftYFinanceTests",
      "product_dependencies" : [
        "SwiftyJSON"
      ],
      "sources" : [
        "StockInfoTests.swift"
      ],
      "target_dependencies" : [
        "SwiftYFinance"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftYFinance",
      "module_type" : "SwiftTarget",
      "name" : "SwiftYFinance",
      "path" : "Sources",
      "product_dependencies" : [
        "SwiftyJSON"
      ],
      "product_memberships" : [
        "SwiftYFinance"
      ],
      "sources" : [
        "DataTypes/CalendarEvents.swift",
        "DataTypes/ChartTimeInterval.swift",
        "DataTypes/IdentifierSummary.swift",
        "DataTypes/IndexTrend.swift",
        "DataTypes/Price.swift",
        "DataTypes/QuoteSummarySelection.swift",
        "DataTypes/QuoteType.swift",
        "DataTypes/RecentStockData.swift",
        "DataTypes/RecommendationTrend.swift",
        "DataTypes/StockChartData.swift",
        "DataTypes/SummaryDetail.swift",
        "DataTypes/SummaryProfile.swift",
        "DataTypes/YFNewsSearchResult.swift",
        "DataTypes/YFQuoteSearchResult.swift",
        "Exceptions/RequestError.swift",
        "Exceptions/URLGenerationError.swift",
        "Exceptions/YFinanceResponseError.swift",
        "Processing/StringSearch.swift",
        "Processing/SwiftYFinance.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Done.