用于构建api和应用程序后端的未加载web框架。
falcon的Python项目详细描述
Falcon Web框架
猎鹰 是可靠的, 用于构建的高性能python web框架 大规模应用程序后端和微服务。它鼓励其他人 建筑风格,尽量少做 保持高效。
Falcon应用程序可以与任何wsgi服务器协同工作,运行起来就像一个冠军 cpython 2.7、cpython 3.5+、pypy2.7和pypy3.5。
支持Falcon开发
猎鹰帮你做了一个很棒的应用程序吗?今天用一次性捐款或成为赞助人来表示你的支持。支持者得到了酷装备,有机会向python开发人员推广他们的品牌,以及 优先支持。
谢谢!快速链接
- 阅读文档
- Falcon附加组件和补充包
- 猎鹰对话、播客和博客帖子
- falcon用户的falconry/user
- 为Falcon贡献者提供的Falconry/dev @gitter
人们在说什么
"我们一直在使用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?
社区
许多Falcon附加组件、模板和补充包 可在项目中使用。我们已经在 以falcon wiki开始 点,但您也可能希望搜索PYPI以获取其他资源。
吉特岛上的猎鹰社区是一个提问和 分享你的想法。您可以在falconry/user中找到我们。我们还有一个 猎鹰/dev 讨论空间 框架本身的设计和开发。
按我们的标准 行为准则, 我们希望参与社区讨论的每个人都能采取行动 专业,以身作则,鼓励建设性的 讨论。社区中的每个人都有责任 创造积极、建设性和富有成效的文化。安装
< 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车轮时的框架,如上所述。