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.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d4a5dff065419bce946da6d5afcf7b9d66ecc394dd52e2374b2913cc2c88328 |
|
MD5 | e08e91fde44741f54aa471313c481082 |
|
BLAKE2b-256 | abf7e98e84b6f875b3439f41d0d905e9138743401ae98de2db88d9b325d561c5 |