Formula1API

1.0.0

Swift Package for accessing Formula 1 data from the Ergast API
gionoa/Formula1API

What's New

1.0.0 Release

2020-06-14T00:25:29Z

1.0.0 release for Formula 1 API, which provides access to endpoints on https://ergast.com/mrd/ for F1 data.

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 Xcode 11 to open your 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 by the Formula1API object.

Example:

Formula1API.allConstructors(for: .year(2020)) { 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.

Description

  • Swift Tools 5.2.0
View More Packages from this Author

Dependencies

  • None
Last updated: Tue Apr 09 2024 17:41:52 GMT-0900 (Hawaii-Aleutian Daylight Time)