<h1>Extensions<aclass="headerlink"href="#extensions"title="Link to this heading">¶</a></h1>
<p>Extensions are extra packages that add functionality to a Flask
application. For example, an extension might add support for sending
email or connecting to a database. Some extensions add entire new
frameworks to help build certain types of applications, like a REST API.</p>
<sectionid="finding-extensions">
<h2>Finding Extensions<aclass="headerlink"href="#finding-extensions"title="Link to this heading">¶</a></h2>
<p>Flask extensions are usually named “Flask-Foo” or “Foo-Flask”. You can
search PyPI for packages tagged with <aclass="reference external"href="https://pypi.org/search/?c=Framework+%3A%3A+Flask">Framework :: Flask</a>.</p>
</section>
<sectionid="using-extensions">
<h2>Using Extensions<aclass="headerlink"href="#using-extensions"title="Link to this heading">¶</a></h2>
<p>Consult each extension’s documentation for installation, configuration,
and usage instructions. Generally, extensions pull their own
configuration from <aclass="reference internal"href="api.html#flask.Flask.config"title="flask.Flask.config"><codeclass="xref py py-attr docutils literal notranslate"><spanclass="pre">app.config</span></code></a> and are
passed an application instance during initialization. For example,
an extension called “Flask-Foo” might be used like this:</p>
<h2>Building Extensions<aclass="headerlink"href="#building-extensions"title="Link to this heading">¶</a></h2>
<p>While <aclass="reference external"href="https://pypi.org/search/?c=Framework+%3A%3A+Flask">PyPI</a> contains many Flask extensions, you may not find
an extension that fits your need. If this is the case, you can create
your own, and publish it for others to use as well. Read
<aclass="reference internal"href="extensiondev.html"><spanclass="doc">Flask Extension Development</span></a> to develop your own Flask extension.</p>