Browse Source

Updated docs for extension approval process

pull/112/head
Armin Ronacher 15 years ago
parent
commit
3adc9de5ec
  1. 40
      docs/extensiondev.rst

40
docs/extensiondev.rst

@ -277,6 +277,46 @@ The best Flask extensions are extensions that share common idioms for the
API. And this can only work if collaboration happens early.
Approved Extensions
-------------------
Flask also has the concept of approved extensions. Approved extensions
are tested as part of Flask itself to ensure extensions do not break on
new releases. These approved extensions are listed on the `Flask
Extension Registry`_ and marked appropriately. If you want your own
extension to be approved you have to follow these guidelines:
1. An approved Flask extension must provide exactly one package or module
inside the `flaskext` namespace package.
2. It must ship a testsuite that can either be invoked with ``make test``
or ``python setup.py test``. For testsuites invoked with ``make
test`` the extension has to ensure that all dependencies for the test
are installed automatically, in case of ``python setup.py test``
dependencies for tests alone can be specified in the `setup.py`
file. The testsuite also has to be part of the distribution.
3. APIs of approved extensions will be checked for the following
behavioristics:
- an approved extension has to support multiple applications
running in the same Python process.
- it must be possible to use the factory pattern for creating
applications.
4. The license has to be BSD/MIT/WTFPL licensed unless a depending
library absolutely enforces GPL or another license.
5. The naming scheme for official extensions is *Flask-ExtensionName* or
*ExtensionName-Flask*.
6. Approved extensions must define all their dependencies in the
`setup.py` file unless a dependency cannot by met because it is not
available on PyPI.
7. The extension must have documentation that furthermore uses one of
the two Flask themes for Sphinx documentation.
8. The setup.py description (and thus the PyPI description) has to
link to the documentation, website (if there is one) and there
must be a link to automatically install the development version
(``PackageName==dev``).
.. _Flask Extension Wizard:
http://github.com/mitsuhiko/flask-extension-wizard
.. _OAuth extension: http://packages.python.org/Flask-OAuth/

Loading…
Cancel
Save