9 个 FastAPI 的必知资源

9 个 FastAPI 的必知资源

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

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

那么让我们深入看看吧!

FastAPI-pagination

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

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

FastAPI-MVC

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

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

您开箱即用的东西包括:

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

以及更多。

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

FastAPI-Mail

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

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

在此处查看该库:github.com/sabuhish/fa...

Tortoise-ORM

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

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

在此处查看该库:tortoise.github.io/#why-was-to...

FastAPI-Cache

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

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

在此处查看该库: github.com/long2ice/fa...

FastAPI-Limiter

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

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

在此处查看该库: github.com/long2ice/fa...

FastAPI-Admin

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

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

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

FastAPI Best Practises

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

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

在此处查看存储库:github.com/zhanymkanov...

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

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

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

在此处查看该库: github.com/GregaVrbanc...

原文地址

9 FastAPI Resources You Need To Know

相关推荐
sufu10652 分钟前
SpringAI更新:废弃tools方法、正式支持DeepSeek!
人工智能·后端
嘵奇18 分钟前
Spring Boot拦截器详解:原理、实现与应用场景
java·spring boot·后端
Code_流苏23 分钟前
《Python星球日记》 第71天:命名实体识别(NER)与关系抽取
python·深度学习·ner·预训练语言模型·关系抽取·统计机器学习·标注方式
点云SLAM23 分钟前
Python中列表(list)知识详解(2)和注意事项以及应用示例
开发语言·人工智能·python·python学习·数据结果·list数据结果
国强_dev23 分钟前
任意复杂度的 JSON 数据转换为多个结构化的 Pandas DataFrame 表格
开发语言·python
伊织code1 小时前
PyTorch API 7 - TorchScript、hub、矩阵、打包、profile
人工智能·pytorch·python·ai·矩阵·api
开开心心就好1 小时前
高效全能PDF工具,支持OCR识别
java·前端·python·pdf·ocr·maven·jetty
秋野酱2 小时前
基于javaweb的SpringBoot自习室预约系统设计与实现(源码+文档+部署讲解)
java·spring boot·后端
程序员三藏2 小时前
软件测试之功能测试详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
辰%2 小时前
如何重启pycharm中的项目?
windows·python·pycharm