fastapi简介+环境安装

fastapi介绍(一):fastapi简介+环境安装

文档: https://fastapi.tiangolo.com

源码: https://github.com/tiangolo/fastapi

一、什么是fastapi?

FastAPI是一个现代的,快速(高性能)python web框架。基于标准的python类型提示,使用python3.6+构建API的Web框架。

The key features are:
fastapi的特点如下:

  • 性能快:高性能,可以和NodeJSGo相提并论。

  • 快速开发:开发功能速度提高约200%至300%
  • 更少的Bug
  • Fewer bugs: 减少40%开发人员容易引发的错误
  • 直观:完美的编辑支持
  • 简单: 易于使用和学习,减少阅读文档的时间。
  • 代码简洁:很大程度上减少代码重复。每个参数可以声明多个功能,减少bug的发生。
  • 标准化:基于并完全兼容API的开发标准:OpenAPI(以前称为Swagger)和JSON Schema。

二、搭建环境

python环境:Python 3.6+

FastAPI依赖于下面这两大重要的成果:

  • web部分参考:Starlette
  • 数据部分参考: Pydantic

三、fastapi安装

  • 1、安装fastapi
pip install fastapi
  • 2、如果用于生产,那么你还需要一个ASGI服务器,如Uvicorn或Hypercorn
pip install uvicorn

四、可选的依赖

1. Pydantic提供:

  • ujson - 更快的JSON
  • email_validator - 电子邮件的验证

2. Starlette提供:

  • requests - 如果你想要使用TestClient, 需要导入requests.
  • aiofiles - 如果你想使用FileResponse or StaticFiles, 需要导入aiofiles.
  • jinja2 - 如果你想使用默认的模板配置,需要导入jinjia2.
  • python-multipart -如果要使用request.form()支持表单“解析”,则为必需。
  • itsdangerous -“SessionMiddleware”支持需要。
  • pyyaml - 如果需要 SchemaGenerator 支持, 则为必要.
  • graphene -如果需要 GraphQLApp 支持, 则为必要.
  • ujson - 如果你想使用 UJSONResponse, 则为必要.

3. FastAPI / Starlette提供:

  • uvicorn - 加载和提供应用程序的服务器.

4. 一次性全部安装

pip3 install fastapi[all]

你可能感兴趣的:(fastapi)