Skip to content

A concurrency-based networking stack for modern Swift projects. Use as-is — or as a starting point for your own utilities.

License

Notifications You must be signed in to change notification settings

CypherPoet/NetStack

Repository files navigation

NetStack 🛰

Twitter: @cypher_poet

A concurrency-based networking stack for modern Swift projects. Use as-is — or as a starting point for your own utilities.

Features

  • ✅ Composable, async-enabled primitives for performing network operations with Data and transforming Codable types.
  • ✅ Utilities for URLRequest configuration.
  • ✅ Utilities for mocking URLRequest responses in tests.

Installation

NetStack ships with two library products: NetStack and NetStackTestUtils.

Xcode Projects

Select File -> Swift Packages -> Add Package Dependency and enter https://github.com/CypherPoet/NetStack.

Swift Package Manager Projects

You can add CypherPoetNetStack as a package dependency in your Package.swift file:

let package = Package(
    //...
    dependencies: [
        .package(
            name: "CypherPoetNetStack",
            url: "https://github.com/CypherPoet/NetStack",
            .exact("0.0.6")
        ),
    ],
    //...
)

From there, refer to the NetStack "product" delivered by the CypherPoetNetStack "package" inside of any of your project's target dependencies:

targets: [
    .target(
        name: "YourLibrary",
        dependencies: [
            .product(
                name: "NetStack",
                package: "CypherPoetNetStack"
            ),
        ],
        ...
    ),
    ...
]

Then simply import NetStack wherever you’d like to use it.

Usage

Projects Using NetStack

Contributing

Contributions to NetStack are most welcome. Check out some of the issue templates for more info.

💻 Developing

Requirements

  • Xcode 13.0+

📜 Creating & Building Documentation

Documentation is built with Xcode's DocC. See Apple's guidance on how to build, run, and create DocC content.

For now, the best way to view the docs is to open the project in Xcode and run the Build Documentation command. At some point in the future, I'm hoping to leverage the tooling the develops for generating/hosting DocC documentation. (Please feel free to let me know if you have any ideas or tooling recommendations around this 🙂).

🏷 License

NetStack is available under the MIT license. See the LICENSE file for more info.

About

A concurrency-based networking stack for modern Swift projects. Use as-is — or as a starting point for your own utilities.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published