OpenAPI Integration for Bottle
Project description
About
The Bottle OpenAPI 3 Plugin is a toolkit for performing validation of requests against an OpenAPI document for Bottle applications. It is built on the openapi-core and openapi-spec-validator libraries, and supports the OpenAPI 3 specification.
License
This codebase is MIT licensed.
Requirements
A relatively recent version of Python (3.5+) is required. This plugin depends on the aforementioned openapi-core and openapi-spec-validator libraries, and also requires a relatively recent version of bottle (0.12+).
Quickstart
The Bottle OpenAPI 3 plugin may either be installed from pypi as the bottle-openapi-3 package:
pip install bottle-openapi-3
or may be installed from source from the git repository:
python setup.py install
Once the plugin is installed, it may be used in a Bottle application by loading the OpenAPI schema and installing the plugin. An example:
import bottle
import yaml
from bottle_openapi_3 import OpenAPIPlugin
app = bottle.Bottle()
with open("swagger.yaml") as f:
spec = yaml.load(f)
@app.route("/api/foo")
def foo_handler():
return {"foo": "bar"}
app.install(OpenAPIPlugin(spec))
app.run()
The example’s specification:
openapi: 3.0.0
info:
title: My API
servers:
- url: /api
paths:
/foo:
get:
summary: Fetch an object
responses:
"200":
description: "An object was successfully generated."
content:
application/json:
schema: {"type": "object"}
Advanced Usage
TODO
Changelog
0.1.2 (May 2021)
Fixed an issue decoding the request body for HTTP methods like POST, PUT, etc.
0.1.0 (Jan 2021)
Initial alpha release of the OpenAPI 3 plugin for Bottle. Most functionality should be implemented.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file bottle-openapi-3-0.1.2.tar.gz
.
File metadata
- Download URL: bottle-openapi-3-0.1.2.tar.gz
- Upload date:
- Size: 1.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7c59ab94d6ece693bdac55f7aeaffc78fec1f5400588f38d3e8a055a47334bf |
|
MD5 | 13e3e923b2f117699b6d347d58fd8580 |
|
BLAKE2b-256 | a822ba85c62b7e83b2261e332f506397bd534813bd67991e50a23073930c72cf |
File details
Details for the file bottle_openapi_3-0.1.2-py2.py3-none-any.whl
.
File metadata
- Download URL: bottle_openapi_3-0.1.2-py2.py3-none-any.whl
- Upload date:
- Size: 1.1 MB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a908546f6f00271cf9eda9d2c5e548dcb41edb705c00cda791bd2288ade6d923 |
|
MD5 | 4913e1c98a6f421b951a64c4db395ef1 |
|
BLAKE2b-256 | d6f675892b69b7760010784e8ee46ee4901c2bda409301c4506e943b91e477f5 |