<commit_before>![Kitura](https://raw.githubusercontent.com/IBM-Swift/Kitura/master/Documentation/KituraLogo.png)

**A Swift Web Framework and HTTP Server**

[![Build Status - Master](https://travis-ci.org/IBM-Swift/Kitura.svg?branch=master)](https://travis-ci.org/IBM-Swift/Kitura)
[![Build Status - Develop](https://travis-ci.org/IBM-Swift/Kitura.svg?branch=develop)](https://travis-ci.org/IBM-Swift/Kitura)
![macOS](https://img.shields.io/badge/os-Mac%20OS%20X-green.svg?style=flat)
![Linux](https://img.shields.io/badge/os-linux-green.svg?style=flat)
![Apache 2](https://img.shields.io/badge/license-Apache2-blue.svg?style=flat)
[![Join the chat at https://gitter.im/IBM-Swift/Kitura](https://badges.gitter.im/IBM-Swift/Kitura.svg)](https://gitter.im/IBM-Swift/Kitura?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

## Summary

Kitura is a web framework and web server that is created for web services written in Swift.

## Table of Contents
* [Summary](#summary)
* [Features](#features)
* [Swift version](#swift-version)
* [Installation (Docker development environment)](#installation-docker-development-environment)
* [Installation (Vagrant development environment)](#installation-vagrant-development-environment)
* [Installation (macOS)](#installation-macos)
* [Installation (Linux, Apt-based)](#installation-linux-apt-based)
* [Developing Kitura applications](#developing-kitura-applications)
* [Kitura Wiki](#kitura-wiki)
* [Developing Kitura](#developing-kitura)
* [License](#license)

## Features:

- URL routing (GET, POST, PUT, DELETE)
- URL parameters
- Static file serving
- JSON parsing
- Pluggable middleware

## Swift version
The latest version of Kitura works with the DEVELOPMENT-SNAPSHOT-2016-06-06-a version of the Swift binaries. You can download this version of the Swift binaries by following this [link](https://swift.org/download/). Compatibility with other Swift versions is not guaranteed.

## Installation (Docker development environment)

1. Install [Docker](https://docs.docker.com/engine/installation/) on your development system and start a Docker session/terminal.

2. From the Docker session, pull down the [kitura-ubuntu](https://hub.docker.com/r/ibmcom/kitura-ubuntu/) image from Docker Hub:

  `docker pull ibmcom/kitura-ubuntu:latest`

3. Create a Docker container using the `kitura-ubuntu` image you just downloaded:

  `docker run -i -t ibmcom/kitura-ubuntu:latest /bin/bash`

4. From within the Docker container, execute the `clone_build_test_kitura.sh` script to build Kitura and execute the test cases:

  `/root/clone_build_test_kitura.sh`

  The last output line from executing the `clone_build_test_kitura.sh` script should be similar to:

  `>> Finished execution of tests for Kitura (see above for results).`

5. You can now run the KituraSample executable inside the Docker container:

  `/root/start_kitura_sample.sh`

  You should see a message that says "Listening on port 8090".

## Installation (Vagrant development environment)

1. Install [VirtualBox](https://www.virtualbox.org/wiki/Downloads).
<commit_msg>Try and make this clearer.<commit_after>![Kitura](https://raw.githubusercontent.com/IBM-Swift/Kitura/master/Documentation/KituraLogo.png)

**A Swift Web Framework and HTTP Server**

[![Build Status - Master](https://travis-ci.org/IBM-Swift/Kitura.svg?branch=master)](https://travis-ci.org/IBM-Swift/Kitura)
[![Build Status - Develop](https://travis-ci.org/IBM-Swift/Kitura.svg?branch=develop)](https://travis-ci.org/IBM-Swift/Kitura)
![macOS](https://img.shields.io/badge/os-Mac%20OS%20X-green.svg?style=flat)
![Linux](https://img.shields.io/badge/os-linux-green.svg?style=flat)
![Apache 2](https://img.shields.io/badge/license-Apache2-blue.svg?style=flat)
[![Join the chat at https://gitter.im/IBM-Swift/Kitura](https://badges.gitter.im/IBM-Swift/Kitura.svg)](https://gitter.im/IBM-Swift/Kitura?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

## Summary

Kitura is a web framework and web server that is created for web services written in Swift.

## Table of Contents
* [Summary](#summary)
* [Features](#features)
* [Swift version](#swift-version)
* [Installation (Docker development environment)](#installation-docker-development-environment)
* [Installation (Vagrant development environment)](#installation-vagrant-development-environment)
* [Installation (macOS)](#installation-macos)
* [Installation (Linux, Apt-based)](#installation-linux-apt-based)
* [Developing Kitura applications](#developing-kitura-applications)
* [Kitura Wiki](#kitura-wiki)
* [Developing Kitura](#developing-kitura)
* [License](#license)

## Features:

- URL routing (GET, POST, PUT, DELETE)
- URL parameters
- Static file serving
- JSON parsing
- Pluggable middleware

## Swift version
This branch of Kitura requires the **`DEVELOPMENT-SNAPSHOT-2016-06-06-a version`** of Swift 3 trunk (master). You can download this version at [swift.org](https://swift.org/download/). *Kitura is unlikely to compile with any other version of Swift.*

## Installation (Docker development environment)

1. Install [Docker](https://docs.docker.com/engine/installation/) on your development system and start a Docker session/terminal.

2. From the Docker session, pull down the [kitura-ubuntu](https://hub.docker.com/r/ibmcom/kitura-ubuntu/) image from Docker Hub:

  `docker pull ibmcom/kitura-ubuntu:latest`

3. Create a Docker container using the `kitura-ubuntu` image you just downloaded:

  `docker run -i -t ibmcom/kitura-ubuntu:latest /bin/bash`

4. From within the Docker container, execute the `clone_build_test_kitura.sh` script to build Kitura and execute the test cases:

  `/root/clone_build_test_kitura.sh`

  The last output line from executing the `clone_build_test_kitura.sh` script should be similar to:

  `>> Finished execution of tests for Kitura (see above for results).`

5. You can now run the KituraSample executable inside the Docker container:

  `/root/start_kitura_sample.sh`

  You should see a message that says "Listening on port 8090".

## Installation (Vagrant development environment)

1. Install [VirtualBox](https://www.virtualbox.org/wiki/Downloads).

{'fraction_non_alphanumeric': 0.13475866537091027, 'fraction_numerical': 0.007936507936507936, 'mean_word_length': 5.359423274974254, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 30, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 14, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '391576', 'n_tokens_mistral': 2142, 'n_tokens_neox': 1937, 'n_words': 490}