Swiftpack.co - Package - IBM-Swift/Kitura


A Swift Web Framework and HTTP Server

Docs Build Status - Master macOS Linux Apache 2 codecov codebeat badge Slack Status


Kitura is a web framework and web server that is created for web services written in Swift. For more information, visit www.kitura.io.

Table of Contents


  • URL routing (e.g., GET, POST, PUT, DELETE, PATCH)
  • Codable routing
  • URL parameters
  • Static file serving
  • FastCGI support
  • SSL/TLS support
  • Pluggable middleware

Getting Started

Visit www.kitura.io for a Getting Started guide, tutorials, and API reference documentation.

Contributing to Kitura

All improvements to Kitura are very welcome! Here's how to get started with developing Kitura itself.

  1. Clone this repository.

$ git clone https://github.com/IBM-Swift/Kitura

  1. Build and run tests.

$ swift test

You can find more info on contributing to Kitura in our contributing guidelines.


We love to talk server-side Swift, and Kitura. Join our Slack to meet the team!


Stars: 6809
Help us keep the lights on

Used By



2.6.0 - Dec 18, 2018

  • Consistent handling of parameters for Codable routes #1310
  • Initialize TypesafeMiddleware first #1350
  • Allow Kitura welcome page to be disabled #1344
  • Performance improvement when sending Strings #1369
  • Conditional GET using etags #1333

2.5.6 - Nov 29, 2018

  • fix: Handle optional query parameters correctly with Type-Safe Middlewares (#1334)

2.5.0 - Aug 30, 2018

What's New

  • Enhanced OpenAPI support including query parameters
  • SwiftNIO support (enable using env KITURA_NIO=1 swift build)
  • Pluggable encoders and decoders on Router, used in Codable routing
  • Performance throughput improvements
  • New splash screen
  • Bugfixes

2.4.0 - Jun 1, 2018

What's New

  • Support for a new kind of type-safe middleware
  • Support for generating Swagger from Codable routes
  • Type-safe templating
  • Tech preview of Kitura on SwiftNIO (see kitura-nio branch)
  • request.getQueryParameters() for decoding query params in Codable routes
  • request.queryParametersMultiValues for easily decoding comma-separated query params
  • response.userInfo dictionary for stashing user data in a response
  • Extra Codable routing API for returning a single Codable from a GET route with query params
  • ParsedBody.asRaw for easy decode of HTTP body data as Data
  • Better error messages on JSON decode failure
  • Swift 4.2 support

2.3.0 - Apr 17, 2018

What's New

  • Support for sending a Codable body with a RequestError response (#1214)
  • Support for sending arrays of tuples of (Identifier, Codable) - (#1223)
  • new convenience API to simplify development of CodableRouter extensions (#1222)
  • Codable Routing support for URLEncoded forms (#1228)
  • Support for Swift 4.1 (#1230)
  • Bridge KituraNet.HTTPStatusCode (#1217)
  • Declare StaticFileServer API open to allow subclassing (#1245)
  • Documentation improvements


  • A fix for memory leaks caused by a failure to invoke callbacks in certain error paths (#1232)