Bottle is a Web Server Gateway Interface (WSGI) micro web-framework for the Python programming language. It’s designed for prototyping and building small web applications and services.
Bottle is fast, simple and lightweight, and is distributed as a single file module with no dependencies other than the Python Standard Library. This can be very convenient.
This microframework makes it easy to expose Python functions as a web page or web service.
It’s also a remarkably good learning tool for individuals that are starting out with web development.
Key Features
- Simple to learn, easy to deploy, and powerful.
- Built-in HTTP development server (based on based on wsgiref WSGIServer) and support for paste, fapws3, bjoern, gae, cherrypy or any other WSGI capable HTTP server.
- Ships with many out-of-the-box adapters for the most common WSGI servers and automates the setup process.
- Attach Bottle applications to an Apache server using mod_wsgi.
- Can run as a standalone web server or be used behind any web server which supports WSGI.
- Built-in pythonic template engine called SimpleTemplate Engine. It’s the default engine used by the view() and template() helpers but can be used as a standalone general purpose template engine. Templates are cached in memory after compilation.
- Uses a powerful routing engine to find the right callback for each request. Requests to function-call mapping with support for clean and dynamic URLs.
- Support for JSON client data (for REST and JavaScript clients).
- Expanding list of plugins for popular databases and key/value stores and other features. Most plugins are designed to be portable and re-usable across applications.
- Single file which runs with both Python 2.5+ and 3.x.
- Native support for Python 2.x and 3.x syntax.
Website: bottlepy.org
Support: GitHub Code Repository, Manual, Mailing List
Developer: Marcel Hellkamp with the support of many contributors
License: MIT License
Bottle is written in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| Best Python Micro Frameworks | |
|---|---|
| Flask | Hugely popular microframework based on Werkzeug and Jinja2 |
| FastAPI | Web framework for building APIs |
| Starlette | Lightweight ASGI framework/toolkit |
| aiohttp | Asynchronous HTTP client/server for asyncio and Python |
| Sanic | Web server and web framework |
| Falcon | Build cloud APIs, smart proxies, and app backends |
| Quart | Web microframework based on Asyncio |
| Pyramid | Start small, finish big, stay finished framework |
| Bottle | Fast, simple and lightweight WSGI micro web framework |
| Chalice | Python Serverless Microframework for AWS |
| CherryPy | Mature, minimalist, Python object-oriented web framework |
| TurboGears | Hybrid framework acting as a Full Stack framework or Microframework |
| Quixote | Aimed at sites where complex programming is required |
| Klein | Micro-framework for developing production-ready web services with Python |
| circuits | Lightweight event driven application framework |
| Clastic | Functional web framework |
| Hug | Make developing Python driven APIs as simple as possible |
| MicroPie | Ultra-micro ASGI Python web framework |
| Litestar | Powerful, lightweight, and flexible ASGI framework |
| BlackSheep | Asynchronous Python web framework |
| Robyn | Python web framework designed for high performance |
| Microdot | Small web framework for Python and MicroPython |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

