Skip to content

Swift Package for accessing Formula 1 data from the Ergast API

License

Notifications You must be signed in to change notification settings

sjoness/Formula1API

 
 

Repository files navigation

Formula 1 API

This Swift library provides endpoint access to Formula 1 data provided by the Ergast API. By using this library, you won't have to build the interactive layer yourself, and can just start consuming the data.

Installing / Getting started

Formula 1 API supports Swift Package Manager. To use SwiftPM, you should use the most recent version of Xcode to add this project.

Click File -> Swift Packages -> Add Package Dependency, enter Formula1API repo's URL. Or you can login Xcode with your GitHub account and just type Formula1API to search.

After select the package, you can choose the dependency type (tagged version, branch or commit). As of now, since there's no 1.0.0 release yet, choose master branch.

Initial Configuration

No configuration needed!

Deploying / Publishing

You can't run this library in your own server since it interacts with the live network. If you're interested in running your own server to fetch F1 data, check out this repository.

Features

Formula1API provides functions that allow you to access endpoints for data.

Currently, you can fetch:

  • Circuits (all, specified season)
  • Seasons
  • Constructors (all, specified season)
  • Race Schedule (specified season)
  • Race Results (specified season)
  • Qualifying Results (specified season),
  • Pit Stops (specified season),
  • Laps(specified season)

More endpoints will be accessible as development progresses.

Usage

Usage of this library within your app or package is simple.

Access endpoints via the Formula1API object.

Example:

Formula1API.allConstructors(for: .year(2022)) { result in
    switch result {
        case .success(let constructors):
            print(schedule)
        case .failure(let error):
            print(error)
    }
}

Formula1API.constructors { result in
    switch result {
        case .success(let constructors):
            print(schedule)
        case .failure(let error):
            print(error)
    }
}

Licensing

The code in this project is licensed under MIT license.

About

Swift Package for accessing Formula 1 data from the Ergast API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 100.0%