

# Using Async

Async is a library revolving around two main concepts:

- Promises and Futures
- (Reactive) Streams
- EventLoops

Together they form the foundation of Vapor 3's data flow.

## With Vapor

This package is included with Vapor by default, just add:

    import Async

## Without Vapor

Async is a powerful library for any Swift project. To include it in your package, add the following to your `Package.swift` file.

    // swift-tools-version:4.0
    import PackageDescription

    let package = Package(
        name: "Project",
        dependencies: [
            ...
            .package(url: "https://github.com/vapor/async.git", .revision("beta")),
        ],
        targets: [
          .target(name: "Project", dependencies: ["Async", ... ])
        ]
    )

Use `import Async` to access Async's APIs.