title: Bottle
category: page
slug: bottle
sort-order: 0204
choice1url: /deployment.html
choice1icon: fa-share fa-inverse
choice1text: How do I deploy my Bottle app once I've built the initial concept?
choice2url: /cascading-style-sheets.html
choice2icon: fa-css3 fa-inverse
choice2text: The user interface I built looks terrible. How do I style my web app?
choice3url: /web-frameworks.html
choice3icon: fa-code fa-inverse
choice3text: I'd like to go back to reviewing other web frameworks.
choice4url: /source-control.html
choice4icon: fa-code-fork fa-inverse
choice4text: How can I version and store my source code so I don't lose it?


# Bottle
[Bottle](http://bottlepy.org/docs/dev/index.html) is a WSGI-compliant
[single source file](https://github.com/defnull/bottle/blob/master/bottle.py)
web framework with no external dependencies except for the standard library
included with Python.


## Bottle resources
* The [official Bottle tutorial](http://bottlepy.org/docs/dev/tutorial.html) 
  provides a thorough view of basic concepts and features for the framework.

* Digital Ocean provides an extensive [introductory post on Bottle](https://www.digitalocean.com/community/articles/how-to-use-the-bottle-micro-framework-to-develop-python-web-apps).

* This tutorial provides a walkthrough for
[getting started with Bottle](http://www.giantflyingsaucer.com/blog/?p=3598).

* Here's a short code snippet for 
  [creating a RESTful API with Bottle and MongoDB](http://myadventuresincoding.wordpress.com/2011/01/02/creating-a-rest-api-in-python-using-bottle-and-mongodb/).

* This [tutorial](http://gotofritz.net/blog/weekly-challenge/restful-python-api-bottle/) 
  is another Bottle walkthrough for creating a RESTful web API.

* [BAM! A Web Framework "Short Stack"](http://reachtim.com/articles/BAM-Short-Stack.html)
  is a walkthrough of using Bottle, Apache and MongoDB to create a web
  application.

* [Decanter](http://gengo.github.io/decanter/) is a library for structuring 
  Bottle projects.


## Open source Bottle example projects
* [Pattle](https://github.com/thekad/pasttle) is a pastebin clone built with
  Bottle.


## Bottle framework learning checklist
<i class="fa fa-check-square-o"></i> 
[Download Bottle](https://github.com/defnull/bottle/raw/master/bottle.py) or
install via pip with ``pip install bottle`` on your local development machine.

<i class="fa fa-check-square-o"></i> 
Work through the official 
[Bottle tutorial](http://bottlepy.org/docs/dev/tutorial.html).

<i class="fa fa-check-square-o"></i> 
Start coding your Bottle app based on what you learned in the official 
tutorial plus reading open source example applications found below. 

<i class="fa fa-check-square-o"></i> 
Move on to the [deployment section](/deployment.html) to get your initial 
Bottle application on the web.


### What do you need to learn next?
