Create endpoints simpler
Project description
starlette-views – A helper to make views faster with Starlette
Starlette-Views automatically converts views results into starlette.responses.Response objects.
Requirements
python >= 3.7
Installation
starlette-views should be installed using pip:
pip install starlette-views
Initialization
Just wrap your Starlette application into the views:
from starlette_views import Views
app = Starlette(...)
app = Views(app)
or you are able to import Starlette from the module (in this case you have nothing to setup more):
from starlette_views import Starlette
app = Starlette(...)
Quick Start
from starlette.applications import Starlette
from starlette.routing import Route
async def hello(request):
return 'Hello from Views!'
# Create Starlette Application
app = Starlette(routes=[
Route('/', hello)
])
# Enable the quick views
app = Views(app)
Then run the application…
$ uvicorn example:app
Open http://127.0.0.1:8000 and you will find the hello from the views.
Usage
async def render_json1(request):
"""Just return dictionary to make a JSON response."""
return {'any': 'value'}
async def render_json2(request):
"""List also works well."""
return [{'any': 'value'}]
async def render_json3(request):
"""Return a tuple to set HTTP status."""
return 403, {'message': 'Authorization required'}
async def render_html1(request):
"""Return any string to make an HTML response."""
return "<h1>I would be rendered as HTML</h1>"
async def render_html2(request):
"""Return a tuple to set HTTP status."""
return 201, 'Record Created'
# Starlette Responses works as well too
from starlette.responses import HTMLResponse
async def render_normal(request):
"""Starlette Responses are returned as is."""
return HTMLResponse('Common behaviour', status_code=200)
Bug tracker
If you have any suggestions, bug reports or annoyances please report them to the issue tracker at https://github.com/klen/starlette-views/issues
Contributing
Development of the project happens at: https://github.com/klen/starlette-views
License
Licensed under a MIT license.
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 Distributions
Built Distribution
Hashes for starlette_views-0.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8d3766c39f003434d648dc6335741118473c24a3dac4d20dac02c499071e3ea |
|
MD5 | 469506bdaafb17c34a317671f065345d |
|
BLAKE2b-256 | 5c0479597adb38b019e23d2452705af1dcac05ef1082870c2a14d5437d18c09e |