9 个 FastAPI 的必知资源

简介: FastAPI 是 Python 开发人员最新、最流行的 API 框架之一。我们的工程师一次又一次需要将一个或多个第三方库与我们的 API 结合使用,以附加额外的功能和特性来丰富我们的项目。

9 个 FastAPI 的必知资源

FastAPI 是 Python 开发人员最新、最流行的 API 框架之一。我们的工程师一次又一次需要将一个或多个第三方库与我们的 API 结合使用,以附加额外的功能和特性来丰富我们的项目。

在今天的这篇文章中,我想与您分享一些对于常规 FastAPI 从业者非常有用的资源。我已经在自己的项目中使用了其中的大部分,并且还包括我计划在不久的将来使用的一些。

那么让我们深入看看吧!

FastAPI-pagination

该库允许您从 API 路由发送简单的分页响应。这在main.py中的几行代码中使用非常方便,而不是自己编写整个分页逻辑。

在此处查看库: https://uriyyo-fastapi-pagination.netlify.app/

FastAPI-MVC

这是一个极其方便的 Python 开发人员生产力工具,可从单个 shell 命令开始制作高质量的 FastAPI 生产就绪 API。

您可以获得 MVC Python 项目的所有样板设置,并且可以利用该库中定义的生成器直接编写项目特定代码。

您开箱即用的东西包括:

  • Python Poetry 依赖管理
  • Makefile、GitHub 操作和 Docker 设置
  • 现成的 Sphinx 文档

以及更多。

在此处查看库: https://github.com/fastapi-mvc/fastapi-mvc

FastAPI-Mail

正如您可能已经从名称中猜到的,这是一个轻量级库,可帮助您轻松地从 FastAPI 项目发送邮件,并且内置对后台任务管理的支持。

您可以使用此库发送基于文本和文件的电子邮件,从而使您不必自己重新发明轮子来编写逻辑。

在此处查看该库:https://github.com/sabuhish/fastapi-mail

Tortoise-ORM

如果您像我一样非常习惯 Django 中的内置 ORM,并且在 FastAPI 中工作感到措手不及,那么在查看这个库后您不会失望的。

这是一个受 Django 启发的 ORM,可帮助您以 Django 式的方式使用您选择的关系数据库。

在此处查看该库:https://tortoise.github.io/#why-was-tortoise-orm-b​​uilt

FastAPI-Cache

构建生产级 API 需要许多额外的要求,例如工作缓存。该库允许您集成 Redis 和 memcache 等缓存,以非常方便地缓存 FastAPI 响应和函数结果。

此外,它甚至还支持 AWS Dynamo-DB 来存储缓存!

在此处查看该库: https://github.com/long2ice/fastapi-cache

FastAPI-Limiter

防止滥用生产 API 路由的最简单方法之一是通过速率限制过程。该库允许您通过简单的 Python 装饰器在 FastAPI 路由中轻松集成速率限制。

它还支持 Web 套接字,这是一项附加功能,它对通过套接字交换的数据进行速率限制。

在此处查看该库: https://github.com/long2ice/fastapi-limiter

FastAPI-Admin

Django 的管理界面是最酷的开箱即用功能之一,但 FastAPI 中再次缺少该功能。正如您可能已经猜到的,这个库很好地满足了这一要求。

它使用 Bootstrap HTML 模板作为管理/仪表板 UI 来为 FastAPI 项目制作管理界面。

在此处查看库: https://github.com/fastapi-admin/fastapi-admin

FastAPI Best Practises

任何生产就绪系统中的最佳实践都可能包括需要完成的大量检查。自己收集这些要求可能会很乏味,而且很可能会错过该过程中的一些关键步骤。

该存储库是一组全面的最佳实践的集合,您可以选择在 FastAPI 项目中使用它们。

在此处查看存储库:https://github.com/zhanymkanov/fastapi-best-practices

具有消息队列和监控功能的 FastAPI

RabbitMQ 是最流行的消息代理之一,如果您想将其与 FastAPI 项目集成,那么这个样板 GitHub 存储库就是您的最佳选择。

它甚至包括一个方便的 Celery 设置,用于通过集成的 Redis 后端监控任务。相当惊人!

在此处查看该库: https://github.com/GregaVrbancic/fastapi-celery

原文地址

9 FastAPI Resources You Need To Know

目录
相关文章
|
前端开发 JavaScript 中间件
FastAPI 学习之路(三十一)CORS(跨域资源共享)
FastAPI 学习之路(三十一)CORS(跨域资源共享)
|
NoSQL Redis 数据库
FastAPI(六十七)实战开发《在线课程学习系统》接口开发--用户登陆接口开发
FastAPI(六十七)实战开发《在线课程学习系统》接口开发--用户登陆接口开发
|
NoSQL 测试技术 Redis
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(下)
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(下)
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(下)
|
存储 测试技术 数据安全/隐私保护
FastAPI(八十三)实战开发《在线课程学习系统》--注册接口单元测试
FastAPI(八十三)实战开发《在线课程学习系统》--注册接口单元测试
FastAPI(八十三)实战开发《在线课程学习系统》--注册接口单元测试
|
测试技术 数据安全/隐私保护
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(上)
FastAPI(八十四)实战开发《在线课程学习系统》--接口测试(上)
FastAPI(八十二)实战开发《在线课程学习系统》接口开发-- 课程上架下架
FastAPI(八十二)实战开发《在线课程学习系统》接口开发-- 课程上架下架
|
NoSQL Redis 数据库
FastAPI(八十一)实战开发《在线课程学习系统》接口开发-- 推荐课程列表与课程点赞
FastAPI(八十一)实战开发《在线课程学习系统》接口开发-- 推荐课程列表与课程点赞
FastAPI(八十)实战开发《在线课程学习系统》接口开发-- 课程列表
FastAPI(八十)实战开发《在线课程学习系统》接口开发-- 课程列表
FastAPI(七十九)实战开发《在线课程学习系统》接口开发-- 加入课程和退出课程
FastAPI(七十九)实战开发《在线课程学习系统》接口开发-- 加入课程和退出课程
FastAPI(七十八)实战开发《在线课程学习系统》接口开发-- 评论
FastAPI(七十八)实战开发《在线课程学习系统》接口开发-- 评论