📈 GH Trending Explorer 🎲 Surprise me

← all repos

apple / swift-nio

git clone https://github.com/apple/swift-nio.git 2.104.0 · 17d ago 🔥 on GitHub Trending today

Event-driven network application framework for high performance protocol servers & clients, non-blocking.

+0
stars, 24h · #58,687
+~0
stars, 7 days · #57,752
+~0
stars, 30 days · #58,347
8.5k
★ total
818
forks · 307 open issues

Star history (as recorded here)

2026-10-20 · 8,538 ★ 2026-10-23 · 8,538 ★
LanguageSwift
LicenseApache-2.0
Created2018-02-06 (8y ago)
Last push3d ago
Watchers188
OwnerOrganization

Seen on GitHub Trending

  • 2026-10-23 — #6 daily in swift
  • 2026-10-22 — #1 daily in swift

GitHub topics

Links

README excerpt
# SwiftNIO
SwiftNIO is a cross-platform asynchronous event-driven network application framework
for rapid development of maintainable high performance protocol servers & clients.
It's like Netty, but written for Swift.
### Repository organization
The SwiftNIO project is split across multiple repositories:
Repository | NIO 2
--- | ---
[https://github.com/apple/swift-nio][repo-nio] SwiftNIO core | `from: "2.0.0"`
[https://github.com/apple/swift-nio-ssl][repo-nio-ssl] TLS (SSL) support | `from: "2.0.0"`
[https://github.com/apple/swift-nio-http2][repo-nio-http2] HTTP/2 support | `from: "1.0.0"`
[https://github.com/apple/swift-nio-extras][repo-nio-extras] useful additions around SwiftNIO | `from: "1.0.0"`
[https://github.com/apple/swift-nio-transport-services][repo-nio-transport-services] first-class support for macOS, iOS, tvOS, and watchOS | `from: "1.0.0"`
[https://github.com/apple/swift-nio-ssh][repo-nio-ssh] SSH support | `.upToNextMinor(from: "0.2.0")`
[https://github.com/apple/swift-nio-quic][repo-nio-quic] QUIC support (in active development) | `branch: "main"`
[https://github.com/apple/swift-nio-http3][repo-nio-http3] HTTP/3 support (in active development) | `branch: "main"`
Within this repository we have a number of products that provide different functionality. This package contains the following products:
- `NIO`. This is an umbrella module exporting `NIOCore`, `NIOEmbedded` and `NIOPosix`.
- `NIOCore`. This provides the core abstractions and types for using SwiftNIO (see "Conceptual Overview" for more details). Most NIO extension projects that provide things like new [`EventLoop`s][el] and [`Channel`s][c] or new protocol implementations should only need to depend on `NIOCore`.
- `NIOPosix`. This provides the primary [`EventLoopGroup`], [`EventLoop`][el], and [`Channel`s][c] for use on POSIX-based systems. This is our high performance core I/O layer. In general, this should only be imported by projects that plan to do some actual I/O, such as high-level protocol implementations or applications.
- `NIOEmbedded`. This provides [`EmbeddedChannel`][ec] and [`EmbeddedEventLoop`][eel], implementations of the `NIOCore` abstractions that provide fine-grained control over their execution. These are most often used for testing, but can also be used to drive protocol implementations in a way that is decoupled from networking altogether.
- `NIOConcurrencyHelpers`. This provides a few low-level concurrency primitives that are used by NIO implementations, such as locks and atomics.
- `NIOFoundationCompat`. This extends a number of NIO types for better interoperation with Foundation data types. If you are working with Foundation data types such as `Data`, you should import this.
- `NIOTLS`. This provides a few common abstraction types for working with multiple TLS implementations. Note that this doesn't provide TLS itself: please investigate [swift-nio-ssl][repo-nio-ssl] and [swift-nio-transport-services][repo-nio-transport-services] for concrete impleme