<commit_before>Command Line Manager
====================

Since version 1.3.0 F.A.B. has a command line manager, you can use it for many development tasks.
Many of the commands are design to import **AppBuilder** class initialized by your application.
By default it will assume your application follows the skeleton structure, so it will try to import
appbuilder from *app/__init__.py*. You can pass your own info to where appbuilder is being initialized.

Take a quick look to the current possibilities. The bold ones require your appbuilder.

  - babel-compile - Babel, Compiles all translations

  - babel-extract - Babel, Extracts and updates all messages.

  - **create-admin** - Creates an admin user

  - create-app - Create a Skeleton application (SQLAlchemy or MongoEngine).

  - **create-db** - Create all your database objects (SQLAlchemy only)

  - **list-users** - List all users on the database.

  - **list-views** - List all registered views.

  - **reset-password** - Resets a user's password.

  - **run** - Runs Flask dev web server.

  - **security-cleanup** - Cleanup unused permissions from views and roles.

  - **upgrade-db** - Upgrade your database after F.A.B upgrade.

  - **version** - Flask-AppBuilder package version.

Command Line uses the excelent click package, so you can have a detailed help for each command, for instance::

    $ fabmanager create-app --help
    Usage: fabmanager create-app [OPTIONS]

    Create a Skeleton application

    Options:
    --name TEXT                     Your application name, directory will have
                                  this name
    -engine [SQLAlchemy|MongoEngine]
                                  Write your engine type
    --help                          Show this message and exit.


**create-app** - Create new Applications
----------------------------------------

To create a ready to dev skeleton application, you can use this command for SQLAlchemy engine and MongoEngine (MongoDB).
This commands needs an internet connection to **github.com**, because it will download a zip version of the skeleton repos.

**create-admin** - Create an admin user
---------------------------------------

Use this to create your first **Admin** user, or additional ones. issue on the root directory of your application
if your initializing **AppBuilder** on *app/__init__.py* and have named it appbuilder. If not use the **--app** and
**--appbuilder** switches to identify how to import **appbuilder**.
<commit_msg>Update fabmanager.rst<commit_after>Command Line Manager
====================

Since version 1.3.0 F.A.B. has a command line manager, you can use it for many development tasks.

Many of the commands are designed to import **AppBuilder** class initialized by your application.
By default it will assume your application follows the skeleton structure, so it will try to import
appbuilder from *app/__init__.py*. You can pass your own info to where appbuilder is being initialized.

Take a quick look to the current possibilities. The bold ones require to import your appbuilder.

  - babel-compile - Babel, Compiles all translations

  - babel-extract - Babel, Extracts and updates all messages.

  - **create-admin** - Creates an admin user

  - create-app - Create a Skeleton application (SQLAlchemy or MongoEngine).

  - **create-db** - Create all your database objects (SQLAlchemy only)

  - **list-users** - List all users on the database.

  - **list-views** - List all registered views.

  - **reset-password** - Resets a user's password.

  - **run** - Runs Flask dev web server.

  - **security-cleanup** - Cleanup unused permissions from views and roles.

  - **upgrade-db** - Upgrade your database after F.A.B upgrade.

  - **version** - Flask-AppBuilder package version.

Command Line uses the excelent click package, so you can have a detailed help for each command, for instance::

    $ fabmanager create-app --help
    Usage: fabmanager create-app [OPTIONS]

    Create a Skeleton application

    Options:
    --name TEXT                     Your application name, directory will have
                                  this name
    --engine [SQLAlchemy|MongoEngine]
                                  Write your engine type
    --help                          Show this message and exit.


**create-app** - Create new Applications
----------------------------------------

To create a ready to dev skeleton application, you can use this command for SQLAlchemy engine and MongoEngine (MongoDB).
This commands needs an internet connection to **github.com**, because it will download a zip version of the skeleton repos.

**create-admin** - Create an admin user
---------------------------------------

Use this to create your first **Admin** user, or additional ones. issue on the root directory of your application
if your initializing **AppBuilder** on *app/__init__.py* and have named it appbuilder. If not use the **--app** and
**--appbuilder** switches to identify how to import **appbuilder**.

{'fraction_non_alphanumeric': 0.11630695443645084, 'fraction_numerical': 0.001199040767386091, 'mean_word_length': 2.655953250547845, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1414048', 'n_tokens_mistral': 1277, 'n_tokens_neox': 1193, 'n_words': 601}