Updated docs for extension approval process
This commit is contained in:
parent
dcf5dff414
commit
3adc9de5ec
1 changed files with 40 additions and 0 deletions
|
|
@ -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.
|
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:
|
.. _Flask Extension Wizard:
|
||||||
http://github.com/mitsuhiko/flask-extension-wizard
|
http://github.com/mitsuhiko/flask-extension-wizard
|
||||||
.. _OAuth extension: http://packages.python.org/Flask-OAuth/
|
.. _OAuth extension: http://packages.python.org/Flask-OAuth/
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue