2024 Python 计算生态五月推荐榜 第75期
5月10日 · Python123 1442 人阅读
看见更大的世界,遇见更好的自己
See a better world to meet better for ourselves.
OpenAPI 规范(OAS),是定义一个标准的、与具体编程语言无关的RESTful API的规范。OpenAPI 规范使得人类和计算机都能在“不接触任何程序源代码和文档、不监控网络通信”的情况下理解一个服务的作用。如果您在定义您的 API 时做的很好,那么使用 API 的人就能非常轻松地理解您提供的 API 并与之交互了。 如果您遵循 OpenAPI 规范来定义您的 API,那么您就可以用文档生成工具来展示您的 API,用代码生成工具来自动生成各种编程语言的服务器端和客户端的代码,用自动测试工具进行测试等等。
2024年5月,随着微服务和分布式系统的广泛应用,OpenAPI 规范在API开发和管理中变得尤为重要。特别推荐10款优秀的Python计算生态工具和框架,以帮助开发者了解 OpenAPI 规范。
FastAPI
一个现代、快速(高性能)的web框架,用于构建API,并带有Python 3.6+类型提示,基于OpenAPI。
Apispec
一个轻量级的Python库,用于创建OpenAPI
Specification文件。
https://github.com/marshmallow-code/apispec
Django-REST-Framework
一个强大的和灵活的工具箱,用来构建Web API,配合其drf-yasg插件可以支持OpenAPI。
https://www.django-rest-framework.org/
Flask-RESTPlus
Flask的扩展,旨在为Flask添加更强的支持,用于快速构建休息API,并自动生成OpenAPI文档。
https://flask-restplus.readthedocs.io/en/stable/
connexion
一个Flask扩展,允许你将一个OpenAPI定义文件用作配置源来定义API的各种行为。
https://connexion.readthedocs.io/en/latest/
Sphinx-OpenAPI
用于集成OpenAPI文档到Sphinx生成的文档中。
https://github.com/sphinx-contrib/openapi
Tornado-OpenAPI3
一个用于在Tornado web框架上实现OpenAPI
3规范的库。
https://pypi.org/project/tornado-openapi3/
apistar
旨在提供高性能API框架,带有OpenAPI支持。
https://github.com/encode/apistar
django-ninja
Django Ninja 是一个Web 框架,用于使用Django
和Python 3.6+ 类型提示构建API。 主要特征:
简单: 设计易于使用且直观。
快速执行: 由于Pydantic和异步支持,性能非常高。
https://github.com/vitalik/django-ninja
litestar
LiteStar是一个轻量级、简单易用的Python Web框架,适合快速开发小型项目或原型验证。 它提供了简洁的API设计、灵活的定制扩展能力和一些性能优化策略,使得开发过程更加高效。 然而,由于功能相对有限和社区支持相对较少,对于复杂的应用可能需要额外的开发工作。
Python3Turtle