A request parameter checking and parsing library based on pydantic under the sanic framework
Project description
sanic-dantic
sanic-dantic is a request parameter checking and parsing library based on pydantic under the sanic framework
sanic-dantic is a request parameter checking and parsing library based on pydantic under the sanic framework
It is based on pydantic, which can facilitate developers to quickly check and obtain request parameters
Documentation
If you want more usage, please click here
Installation
pip install sanic-dantic
Why use it
Do you have to get the request parameters first every time you process them ?
from sanic import Sanic
from sanic.response import json
app = Sanic("SanicDanticExample")
@app.route('/example')
async def path_param_examples(request):
name = request.get("name")
age = request.get("age")
if not isinstance(name, str) or not isinstance(age, int):
return json({"error":"parameter type error"})
return json({"message": f"hello {name} are you {age} years old ?"})
How terrible, and there is no good experience for developers at all.
Therefore, sanic-dantic is to help you improve your development efficiency and experience.
It allows you to skip the process of type checking and parameter acquisition.
How to use
It is based on pydantic, which can facilitate developers to quickly check and obtain request parameters
In sanic-dantic, you can pass the pydantic model to different formal parameters in parse_params to check and parse the values of different types of request parameters
You can get all the parsed parameters by appending the formal parameter , and get the value of the parameter through the attribute params
from sanic import Sanic
from sanic.response import json
from sanic_dantic import parse_params, BaseModel
class Person(BaseModel):
name: str
age: int
app = Sanic("SanicDanticExample")
@app.route('/example')
@parse_params(path=Person)
async def path_param_examples(request, params):
print( params.ctx.name, params.ctx.age)
return json({"message": f"hello {params.name} are you {params.age} years old ?"})
Do you have a crush? Come and experience it!
more usage please read the documentation
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
File details
Details for the file sanic-dantic-1.1.2.tar.gz
.
File metadata
- Download URL: sanic-dantic-1.1.2.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d14d83010e5312d04d8ffa72d5ab1aeec64f0474b57638f715fe3b880e28ffcc |
|
MD5 | ad0a6e0d26399f0a81e4270a46dbde0d |
|
BLAKE2b-256 | 1e0fc2f4ceec493b42426412f246eb0ca59cf9d450b6808668f687f063738c39 |