@@ -124,35 +124,35 @@ microservices and responsive app backends. Falcon complements more
124124general Python web frameworks by providing bare-metal performance,
125125reliability, and flexibility wherever you need it.
126126
127- **Fast. ** Same hardware, more requests. Falcon turns around
128- requests several times faster than most other Python frameworks. For
129- an extra speed boost, Falcon compiles itself with Cython when
130- available, and also works well with `PyPy <https://pypy.org >`__.
131- Considering a move to another programming language? Benchmark with
132- Falcon + PyPy first.
133-
134- **Reliable. ** We go to great lengths to avoid introducing
135- breaking changes, and when we do they are fully documented and only
136- introduced (in the spirit of
137- `SemVer <http://semver.org/ >`__) with a major version
138- increment. The code is rigorously tested with numerous inputs and we
139- require 100% coverage at all times. Falcon does not depend on any
140- external Python packages.
127+ **Reliable. ** We go to great lengths to avoid introducing breaking changes, and
128+ when we do they are fully documented and only introduced (in the spirit of
129+ `SemVer <http://semver.org/ >`_) with a major version increment. The code is
130+ rigorously tested with numerous inputs and we require 100% coverage at all
131+ times. Falcon has no dependencies outside the standard library, helping
132+ minimize your app's attack surface while avoiding transitive bugs and breaking
133+ changes.
141134
142135**Debuggable. ** Falcon eschews magic. It's easy to tell which inputs lead to
143- which outputs. To avoid incentivizing the use of hard-to-debug global state,
144- Falcon does not use decorators to define routes. Unhandled exceptions are never
145- encapsulated or masked. Potentially surprising behaviors, such as automatic
146- request body parsing, are well-documented and disabled by default. Finally, we
147- take care to keep logic paths within the framework simple, shallow and
148- understandable. All of this makes it easier to reason about the code and to
149- debug edge cases in large-scale deployments.
150-
151- **Flexible. ** Falcon leaves a lot of decisions and implementation
152- details to you, the API developer. This gives you a lot of freedom to
153- customize and tune your implementation. Due to Falcon's minimalist
154- design, Python community members are free to independently innovate on
155- `Falcon add-ons and complementary packages <https://github.com/falconry/falcon/wiki >`__.
136+ which outputs. Unhandled exceptions are never encapsulated or masked.
137+ Potentially surprising behaviors, such as automatic request body parsing, are
138+ well-documented and disabled by default. Finally, when it comes to the
139+ framework itself, we take care to keep logic paths simple and understandable.
140+ All this makes it easier to reason about the code and to debug edge cases in
141+ large-scale deployments.
142+
143+ **Fast. ** Same hardware, more requests. Falcon turns around requests
144+ significantly faster than other popular Python frameworks like Django and
145+ Flask. For an extra speed boost, Falcon compiles itself with Cython when
146+ available, and also works well with `PyPy <https://pypy.org >`_. Considering a
147+ move to another programming language? Benchmark with Falcon+PyPy first!
148+
149+ **Flexible. ** Falcon leaves a lot of decisions and implementation details to
150+ you, the API developer. This gives you a lot of freedom to customize and tune
151+ your implementation. It also helps you understand your apps at a deeper level,
152+ making them easier to tune, debug, and refactor over the long run. Falcon's
153+ minimalist design provides space for Python community members to independently
154+ innovate on `Falcon add-ons and complementary packages
155+ <https://github.com/falconry/falcon/wiki> `_.
156156
157157Who's Using Falcon?
158158-------------------
0 commit comments