Bottle (web framework)

Last updated
Bottle
Bottle-logo.svg
Developer(s) Marcel Hellkamp
Initial releaseJuly 1, 2009;12 years ago (2009-07-01)
Stable release
0.12.19 [1]   OOjs UI icon edit-ltr-progressive.svg / 12 November 2020;17 months ago (12 November 2020)
Repository Bottle Repository
Written in Python
Operating system Cross-platform
Type Web framework
License MIT
Website bottlepy.org OOjs UI icon edit-ltr-progressive.svg

Bottle is a WSGI micro web-framework for the Python programming language. It is designed to be fast, simple and lightweight, and is distributed as a single file module with no dependencies other than the Python Standard Library. The same module runs with Python 2.7 and 3.x. [2]

It offers request dispatching (routes) with URL parameter support, templates, a built-in web server and adapters for many third-party WSGI/HTTP-server and template engines. [3]

It is designed to be lightweight, and to allow development of web applications easily and quickly. [4] It is ideal for wituation like prototyping ideas, learning how web frameworks are built and uilding and running simple personal web applications. [5]

Features

Example

A simple "Hello World!"

frombottleimportroute,run,template@route('/hello/<name>')defindex(name):returntemplate('<b>Hello {{name}}</b>!',name=name)run(host='localhost',port=8080)

See also

Related Research Articles

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

The Web Server Gateway Interface is a simple calling convention for web servers to forward requests to web applications or frameworks written in the Python programming language. The current version of WSGI, version 1.0.1, is specified in Python Enhancement Proposal (PEP) 3333.

CherryPy is an object-oriented web application framework using the Python programming language. It is designed for rapid development of web applications by wrapping the HTTP protocol but stays at a low level and does not offer much more than what is defined in RFC 7231.

Django (web framework) Python web framework

Django is a Python-based free and open-source web framework that follows the model–template–views (MTV) architectural pattern. It is maintained by the Django Software Foundation (DSF), an independent organization established in the US as a 501(c)(3) non-profit.

Catalyst (software)

Catalyst is an open source web application framework written in Perl, that closely follows the model–view–controller (MVC) architecture, and supports a number of experimental web patterns. It is written using Moose, a modern object system for Perl. Its design is heavily inspired by such frameworks as Ruby on Rails, Maypole, and Spring.

TurboGears

TurboGears is a Python web application framework consisting of several WSGI components such as WebOb, SQLAlchemy, Genshi and Repoze.

Webware for Python is an object-oriented, Python web application framework. The suite uses well known design patterns and includes a fast application server, servlets, Python Server Pages (PSP), object-relational mapping, Task Scheduling, Session Management, and many other features.

Web2py is an open-source web application framework written in the Python programming language. Web2py allows web developers to program dynamic web content using Python. Web2py is designed to help reduce tedious web development tasks, such as developing web forms from scratch, although a web developer may build a form from scratch if required.

Plack (software)

Plack is a Perl web application programming framework inspired by Rack for Ruby and WSGI for Python, and it is the project behind the PSGI specification used by other frameworks such as Catalyst and Dancer. Plack allows for testing of Perl web applications without a live web server.

Flask (web framework) Python web framework

Flask is a micro web framework written in Python. It is classified as a microframework because it does not require particular tools or libraries. It has no database abstraction layer, form validation, or any other components where pre-existing third-party libraries provide common functions. However, Flask supports extensions that can add application features as if they were implemented in Flask itself. Extensions exist for object-relational mappers, form validation, upload handling, various open authentication technologies and several common framework related tools.

Dancer is an open source lightweight web application framework written in Perl and inspired by Ruby's Sinatra.

Mojolicious is a real-time web application framework, written by Sebastian Riedel, creator of the web application framework Catalyst. Licensed as free software under the Artistic License v 2.0, it is written in the Perl programming language, and is designed for use in both simple and complex web applications, based on Riedel's previous experience developing Catalyst. Documentation for the framework was partly funded by a grant from The Perl Foundation.

The following outline is provided as an overview of and topical guide to the Perl programming language:

Pylons Project is an open-source organization that develops a set of web application technologies written in Python. Initially the project was a single web framework called Pylons, but after the merger with the repoze.bfg framework under the new name Pyramid, the Pylons Project now consists of multiple related web application technologies.

Jam.py primary goal is to allow development of database-driven business web applications easily and quickly, based on DRY principle, with emphasis on CRUD.

References

  1. "Release 0.12.19". 12 November 2020. Retrieved 18 December 2020.
  2. Bottle website
  3. Web Frameworks for Python
  4. Digital Ocean Bottle tutorial
  5. Full Stack Python: Should I use Bottle for web development?
  6. List of available Plugins