I feel pretty strongly that we should aim for some consistency in package and module naming. The NIO team want to reserve the NIO prefix, which is fine, but for the rest we should define some conventions. This will help with discoverability, marketing of our overall effort, and developer sanity.
Currently for package naming we have:
swift-nio-http-client
postgres-nio
swift-redis-nio-client
So basically, a mess.
I propose we go with swift-http-client-nio
. In other words:
-
swift
- common prefix on everything, makes it clear to people driving by on GitHub that this is a Swift package -
http-client
- obvious, that's what it is. Enforce uniqueness of this for SSWG packages. -
nio
- common suffix for NIO-based packages going through SSWG. Avoids collisions with non NIO-based HTTP clients and helps with the marketing of NIO as the go-to foundation for server-side Swift.
Getting consistency would involve some more renaming:
-
nio-postgres
becomesswift-postgres-client-nio
-
swift-redis-nio-client
becomesswift-redis-client-nio
For module names we can drop the "swift" and go with import HTTPClientNIO
, import PostgresClientNIO
, import RedisClientNIO
.
Thoughts? @Mordil @tanner0101