介绍

当不再有任何东西需要补充,而是当不再有任何东西需要带走时,最终达到完美。

- Antoine de Saint-Exupéry

Falcon 是一个可靠的、高性能的python web框架,用于构建大规模的应用程序后端和微服务。它鼓励其余的体系结构风格,并尽量少做,同时保持高效。

Falcon应用程序可以与任何WSGi服务器一起工作,在CPython3.5+和Pypy3.5+下像冠军一样运行。

Falcon有什么不同?

我们设计了Falcon来支持大规模微服务和响应式应用程序后端的需求。Falcon通过在任何需要的地方提供裸机性能、可靠性和灵活性来补充更通用的PythonWeb框架。

快。 相同的硬件,更多的请求。Falcon将请求转换为比大多数其他Python框架快几倍的速度。为了获得额外的速度提升,Falcon在有条件的情况下会与赛通一起编译,并且也能很好地与 PyPy .考虑转移到另一种编程语言?先与Falcon+Pypy进行基准测试。

可靠。 我们会尽最大努力避免引入破坏性的变更,当我们这样做时,它们会被完整地记录下来,并且只会被引入(本着 SemVer )主要版本递增。该代码经过了大量输入的严格测试,我们始终需要100%的覆盖率。Falcon不依赖于任何外部python包。

灵活。 Falcon将许多决策和实现细节留给API开发人员您。这使您有很大的自由来定制和调整您的实现。由于Falcon的极简设计,python社区成员可以自由地自主创新 Falcon add-ons and complementary packages .

可调试。 Falcon避开了魔法。很容易知道哪个输入导致哪个输出。未处理的异常从不被封装或屏蔽。潜在的令人惊讶的行为,例如自动请求主体解析,在默认情况下是有良好文档记录的和禁用的。最后,当涉及到框架本身时,我们注意保持逻辑路径简单易懂。所有这些都使得在大规模部署中解释代码和调试边缘案例变得更加容易。

特征

  • 高度优化、可扩展的代码库

  • 通过URI模板和基于REST的资源类实现直观的路由选择

  • 通过请求和响应类轻松访问头和主体

  • 通过中间件组件和钩子处理干请求

  • 惯用HTTP错误响应

  • 简单的异常处理

  • 通过wsgi助手和mock快速进行单元测试

  • 支持python 3.5+

  • 与Pypy兼容

关于Apache 2.0

Falcon是根据 Apache 2.0 License .这意味着您可以在商业应用程序中使用它,而无需同时开放源代码。它还意味着,如果有人恰好贡献了与专利相关联的代码,您将获得使用该专利的免费许可。这是一个很好的交易。

现在,如果你真的改变了Falcon本身,请考虑把你的了不起的工作回馈给社区。

Falcon执照

如个别源代码文件所述,Rackspace Hosting,Inc.和其他贡献者版权所有2012-2017。

根据Apache许可证2.0版(“许可证”)获得许可;除非符合许可证,否则不得使用此文件。您可以在以下网址获得许可证副本:

除非适用法律要求或书面同意,否则根据许可证分发的软件按“原样”分发,不提供任何形式的明示或暗示保证或条件。请参阅许可证,了解许可证下管理权限和限制的特定语言。

通过参与此项目,您还同意按照上面描述的Apache许可证2.0版的条款许可源代码。