GitHub - grpc/grpc-swift: The Swift language implementation of gRPC. (original) (raw)
gRPC Swift
This repository contains a gRPC implementation for Swift. You can read more about gRPC on the gRPC project's website.
- 📚 Documentation and tutorials are available on the Swift Package Index
- 💻 Examples are available in the Examples directory
- 🚀 Contributions are welcome, please see CONTRIBUTING.md
- 🪪 License is Apache 2.0, repeated in LICENSE
- 🔒 Security issues should be reported via the process in SECURITY.md
- 🔀 Related Repositories:
- grpc-swift-nio-transport contains high-performance HTTP/2 client and server transport implementations for gRPC Swift built on top of SwiftNIO.
- grpc-swift-protobuf contains integrations with SwiftProtobuf for gRPC Swift.
- grpc-swift-extras contains optional extras for gRPC Swift.
Quick Start
The following snippet contains a Swift Package manifest to use gRPC Swift v2.x with the SwiftNIO based transport and SwiftProtobuf serialization:
// swift-tools-version: 6.0 import PackageDescription
let package = Package( name: "Application", platforms: [.macOS("15.0")], dependencies: [ .package(url: "https://github.com/grpc/grpc-swift.git", from: "2.0.0"), .package(url: "https://github.com/grpc/grpc-swift-nio-transport.git", from: "1.0.0"), .package(url: "https://github.com/grpc/grpc-swift-protobuf.git", from: "1.0.0"), ], targets: [ .executableTarget( name: "Server", dependencies: [ .product(name: "GRPCCore", package: "grpc-swift"), .product(name: "GRPCNIOTransportHTTP2", package: "grpc-swift-nio-transport"), .product(name: "GRPCProtobuf", package: "grpc-swift-protobuf"), ] ) ] )