MIT/X Consortium License    
5.0/5 1
An Open Source, simple and fast WSGI-framework for developing small web applications

editor's review




Bottle (also known as python-bottle) is an open source, fast, portable, free and very simple command-line software implemented in Python and designed from the ground up to act as a one-file WSGI framework.

Features at a glance

The software is in fact a micro-framework that can be used to easily develop tiny web-based applications. It depends on the Python Standard Library and features request dispatching, URL parameters, WSGI abstraction, HTTP header, HTTP development server, speed optimizations, and cookie management.

Additionally, Bottle provides support for static files, errors, templates, no IndentationErrors, Mako-Templates, sendfile, self optimising routes, and fast static routes. It supports all operating systems where Python is installed.

It can send request to function-call mapping, supporting both dynamic and clean URLs, supports Jinja2, Cheetah and Mako templates via Python-based, fast built-in template engine, offers quick access to file uploads, cookies, form data, headers or any other HTTP-related metadata, and supports Google App Engine, fapws3, cherrypy, bjoern, paste and other HTTP servers that support WSGI.

Getting started with Bottle

First of all, it is very important to mention here that Bottle is compatible with both 2.x and 3.x stable branches of the Python programming language. To install it on your Linux box, download the latest version of Bottle from Softpedia, save the archive somewhere on your computer, unpack it, open a terminal app and run the ‘sudo python install’ command.

Alternatively, you can just open a terminal emulator program and run the ‘pip install bottle’ or ‘easy_install -U bottle’ commands, or simply download the file into your project directory.

A Hello World example

To see how Bottle works, run a very simple “Hello World” example by pasting the code below into a Python console, then open your web browser and access the http://localhost:8080/hello/world URL.

from bottle import route, run, template


def index(name):

      return template('Hello {{name}}!', name=name)

run(host='localhost', port=8080)

Bottle was reviewed by Marius Nestor
Last updated on December 18th, 2014
Bottle - Example: "Hello World" in a bottle

0 User reviews so far.