Swiftpack.co - Package - kylef/Curassow


Build Status

Curassow is a Swift Nest HTTP Server. It uses the pre-fork worker model and it's similar to Python's Gunicorn and Ruby's Unicorn.

It exposes a Nest-compatible interface for your application, allowing you to use Curassow with any Nest compatible web frameworks of your choice.


Full documentation can be found on the Curassow website: https://curassow.fuller.li


To use Curassow, you will need to install it via the Swift Package Manager, you can add it to the list of dependencies in your Package.swift:

import PackageDescription

let package = Package(
  name: "HelloWorld",
  dependencies: [
    .Package(url: "https://github.com/kylef/Curassow.git", majorVersion: 0, minor: 6),

Afterwards you can place your web application implementation in Sources and add the runner inside main.swift which exposes a command line tool to run your web application:

import Curassow
import Inquiline

serve { request in
  return Response(.ok, contentType: "text/plain", body: "Hello World")

Then build and run your application:

$ swift build --configuration release

Example Application

You can find a hello world example application that uses Curassow.


Curassow is licensed under the BSD license. See LICENSE for more info.


Stars: 394
Help us keep the lights on


0.6.1 - Apr 7, 2017

Added support for Swift 3.1.

0.4.1 - Mar 5, 2016


  • The WEB_CONCURRENCY environment variable can be used to configure the amount of workers.
  • The PORT environment variable can be used to configure the default listening port.
  • You can now daemonize Curassow via the --daemon option.

0.5.0 - Mar 5, 2016


  • Adds support for streamable request and response bodies and support for NEP2.

0.4.0 - Feb 12, 2016

  • It's now possible to disable worker timeouts by setting the timeout interval to 0.
  • Curassow can now bind to unix sockets.

0.3.0 - Jan 24, 2016


  • Worker processes will now respawn if they crash or timeout.