A Python module for decorators, wrappers and monkey patching.
The aim of the wrapt module is to provide a transparent object proxy for
Python, which can be used as the basis for the construction of function
wrappers and decorator functions.
The wrapt module focuses very much on correctness. It therefore goes way
beyond existing mechanisms such as functools.wraps() to ensure that
decorators preserve introspectability, signatures, type checking abilities
etc. The decorators that can be constructed using this module will work in
far more scenarios than typical decorators and provide more predictable and
consistent behaviour.
To ensure that the overhead is as minimal as possible, a C extension module
is used for performance critical components. An automatic fallback to a pure
Python implementation is also provided where a target system does not have a
compiler to allow the C extension to be compiled.
From Aleksej Lebedev in PR pkg/50853.
Thrift is a software library and set of code-generation tools developed
at Facebook to expedite development and implementation of efficient and
scalable backend services. Its primary goal is to enable efficient and
reliable communication across programming languages by abstracting the
portions of each language that tend to require the most customization
into a common library that is implemented in each language.
Specifically, Thrift allows developers to define datatypes and service
interfaces in a single language-neutral file and generate all the
necessary code to build RPC clients and servers.