用于构建api和应用程序后端的未加载web框架。

falcon的Python项目详细描述


Falcon Web框架

猎鹰 是可靠的, 用于构建的高性能python web框架 大规模应用程序后端和微服务。它鼓励其他人 建筑风格,尽量少做 保持高效。

Falcon应用程序可以与任何wsgi服务器协同工作,运行起来就像一个冠军 cpython 2.7、cpython 3.5+、pypy2.7和pypy3.5。

支持Falcon开发

猎鹰帮你做了一个很棒的应用程序吗?今天用一次性捐款或成为赞助人来表示你的支持。支持者得到了酷装备,有机会向python开发人员推广他们的品牌,以及 优先支持。

了解如何支持Falcon开发

谢谢!

人们在说什么

"我们一直在使用falcon来替代[framework],我们非常喜欢它的性能(比原来快了三倍)和代码基大小(相当于原来[framework]代码的一半)。"

"到目前为止,猎鹰看起来很棒。我拼凑了一个快速测试 我的服务器很小,只需20分钟 "工作"。

"猎鹰坚如磐石,速度很快。"

"我喜欢鹰架!超级干净简单,我终于 有我需要的速度和灵活性!"

"

"我觉得我终于在说http了,在 中间的。Falcon似乎是后端的请求。"

"Falcon的源代码非常好,我几乎更喜欢它 文档。基本上不会错的。"

"还有什么框架集成了对786的支持,现在试试看?"

"

猎鹰有何不同?

< Buff行情>

完美最终是在没有任何东西的时候实现的 添加,但当不再有要带走的东西时。

-圣埃克苏佩里安托万酒店

我们设计猎鹰是为了满足大规模需求 微服务和响应性应用程序后端。猎鹰补充更多 提供裸机性能的通用python web框架, 无论何时何地,只要您需要,它都具有可靠性和灵活性。

快速。 相同的硬件,更多的请求。猎鹰转身围绕 请求速度比大多数其他python框架快几倍。为了 作为额外的速度提升,Falcon在 可用,也可以与pypy一起使用。 考虑换一种编程语言?基准 猎鹰+Pypy优先。

可靠。 我们竭尽全力避免引入 打破变化,当我们这样做的时候,它们是完全记录的,而且只有 (本着 带有主要版本的 增量。代码经过了大量输入的严格测试,我们 任何时候都需要100%的保险。猎鹰不依赖任何 外部python包。

灵活。 Falcon留下了许多决策和实施 详细信息,api开发人员。这给了你很大的自由 自定义和调整实现。因为猎鹰的极简主义 设计,python社区成员可以自由地在 Falcon附加组件和补充包

可调试。 Falcon避开了魔法。很容易区分哪些输入 引出哪些输出。未处理的异常从未封装或 蒙面的潜在的令人惊讶的行为,比如自动请求体 解析,在默认情况下是文档化的和禁用的。最后,当它 谈到框架本身,我们要注意保持逻辑路径的简单性 而且可以理解。所有这些都使我们更容易对代码进行推理 以及在大规模部署中调试边缘案例。

功能

  • 高度优化、可扩展的代码库
  • 通过uri模板和受rest启发的资源实现直观的路由 类
  • 通过请求和响应轻松访问标题和正文 类
  • 通过中间件组件和挂钩进行干请求处理
  • 惯用的http错误响应
  • 简单的异常处理
  • 通过wsgi helpers和mock进行快速单元测试
  • cpython 2.7、cpython 3.5+、pypy2.7和pypy3.5支持
  • 当cython可用时,在cpython下大约提高20%的速度

谁在用猎鹰?

猎鹰在世界各地被越来越多的组织使用, 包括:

  • 7个想法
  • 克罗尼托
  • 飓风电力
  • 标题页
  • OpenStack
  • 机架空间
  • 移动ig
  • 温度
  • Opera软件

如果您将Falcon框架用于社区或商业 项目,请考虑将您的信息添加到我们的wiki 谁在使用falcon?

安装

< Div id="pypy">

pypy

pypy 是运行Falcon应用程序的最快方式。 从PyPyV5.10开始,PyPy2.7和PyPy3.5都受支持。

$ pip install falcon

或者,要安装最新的测试版或候选发行版(如果有):

$ pip install --pre falcon

cpython

猎鹰也全力支持 cpython 2.7和3.5+。

"猎鹰"的PYPI上提供通用和Manylinux车轮 框架。安装非常简单:

$ pip install falcon

安装一个预先制作好的猎鹰轮子是一个很好的方法来站起来 快跑。但是,在生产环境中部署应用程序时, 可能希望自己通过cython编译falcon,使用目标系统的 本地工具链。

以下命令告诉pip安装cython,然后调用 falcon's setup.py ,它将依次检测cython的存在 然后用系统的 默认C编译器。

$ pip install cython
$ pip install --no-binary :all: falcon

如果您想验证是否正在调用cython,只需 将 -v 传递到pip以便回显编译命令:

$ pip install -v --no-binary :all: falcon

在OS X上安装

编译cython需要xcode命令行工具。安装它们 使用此命令:

$ xcode-select --install

clang编译器将无法识别的命令行选项视为 错误,例如:

clang: error: unknown argument: '-mno-fused-madd'[-Wunused-command-line-argument-hard-error-in-future]

您可能还会看到有关未使用函数的警告。你可以四处工作 通过如下设置额外的clang c编译器标志来解决这些问题:

$ exportCFLAGS="-Qunused-arguments -Wno-unused-function"

依赖关系

Falcon不需要安装任何其他软件包,尽管如果 cython已经安装到环境中,它将用于优化 不使用Manylinux车轮时的框架,如上所述。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
相当于加密流。NET在Java 安卓中的应用?   java Android:加载片段时启动动画   java文件从指定的绝对路径上载到服务器   java是否可以自定义Spring缓存抽象所使用的序列化?   当客户端输入为无效字符串时,java从JAXWS接收空的BigDecimal   将数据库从MySQL更改为SQLite后出现Java项目错误   java PrimeFaces在datatable中自定义行编辑器   java在数组中对字符串和双类类型进行排序   图像Java:如何在GridLayout中嵌套JPanel?   java searchByEmail方法不起作用   java运行时。exec(字符串)限制字符串   java通过异步运行lambda访问方法参数   java为什么这个条件语句不编译?   在javajar中添加和使用文件,就像它们在文件夹中一样   使用java查找带有正则表达式的子字符串   在awt所在的地方荡秋千。属性,以及如何在Java插件中提供它的本地化版本