Flask extensions are listed on the Flask Extension Registry and can be
downloaded with easy_install or pip. If you add a Flask extension
as dependency to your requirements.rst or setup.py file they are
usually installed with a simple command or when your application installs.

Extensions typically have documentation that goes along that shows how to
use it. There are no general rules in how extensions are supposed to
behave but they are imported from common locations. If you have an
extension called Flask-Foo or Foo-Flask it will be always
importable from flask.ext.foo:

If you are using Flask 0.7 or earlier the flask.ext package will not
exist, instead you have to import from flaskext.foo or flask_foo
depending on how the extension is distributed. If you want to develop an
application that supports Flask 0.7 or earlier you should still import
from the flask.ext package. We provide you with a compatibility
module that provides this package for older versions of Flask. You can
download it from github: flaskext_compat.py

And here is how you can use it:

importflaskext_compatflaskext_compat.activate()fromflask.extimportfoo

Once the flaskext_compat module is activated the flask.ext will
exist and you can start importing from there.