https://github.com/grpc/grpc-swift
The Swift language implementation of gRPC.
https://github.com/grpc/grpc-swift
grpc protocol-buffers swift swift-grpc
Last synced: 14 days ago
JSON representation
The Swift language implementation of gRPC.
- Host: GitHub
- URL: https://github.com/grpc/grpc-swift
- Owner: grpc
- License: apache-2.0
- Created: 2016-09-21T17:35:31.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2025-03-27T16:33:10.000Z (26 days ago)
- Last Synced: 2025-04-08T13:44:11.239Z (14 days ago)
- Topics: grpc, protocol-buffers, swift, swift-grpc
- Language: Swift
- Homepage:
- Size: 17.3 MB
- Stars: 2,135
- Watchers: 75
- Forks: 424
- Open Issues: 107
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE-OF-CONDUCT.md
- Security: SECURITY.md
- Governance: GOVERNANCE.md
Awesome Lists containing this project
- awesome-grpc - gRPC Swift - The Swift language implementation of gRPC (Official Libraries and Tools)
README
# gRPC Swift
This repository contains a gRPC implementation for Swift. You can read more
about gRPC on the [gRPC project's website][grpcio].- 📚 **Documentation** and **tutorials** are available on the [Swift Package Index][spi-grpc-swift]
- 💻 **Examples** are available in the [Examples](Examples) directory
- 🚀 **Contributions** are welcome, please see [CONTRIBUTING.md](CONTRIBUTING.md)
- 🪪 **License** is Apache 2.0, repeated in [LICENSE](License)
- 🔒 **Security** issues should be reported via the process in [SECURITY.md](SECURITY.md)
- 🔀 **Related Repositories**:
- [`grpc-swift-nio-transport`][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`][grpc-swift-protobuf] contains integrations with SwiftProtobuf for gRPC Swift.
- [`grpc-swift-extras`][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
// swift-tools-version: 6.0
import PackageDescriptionlet 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"),
]
)
]
)
```[gh-grpc]: https://github.com/grpc/grpc
[grpcio]: https://grpc.io
[spi-grpc-swift]: https://swiftpackageindex.com/grpc/grpc-swift/documentation
[grpc-swift-nio-transport]: https://github.com/grpc/grpc-swift-nio-transport
[grpc-swift-protobuf]: https://github.com/grpc/grpc-swift-protobuf
[grpc-swift-extras]: https://github.com/grpc/grpc-swift-extras